ソースを参照

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
Abhishek Ambure 4 年 前
コミット
2813eaa802

+ 2 - 0
components/mlme/dispatcher/inc/wlan_mlme_public_struct.h

@@ -1938,6 +1938,7 @@ struct wlan_mlme_wmm_params {
  * @oce_wan_weightage: OCE WAN metrics weightage
  * @oce_ap_tx_pwr_weightage: weightage based on ap tx power
  * @oce_subnet_id_weightage: weightage based on subnet id
+ * @sae_pk_ap_weightage:SAE-PK AP weightage
  */
 struct  wlan_mlme_weight_config {
 	uint8_t rssi_weightage;
@@ -1953,6 +1954,7 @@ struct  wlan_mlme_weight_config {
 	uint8_t oce_wan_weightage;
 	uint8_t oce_ap_tx_pwr_weightage;
 	uint8_t oce_subnet_id_weightage;
+	uint8_t sae_pk_ap_weightage;
 };
 
 /**

+ 2 - 0
components/umac/mlme/connection_mgr/dispatcher/inc/wlan_cm_roam_public_struct.h

@@ -215,6 +215,7 @@ struct ap_profile {
  * @oce_wan_weightage OCE WAN metrics weightage out of total score in %.
  * @oce_ap_tx_pwr_weightage: OCE AP TX power 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.
  *                 BITS 0-7   :- It contains scoring percentage of 20MHz   BW
  *                 BITS 8-15  :- It contains scoring percentage of 40MHz   BW
@@ -259,6 +260,7 @@ struct scoring_param {
 	int32_t oce_wan_weightage;
 	uint32_t oce_ap_tx_pwr_weightage;
 	uint32_t oce_subnet_id_weightage;
+	uint32_t sae_pk_ap_weightage;
 	uint32_t bw_index_score;
 	uint32_t band_index_score;
 	uint32_t nss_index_score;

+ 5 - 2
components/wmi/src/wmi_unified_roam_tlv.c

@@ -3012,8 +3012,10 @@ send_roam_scan_offload_ap_profile_cmd_tlv(wmi_unified_t wmi_handle,
 				ap_profile->param.oce_subnet_id_weightage;
 	score_param->vendor_roam_score_algorithm_id =
 			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->ht_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_ap_tx_pwr_weightage_pcnt,
 		 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->band_scoring.score_pcnt =

+ 2 - 0
core/sme/src/csr/csr_api_roam.c

@@ -18713,6 +18713,8 @@ static void csr_update_score_params(struct mac_context *mac_ctx,
 		weight_config->oce_ap_tx_pwr_weightage;
 	req_score_params->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 =
 		score_config->bandwidth_weight_per_index;