wifi: Notify MLO Link status updates
Add a callback to notify MLO link status changes due to - Multi-Link Reconfiguration (AP Removal) - TID to link mapping updates Bug: 247119055 Bug: 248289182 Test: mm -j Change-Id: I1010cfb3ef608466a46d54e1ef2ae4e665504210
This commit is contained in:
parent
f0bd8c223f
commit
9cb9424e1f
3 changed files with 49 additions and 0 deletions
|
@ -64,4 +64,10 @@ interface ISupplicantStaIfaceCallback {
|
||||||
oneway void onQosPolicyReset();
|
oneway void onQosPolicyReset();
|
||||||
oneway void onQosPolicyRequest(in int qosPolicyRequestId, in android.hardware.wifi.supplicant.QosPolicyData[] qosPolicyData);
|
oneway void onQosPolicyRequest(in int qosPolicyRequestId, in android.hardware.wifi.supplicant.QosPolicyData[] qosPolicyData);
|
||||||
oneway void onStateChangedWithAkm(in android.hardware.wifi.supplicant.StaIfaceCallbackState newState, in byte[] bssid, in int id, in byte[] ssid, in boolean filsHlpSent, in android.hardware.wifi.supplicant.KeyMgmtMask keyMgmtMask);
|
oneway void onStateChangedWithAkm(in android.hardware.wifi.supplicant.StaIfaceCallbackState newState, in byte[] bssid, in int id, in byte[] ssid, in boolean filsHlpSent, in android.hardware.wifi.supplicant.KeyMgmtMask keyMgmtMask);
|
||||||
|
oneway void onMloLinksInfoChanged(in android.hardware.wifi.supplicant.ISupplicantStaIfaceCallback.MloLinkInfoChangeReason reason);
|
||||||
|
@Backing(type="int") @VintfStability
|
||||||
|
enum MloLinkInfoChangeReason {
|
||||||
|
TID_TO_LINK_MAP = 0,
|
||||||
|
MULTI_LINK_RECONFIG_AP_REMOVAL = 1,
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -329,4 +329,42 @@ oneway interface ISupplicantStaIfaceCallback {
|
||||||
*/
|
*/
|
||||||
void onStateChangedWithAkm(in StaIfaceCallbackState newState, in byte[] bssid, in int id,
|
void onStateChangedWithAkm(in StaIfaceCallbackState newState, in byte[] bssid, in int id,
|
||||||
in byte[] ssid, in boolean filsHlpSent, in KeyMgmtMask keyMgmtMask);
|
in byte[] ssid, in boolean filsHlpSent, in KeyMgmtMask keyMgmtMask);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Reason codes to be used with the callback |ISupplicantStaIfaceCallback.onMloLinksInfoChanged|
|
||||||
|
*/
|
||||||
|
@VintfStability
|
||||||
|
@Backing(type="int")
|
||||||
|
enum MloLinkInfoChangeReason {
|
||||||
|
/**
|
||||||
|
* TID-to-link mapping has changed. Updated mappings will be set in
|
||||||
|
* |MloLinksInfo.MloLink[].tids_downlink_map| and
|
||||||
|
* |MloLinksInfo.MloLink[].tids_uplink_map| for each of the links.
|
||||||
|
*
|
||||||
|
* STA MLD will operate in default mode if a TID-to-link mapping is not
|
||||||
|
* indicated by the callback. In default mode, all TIDs are mapped to
|
||||||
|
* all setup links in downlink and uplink directions.
|
||||||
|
*/
|
||||||
|
TID_TO_LINK_MAP = 0,
|
||||||
|
/**
|
||||||
|
* Multi-link reconfiguration - AP removal as described in
|
||||||
|
* IEEE 802.11be spec, section 35.3.6. This is a mandatory feature for
|
||||||
|
* station.
|
||||||
|
*
|
||||||
|
* Removed link will not be present in |ISupplicantStaIface.getConnectionMloLinksInfo|.
|
||||||
|
*/
|
||||||
|
MULTI_LINK_RECONFIG_AP_REMOVAL = 1,
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Used to indicate that Multi Link status has changed due to the provided
|
||||||
|
* reason. Upadted MLO link status can be fetched using
|
||||||
|
* |ISupplicantStaIface.getConnectionMloLinksInfo|
|
||||||
|
*
|
||||||
|
* |MloLink.linkId| and |MloLink.staLinkMacAddress| are not expected
|
||||||
|
* to change.
|
||||||
|
*
|
||||||
|
* @param reason Reason as given in MloLinkInfoChangeReason.
|
||||||
|
*/
|
||||||
|
void onMloLinksInfoChanged(in MloLinkInfoChangeReason reason);
|
||||||
}
|
}
|
||||||
|
|
|
@ -213,6 +213,11 @@ class SupplicantStaIfaceCallback : public BnSupplicantStaIfaceCallback {
|
||||||
::aidl::android::hardware::wifi::supplicant::KeyMgmtMask /* keyMgmtMask*/) override {
|
::aidl::android::hardware::wifi::supplicant::KeyMgmtMask /* keyMgmtMask*/) override {
|
||||||
return ndk::ScopedAStatus::ok();
|
return ndk::ScopedAStatus::ok();
|
||||||
}
|
}
|
||||||
|
::ndk::ScopedAStatus onMloLinksInfoChanged(
|
||||||
|
::aidl::android::hardware::wifi::supplicant::ISupplicantStaIfaceCallback::
|
||||||
|
MloLinkInfoChangeReason /* reason */) override {
|
||||||
|
return ndk::ScopedAStatus::ok();
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
class SupplicantStaIfaceAidlTest : public testing::TestWithParam<std::string> {
|
class SupplicantStaIfaceAidlTest : public testing::TestWithParam<std::string> {
|
||||||
|
|
Loading…
Reference in a new issue