[rdk-b][mt7986][wifi-hal][Add ApSecurityMFPConfig]
[Description]
Add ApSecurityMFPConfig
[Release-log]
N/A
diff --git a/src/wifi/wifi_hal.c b/src/wifi/wifi_hal.c
index 802370a..b49c48e 100644
--- a/src/wifi/wifi_hal.c
+++ b/src/wifi/wifi_hal.c
@@ -6263,10 +6263,56 @@
//To-do
INT wifi_getApSecurityMFPConfig(INT apIndex, CHAR *output_string)
{
+ char output[16]={'\0'};
+ char config_file[MAX_BUF_SIZE] = {0};
+
+ if (!output_string)
+ return RETURN_ERR;
+
+ sprintf(config_file, "%s%d.conf", CONFIG_PREFIX, apIndex);
+ wifi_hostapdRead(config_file, "ieee80211w", output, sizeof(output));
+
+ if (strlen(output) == 0)
+ snprintf(output_string, 64, "Disabled");
+ else if (strncmp(output, "0", 1) == 0)
+ snprintf(output_string, 64, "Disabled");
+ else if (strncmp(output, "1", 1) == 0)
+ snprintf(output_string, 64, "Optional");
+ else if (strncmp(output, "2", 1) == 0)
+ snprintf(output_string, 64, "Required");
+ else {
+ wifi_dbg_printf("\n[%s]: Unexpected ieee80211w=%s", __func__, output);
+ return RETURN_ERR;
+ }
+
+ wifi_dbg_printf("\n[%s]: ieee80211w is : %s", __func__, output);
return RETURN_OK;
}
INT wifi_setApSecurityMFPConfig(INT apIndex, CHAR *MfpConfig)
{
+ char str[MAX_BUF_SIZE]={'\0'};
+ char cmd[MAX_CMD_SIZE]={'\0'};
+ struct params params;
+ char config_file[MAX_BUF_SIZE] = {0};
+
+ WIFI_ENTRY_EXIT_DEBUG("Inside %s:%d\n",__func__, __LINE__);
+ if(NULL == MfpConfig || strlen(MfpConfig) >= 32 )
+ return RETURN_ERR;
+
+ params.name = "ieee80211w";
+ if (strncmp(MfpConfig, "Disabled", strlen("Disabled")) == 0)
+ params.value = "0";
+ else if (strncmp(MfpConfig, "Optional", strlen("Optional")) == 0)
+ params.value = "1";
+ else if (strncmp(MfpConfig, "Required", strlen("Required")) == 0)
+ params.value = "2";
+ else{
+ wifi_dbg_printf("%s: invalid MfpConfig. Input has to be Disabled, Optional or Required \n", __func__);
+ return RETURN_ERR;
+ }
+ sprintf(config_file, "%s%d.conf", CONFIG_PREFIX, apIndex);
+ wifi_hostapdWrite(config_file, ¶ms, 1);
+ WIFI_ENTRY_EXIT_DEBUG("Exiting %s:%d\n", __func__, __LINE__);
return RETURN_OK;
}
INT wifi_getRadioAutoChannelEnable(INT radioIndex, BOOL *output_bool)