diff --git a/fw/wmi_services.h b/fw/wmi_services.h index df0e01de1666..71ede0c766bb 100644 --- a/fw/wmi_services.h +++ b/fw/wmi_services.h @@ -730,6 +730,12 @@ typedef enum { WMI_SERVICE_CFP_SUPPORT = 469, /* FW supports control frame protection */ WMI_SERVICE_CFP_PADDING_SUPPORT = 470, /* FW supports control frame protection padding */ + /* Service caps related to 11BI */ + WMI_SERVICE_11BI_EPPKE_SUPPORT = 471, + WMI_SERVICE_11BI_1X_OVER_AUTH_SUPPORT = 472, + WMI_SERVICE_11BI_PMKID_PRIVACY_SUPPORT = 473, + WMI_SERVICE_11BI_DS_MAC_ADDR_SUPPORT = 474, + WMI_MAX_EXT2_SERVICE diff --git a/fw/wmi_unified.h b/fw/wmi_unified.h index 89fef580f848..2a3ee0937fd2 100644 --- a/fw/wmi_unified.h +++ b/fw/wmi_unified.h @@ -21435,6 +21435,9 @@ typedef struct { #define WMI_PEER_CREATE_GET_HW_PEER_ID_VALID(flags) WMI_GET_BITS(flags,0,1) #define WMI_PEER_CREATE_SET_HW_PEER_ID_VALID(flags) WMI_SET_BITS(flags,0,1,value) +#define WMI_PEER_CREATE_GET_IS_11BI_PEER(flags) WMI_GET_BITS(flags,1,1) +#define WMI_PEER_CREATE_SET_IS_11BI_PEER(flags) WMI_SET_BITS(flags,1,1,value) + typedef struct { A_UINT32 tlv_header; /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_peer_create_cmd_fixed_param */ /** unique id identifying the VDEV, generated by the caller */ @@ -21447,7 +21450,8 @@ typedef struct { union { struct { A_UINT32 hw_peer_id_valid :1, - reserved :31; + is_llbi_peer: 1, + reserved :30; }; A_UINT32 flags; }; @@ -23501,6 +23505,7 @@ enum { WMI_AUTH_WPA3_SAE_SHA384, WMI_AUTH_FT_RSNA_SAE_SHA384, WMI_AUTH_FT_RSNA_PSK_SHA384, + WMI_AUTH_EPPKE, /* For 11BI */ }; typedef enum { @@ -23884,6 +23889,8 @@ typedef struct { * considered for the candidates for which MCC will be formed. */ A_UINT32 mcc_score_factor_pcnt; + /* Scoring weightage for privacy support like 11bi */ + A_UINT32 privacy_weightage_pcnt; } wmi_roam_cnd_scoring_param; typedef struct { @@ -23955,6 +23962,16 @@ typedef struct { * of the currently associated AP. */ A_UINT32 bg_rssi_threshold; + /** + * IEEE value for auth algorithm + * Authentication algorithm number = 3: + * Simultaneous Authentication of Equals (SAE) + * Authentication algorithm number = 8: + * IEEE 802.1X authentication + * Authentication algorithm number = 9: + * EPPKE authentication + */ + A_UINT32 auth_algo; } wmi_ap_profile; typedef struct { @@ -31016,6 +31033,16 @@ typedef struct { A_UINT32 mac_tsf_id; /** ignore mac_tsf_id unless mac_tsf_id_valid is set */ A_UINT32 mac_tsf_id_valid; + /** + * IEEE value for auth algorithm + * Authentication algorithm number = 3: + * Simultaneous Authentication of Equals (SAE) + * Authentication algorithm number = 8: + * IEEE 802.1X authentication + * Authentication algorithm number = 9: + * EPPKE authentication + */ + A_UINT32 auth_algo; /** * TLV (tag length value) parameters follows roam_synch_event * The TLV's are: @@ -43109,6 +43136,24 @@ typedef struct { wmi_mac_addr transmit_addr; /* AKM suite type (as defined in the IEEE 802.11 spec) */ A_UINT32 akm_suite_type; + /** + * IEEE value for auth algorithm + * Authentication algorithm number = 3: + * Simultaneous Authentication of Equals (SAE) + * Authentication algorithm number = 8: + * IEEE 802.1X authentication + * Authentication algorithm number = 9: + * EPPKE authentication + */ + A_UINT32 auth_algo; + + /* IEEE value for below ciphers */ + /** unicast cipher set */ + A_UINT32 pairwise_cipher; + /** mcast/group cipher set */ + A_UINT32 group_cipher; + /** mcast/group management frames cipher set */ + A_UINT32 group_mgmt_cipher; } wmi_roam_preauth_start_event_fixed_param; typedef struct { diff --git a/fw/wmi_version.h b/fw/wmi_version.h index 66298d626a4f..875db7d28895 100644 --- a/fw/wmi_version.h +++ b/fw/wmi_version.h @@ -37,7 +37,7 @@ #define __WMI_VER_MINOR_ 0 /** WMI revision number has to be incremented when there is a * change that may or may not break compatibility. */ -#define __WMI_REVISION_ 1660 +#define __WMI_REVISION_ 1661 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work