qcacld-3.0: Add support to handle WMI_ROAM_SYNCH_KEY_EVENTID
Register event handler for WMI_ROAM_SYNCH_KEY_EVENTID. Store the roamed AP keys for all links in crypto module Add CM function pointers to iterate and store the parsed keys for each link. Change-Id: Icee5eeea23724a7d69cf895023e75e856d88a685 CRs-Fixed: 3577927
此提交包含在:

提交者
Rahul Choudhary

父節點
6051d5be28
當前提交
46a19eb3f7
@@ -468,6 +468,25 @@ err:
|
||||
return status;
|
||||
}
|
||||
|
||||
#if defined(WLAN_FEATURE_11BE_MLO) && defined(WLAN_FEATURE_ROAM_OFFLOAD)
|
||||
QDF_STATUS cm_roam_sync_key_event_handler(struct wlan_objmgr_psoc *psoc,
|
||||
struct wlan_crypto_key_entry *keys,
|
||||
uint8_t num_keys)
|
||||
{
|
||||
QDF_STATUS status = QDF_STATUS_SUCCESS;
|
||||
uint8_t i;
|
||||
|
||||
for (i = 0; i < num_keys; i++) {
|
||||
status = wlan_crypto_add_key_entry(psoc, &keys[i]);
|
||||
if (QDF_IS_STATUS_ERROR(status))
|
||||
mlme_err("Failed to add key entry for link:%d",
|
||||
keys[i].link_id);
|
||||
}
|
||||
|
||||
return status;
|
||||
}
|
||||
#endif
|
||||
|
||||
QDF_STATUS cm_roam_sync_event_handler_cb(struct wlan_objmgr_vdev *vdev,
|
||||
uint8_t *event,
|
||||
uint32_t len)
|
||||
|
@@ -317,7 +317,7 @@ wlan_cm_get_rso_user_config_fl(struct wlan_objmgr_vdev *vdev,
|
||||
wlan_cm_get_rso_config_fl(vdev, __func__, __LINE__)
|
||||
|
||||
/**
|
||||
* wlan_cm_get_rso_config - get per vdev RSO userspace config
|
||||
* wlan_cm_get_rso_user_config - get per vdev RSO userspace config
|
||||
* @vdev: vdev pointer
|
||||
*
|
||||
* Return: rso user space config pointer
|
||||
@@ -1608,6 +1608,29 @@ wlan_cm_add_frame_to_scan_db(struct wlan_objmgr_psoc *psoc,
|
||||
}
|
||||
#endif /* WLAN_FEATURE_ROAM_OFFLOAD */
|
||||
|
||||
#if defined(WLAN_FEATURE_11BE_MLO) && defined(WLAN_FEATURE_ROAM_OFFLOAD)
|
||||
/**
|
||||
* cm_roam_sync_key_event_handler() - Handle roam sync key event and
|
||||
* store the keys in crypto module
|
||||
* @psoc: Pointer to psoc object
|
||||
* @keys: Pointer to the keys
|
||||
* @num_keys: Number of links for which keys entries are available
|
||||
*
|
||||
* Return: QDF_STATUS
|
||||
*/
|
||||
QDF_STATUS cm_roam_sync_key_event_handler(struct wlan_objmgr_psoc *psoc,
|
||||
struct wlan_crypto_key_entry *keys,
|
||||
uint8_t num_keys);
|
||||
#else
|
||||
static inline
|
||||
QDF_STATUS cm_roam_sync_key_event_handler(struct wlan_objmgr_psoc *psoc,
|
||||
struct wlan_crypto_key_entry *keys,
|
||||
uint8_t num_keys)
|
||||
{
|
||||
return QDF_STATUS_E_NOSUPPORT;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef WLAN_FEATURE_FIPS
|
||||
/**
|
||||
* cm_roam_pmkid_req_ind() - Function to handle
|
||||
|
@@ -2878,6 +2878,7 @@ struct roam_scan_candidate_frame {
|
||||
* roaming related commands
|
||||
* @roam_sync_event: RX ops function pointer for roam sync event
|
||||
* @roam_sync_frame_event: Rx ops function pointer for roam sync frame event
|
||||
* @roam_sync_key_event: Rx ops function pointer for roam sych key event
|
||||
* @roam_event_rx: Rx ops function pointer for roam info event
|
||||
* @btm_denylist_event: Rx ops function pointer for btm denylist event
|
||||
* @vdev_disconnect_event: Rx ops function pointer for vdev disconnect event
|
||||
@@ -2895,6 +2896,9 @@ struct wlan_cm_roam_rx_ops {
|
||||
struct roam_offload_synch_ind *sync_ind);
|
||||
QDF_STATUS (*roam_sync_frame_event)(struct wlan_objmgr_psoc *psoc,
|
||||
struct roam_synch_frame_ind *frm);
|
||||
QDF_STATUS (*roam_sync_key_event)(struct wlan_objmgr_psoc *psoc,
|
||||
struct wlan_crypto_key_entry *keys,
|
||||
uint8_t num_keys);
|
||||
QDF_STATUS (*roam_event_rx)(struct roam_offload_roam_event *roam_event);
|
||||
QDF_STATUS (*btm_denylist_event)(struct wlan_objmgr_psoc *psoc,
|
||||
struct roam_denylist_event *list);
|
||||
|
新增問題並參考
封鎖使用者