qcacld-3.0: Add support for sae roaming with single PMK
Requirement is to allow station to just keeps only one PMK1 and PMKID1 which gets derived while first connection and re-use it for roaming to other AP which has some specific VSIE. To support this feature, STA should: 1. Set new flag in 11i params during RSO start/update when initial connection is completed based on the VSIE in AP beacon/probe response frame. This flag will allow fw to roam to AP(s) which has VSIE with single PMK. 2. STA should dynamically enable this feature if below vendor specific IE on AP’s Beacon or Probe Response at the first connection: Category Data Type 0xDD Length 0x05 OUI 0x00 40 96 Type 0x03 Data Don’t care (EX, 0x05) Maintain a separate pmk information structure to support sae roaming using single pmk. Change-Id: I0aac7659cecd4d8aaff86c9715e512cf46f22615 CRs-Fixed: 2616035
This commit is contained in:
@@ -2302,6 +2302,41 @@ char *mlme_get_roam_trigger_str(uint32_t roam_scan_trigger);
|
||||
*/
|
||||
void mlme_get_converted_timestamp(uint32_t timestamp, char *time);
|
||||
|
||||
#if defined(WLAN_SAE_SINGLE_PMK) && defined(WLAN_FEATURE_ROAM_OFFLOAD)
|
||||
/**
|
||||
* wlan_mlme_set_sae_single_pmk_bss_cap - API to set WPA3 single pmk AP IE
|
||||
* @psoc: Pointer to psoc object
|
||||
* @vdev_id: vdev id
|
||||
* @val: value to be set
|
||||
*
|
||||
* Return : None
|
||||
*/
|
||||
void wlan_mlme_set_sae_single_pmk_bss_cap(struct wlan_objmgr_psoc *psoc,
|
||||
uint8_t vdev_id, bool val);
|
||||
|
||||
/**
|
||||
* wlan_mlme_update_sae_single_pmk - API to update mlme_pmkid_info
|
||||
* @vdev: vdev object
|
||||
* @sae_single_pmk: pointer to sae_single_pmk_info struct
|
||||
*
|
||||
* Return : None
|
||||
*/
|
||||
void
|
||||
wlan_mlme_update_sae_single_pmk(struct wlan_objmgr_vdev *vdev,
|
||||
struct mlme_pmk_info *sae_single_pmk);
|
||||
#else
|
||||
static inline void
|
||||
wlan_mlme_set_sae_single_pmk_bss_cap(struct wlan_objmgr_psoc *psoc,
|
||||
uint8_t vdev_id, bool val)
|
||||
{
|
||||
}
|
||||
|
||||
static inline void
|
||||
wlan_mlme_update_sae_single_pmk(struct wlan_objmgr_vdev *vdev,
|
||||
struct mlme_pmk_info *sae_single_pmk)
|
||||
{
|
||||
}
|
||||
#endif
|
||||
/**
|
||||
* mlme_get_roam_fail_reason_str() - Get fail string from enum
|
||||
* WMI_ROAM_FAIL_REASON_ID
|
||||
|
Reference in New Issue
Block a user