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 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 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,
|
||||
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 {
|
||||
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> {
|
||||
|
|
Loading…
Reference in a new issue