qcacld-3.0: Add support for SAE-PK roam scoring
SAE Public Key (SAE-PK) authentication is an extension of SAE. Host adds support for SAE-PK APs roam score which host uses to select AP for initial connection and roaming. Change-Id: Id8c420950bb8c1d11db5a26aa860e280bcb672d1 CRs-Fixed: 2769372
This commit is contained in:

committed by
snandini

parent
387298825a
commit
2813eaa802
@@ -1938,6 +1938,7 @@ struct wlan_mlme_wmm_params {
|
|||||||
* @oce_wan_weightage: OCE WAN metrics weightage
|
* @oce_wan_weightage: OCE WAN metrics weightage
|
||||||
* @oce_ap_tx_pwr_weightage: weightage based on ap tx power
|
* @oce_ap_tx_pwr_weightage: weightage based on ap tx power
|
||||||
* @oce_subnet_id_weightage: weightage based on subnet id
|
* @oce_subnet_id_weightage: weightage based on subnet id
|
||||||
|
* @sae_pk_ap_weightage:SAE-PK AP weightage
|
||||||
*/
|
*/
|
||||||
struct wlan_mlme_weight_config {
|
struct wlan_mlme_weight_config {
|
||||||
uint8_t rssi_weightage;
|
uint8_t rssi_weightage;
|
||||||
@@ -1953,6 +1954,7 @@ struct wlan_mlme_weight_config {
|
|||||||
uint8_t oce_wan_weightage;
|
uint8_t oce_wan_weightage;
|
||||||
uint8_t oce_ap_tx_pwr_weightage;
|
uint8_t oce_ap_tx_pwr_weightage;
|
||||||
uint8_t oce_subnet_id_weightage;
|
uint8_t oce_subnet_id_weightage;
|
||||||
|
uint8_t sae_pk_ap_weightage;
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -215,6 +215,7 @@ struct ap_profile {
|
|||||||
* @oce_wan_weightage OCE WAN metrics weightage out of total score in %.
|
* @oce_wan_weightage OCE WAN metrics weightage out of total score in %.
|
||||||
* @oce_ap_tx_pwr_weightage: OCE AP TX power score in %
|
* @oce_ap_tx_pwr_weightage: OCE AP TX power score in %
|
||||||
* @oce_subnet_id_weightage: OCE subnet id score in %
|
* @oce_subnet_id_weightage: OCE subnet id score in %
|
||||||
|
* @sae_pk_ap_weightage: SAE-PK AP score in %
|
||||||
* @bw_index_score: channel BW scoring percentage information.
|
* @bw_index_score: channel BW scoring percentage information.
|
||||||
* BITS 0-7 :- It contains scoring percentage of 20MHz BW
|
* BITS 0-7 :- It contains scoring percentage of 20MHz BW
|
||||||
* BITS 8-15 :- It contains scoring percentage of 40MHz BW
|
* BITS 8-15 :- It contains scoring percentage of 40MHz BW
|
||||||
@@ -259,6 +260,7 @@ struct scoring_param {
|
|||||||
int32_t oce_wan_weightage;
|
int32_t oce_wan_weightage;
|
||||||
uint32_t oce_ap_tx_pwr_weightage;
|
uint32_t oce_ap_tx_pwr_weightage;
|
||||||
uint32_t oce_subnet_id_weightage;
|
uint32_t oce_subnet_id_weightage;
|
||||||
|
uint32_t sae_pk_ap_weightage;
|
||||||
uint32_t bw_index_score;
|
uint32_t bw_index_score;
|
||||||
uint32_t band_index_score;
|
uint32_t band_index_score;
|
||||||
uint32_t nss_index_score;
|
uint32_t nss_index_score;
|
||||||
|
@@ -3012,8 +3012,10 @@ send_roam_scan_offload_ap_profile_cmd_tlv(wmi_unified_t wmi_handle,
|
|||||||
ap_profile->param.oce_subnet_id_weightage;
|
ap_profile->param.oce_subnet_id_weightage;
|
||||||
score_param->vendor_roam_score_algorithm_id =
|
score_param->vendor_roam_score_algorithm_id =
|
||||||
ap_profile->param.vendor_roam_score_algorithm;
|
ap_profile->param.vendor_roam_score_algorithm;
|
||||||
|
score_param->sae_pk_ap_weightage_pcnt =
|
||||||
|
ap_profile->param.sae_pk_ap_weightage;
|
||||||
|
|
||||||
WMI_LOGD("Score params weightage: disable_bitmap %x rssi %d ht %d vht %d he %d BW %d band %d NSS %d ESP %d BF %d PCL %d OCE WAN %d APTX %d roam score algo %d subnet id %d",
|
WMI_LOGD("Score params weightage: disable_bitmap %x rssi %d ht %d vht %d he %d BW %d band %d NSS %d ESP %d BF %d PCL %d OCE WAN %d APTX %d roam score algo %d subnet id %d sae-pk %d",
|
||||||
score_param->disable_bitmap, score_param->rssi_weightage_pcnt,
|
score_param->disable_bitmap, score_param->rssi_weightage_pcnt,
|
||||||
score_param->ht_weightage_pcnt,
|
score_param->ht_weightage_pcnt,
|
||||||
score_param->vht_weightage_pcnt,
|
score_param->vht_weightage_pcnt,
|
||||||
@@ -3026,7 +3028,8 @@ send_roam_scan_offload_ap_profile_cmd_tlv(wmi_unified_t wmi_handle,
|
|||||||
score_param->oce_wan_weightage_pcnt,
|
score_param->oce_wan_weightage_pcnt,
|
||||||
score_param->oce_ap_tx_pwr_weightage_pcnt,
|
score_param->oce_ap_tx_pwr_weightage_pcnt,
|
||||||
score_param->vendor_roam_score_algorithm_id,
|
score_param->vendor_roam_score_algorithm_id,
|
||||||
score_param->oce_ap_subnet_id_weightage_pcnt);
|
score_param->oce_ap_subnet_id_weightage_pcnt,
|
||||||
|
score_param->sae_pk_ap_weightage_pcnt);
|
||||||
|
|
||||||
score_param->bw_scoring.score_pcnt = ap_profile->param.bw_index_score;
|
score_param->bw_scoring.score_pcnt = ap_profile->param.bw_index_score;
|
||||||
score_param->band_scoring.score_pcnt =
|
score_param->band_scoring.score_pcnt =
|
||||||
|
@@ -18713,6 +18713,8 @@ static void csr_update_score_params(struct mac_context *mac_ctx,
|
|||||||
weight_config->oce_ap_tx_pwr_weightage;
|
weight_config->oce_ap_tx_pwr_weightage;
|
||||||
req_score_params->oce_subnet_id_weightage =
|
req_score_params->oce_subnet_id_weightage =
|
||||||
weight_config->oce_subnet_id_weightage;
|
weight_config->oce_subnet_id_weightage;
|
||||||
|
req_score_params->sae_pk_ap_weightage =
|
||||||
|
weight_config->sae_pk_ap_weightage;
|
||||||
|
|
||||||
req_score_params->bw_index_score =
|
req_score_params->bw_index_score =
|
||||||
score_config->bandwidth_weight_per_index;
|
score_config->bandwidth_weight_per_index;
|
||||||
|
Reference in New Issue
Block a user