wifi: Add required API to connect to FILS enabled APs
Add support to configure FILS key_mgmt types while adding
configurations for FILS enabled APs. FILS defines two different
AKM suites, one based on SHA256 and the other based on SHA384.
Also add API to enable ERP keys generation while connecting FILS
enabled APs. Once generated, the ERP keys can be used to make faster
connections to the FILS enabled APs which are within the same realm
as that of the AP with which the ERP keys are generated.
FILS also provides provision to exchange Higher Layer Packets(HLPs)
along with association request and association response frames. Add
API to configure HLP packets that can be sent with Association
request while connecting to FILS enabled APs. Also add API to flush the
HLP packets that were already configured during previous connection
requests.
Bug: 143259898
Test: WiFi basic sanity test
Test: VTS test
Change-Id: If5cb0c112d46fa8695b4517f42cb7c6706970751
diff --git a/wifi/supplicant/1.3/ISupplicantStaIfaceCallback.hal b/wifi/supplicant/1.3/ISupplicantStaIfaceCallback.hal
index 0be43d8..6828dcd 100644
--- a/wifi/supplicant/1.3/ISupplicantStaIfaceCallback.hal
+++ b/wifi/supplicant/1.3/ISupplicantStaIfaceCallback.hal
@@ -17,6 +17,10 @@
package [email protected];
import @1.2::ISupplicantStaIfaceCallback;
+import @1.0::ISupplicantStaIfaceCallback.State;
+import @1.0::Bssid;
+import @1.0::SupplicantNetworkId;
+import @1.0::Ssid;
/**
* Callback Interface exposed by the supplicant service
@@ -190,4 +194,26 @@
* Indicates an EAP authentication failure.
*/
oneway onEapFailure_1_3(uint32_t errorCode);
+
+ /**
+ * Used to indicate a state change event on this particular iface. If this
+ * event is triggered by a particular network, the |SupplicantNetworkId|,
+ * |ssid|, |bssid| parameters must indicate the parameters of the network/AP
+ * which caused this state transition.
+ *
+ * @param newState New State of the interface. This must be one of the |State|
+ * values above.
+ * @param bssid BSSID of the corresponding AP which caused this state
+ * change event. This must be zero'ed if this event is not
+ * specific to a particular network.
+ * @param id ID of the corresponding network which caused this
+ * state change event. This must be invalid (UINT32_MAX) if this
+ * event is not specific to a particular network.
+ * @param ssid SSID of the corresponding network which caused this state
+ * change event. This must be empty if this event is not specific
+ * to a particular network.
+ * @param filsHlpSent If FILS HLP IEs were included in this association.
+ */
+ oneway onStateChanged_1_3(State newState, Bssid bssid, SupplicantNetworkId id, Ssid ssid,
+ bool filsHlpSent);
};