33 #ifdef USE_WIFI_PROFILE
40 #include "wifiSrvMgrIarmIf.h"
44 #define POST_ASSN_MAX_TIME_FRAME 36000
45 #define MAX_POST_ASSN_BACKOFF 3600
47 static int get_Device_WiFi_Client_Roaming_Configs();
49 GHashTable* hostIf_WiFi_Xrdk_ClientRoaming::ifHash = NULL;
50 time_t radioFirstExTime = 0;
51 bool isParamSet =
false;
53 hostIf_WiFi_Xrdk_ClientRoaming* hostIf_WiFi_Xrdk_ClientRoaming::getInstance(
int dev_id)
55 hostIf_WiFi_Xrdk_ClientRoaming* pRet = NULL;
59 pRet = (hostIf_WiFi_Xrdk_ClientRoaming *)g_hash_table_lookup(ifHash,(gpointer) dev_id);
63 ifHash = g_hash_table_new(NULL,NULL);
69 pRet =
new hostIf_WiFi_Xrdk_ClientRoaming(dev_id);
72 RDK_LOG(RDK_LOG_WARN,LOG_TR69HOSTIF,
"Caught exception, not able create hostIf_WiFi_Xrdk_ClientRoaming instance..\n");
74 g_hash_table_insert(ifHash, (gpointer)dev_id, pRet);
80 void hostIf_WiFi_Xrdk_ClientRoaming::closeInstance(hostIf_WiFi_Xrdk_ClientRoaming *pDev)
84 g_hash_table_remove(ifHash, (gconstpointer)pDev->dev_id);
89 void hostIf_WiFi_Xrdk_ClientRoaming::closeAllInstances()
93 GList* tmp_list = g_hash_table_get_values (ifHash);
97 hostIf_WiFi_Xrdk_ClientRoaming* pDev = (hostIf_WiFi_Xrdk_ClientRoaming *)tmp_list->data;
98 tmp_list = tmp_list->next;
105 hostIf_WiFi_Xrdk_ClientRoaming::hostIf_WiFi_Xrdk_ClientRoaming(
int dev_id):
108 preassnBestThreshold(-67),
110 postAssnLevelDeltaConnected(12),
111 postAssnLevelDeltaDisconnected(8),
112 postAssnSelfSteerThreshold(-75),
113 postAssnSelfSteerTimeframe(60),
115 postAssnAPcontrolThresholdLevel(-75),
116 postAssnAPcontrolTimeframe(60),
117 postAssnBackOffTime(2),
118 postAssnSelfSteerOverrideEnable(false),
119 roaming80211kvrEnable(false),
120 roamingConfigEnable(false),
121 preassnProbeRetryCnt(0),
122 postAssnSelfSteerBeaconsMissedTime(0)
127 static int get_Device_WiFi_Client_Roaming_Configs()
129 WiFi_RoamingCtrl_t param;
130 IARM_Result_t retVal = IARM_RESULT_SUCCESS;
134 memset(¶m,0,
sizeof(param));
135 hostIf_WiFi_Xrdk_ClientRoaming *pDev = hostIf_WiFi_Xrdk_ClientRoaming::getInstance(dev_id);
138 retVal =
IARM_Bus_Call(IARM_BUS_NM_SRV_MGR_NAME, IARM_BUS_WIFI_MGR_API_getRoamingCtrls, (
void *)(¶m),
sizeof(param));
139 if (IARM_RESULT_SUCCESS != retVal)
141 RDK_LOG(RDK_LOG_ERROR,LOG_TR69HOSTIF,
"[%s:%s] IARM BUS CALL failed with : %d.\n", __FILE__, __FUNCTION__, retVal);
142 retStatus = param.status;
144 pDev->roamingEnable = param.roamingEnable;
145 pDev->preassnBestThreshold = param.preassnBestThreshold;
146 pDev->preassnBestDelta = param.preassnBestDelta;
147 pDev->postAssnLevelDeltaConnected = param.postAssnLevelDeltaConnected;
148 pDev->postAssnLevelDeltaDisconnected = param.postAssnLevelDeltaDisconnected;
149 pDev->postAssnSelfSteerThreshold = param.postAssnSelfSteerThreshold;
150 pDev->postAssnSelfSteerTimeframe = param.postAssnSelfSteerTimeframe;
152 pDev->postAssnAPcontrolThresholdLevel = param.postAssnAPcontrolThresholdLevel;
153 pDev->postAssnAPcontrolTimeframe = param.postAssnAPcontrolTimeframe;
154 pDev->postAssnBackOffTime = param.postAssnBackOffTime;
155 pDev->postAssnSelfSteerOverrideEnable = param.selfSteerOverride;
156 pDev->roaming80211kvrEnable = param.roaming80211kvrEnable;
161 RDK_LOG(RDK_LOG_ERROR,LOG_TR69HOSTIF,
"[%s:%s]Error! Unable to connect to wifi instance\n", __FILE__, __FUNCTION__);
162 retStatus = param.status;
167 static int set_Device_WiFi_Client_Roaming_Configs(WiFi_RoamingCtrl_t *param)
171 IARM_Result_t retVal = IARM_RESULT_SUCCESS;
173 hostIf_WiFi_Xrdk_ClientRoaming *pDev = hostIf_WiFi_Xrdk_ClientRoaming::getInstance(dev_id);
176 retVal =
IARM_Bus_Call(IARM_BUS_NM_SRV_MGR_NAME, IARM_BUS_WIFI_MGR_API_setRoamingCtrls, (
void *)(param),
sizeof(WiFi_RoamingCtrl_t));
177 if (IARM_RESULT_SUCCESS != retVal)
179 RDK_LOG(RDK_LOG_ERROR,LOG_TR69HOSTIF,
"[%s:%s] IARM BUS CALL failed with : %d.\n", __FILE__, __FUNCTION__, retVal);
182 pDev->roamingEnable = param->roamingEnable;
183 pDev->preassnBestThreshold = param->preassnBestThreshold;
184 pDev->preassnBestDelta = param->preassnBestDelta;
185 pDev->postAssnLevelDeltaConnected = param->postAssnLevelDeltaConnected;
186 pDev->postAssnLevelDeltaDisconnected = param->postAssnLevelDeltaDisconnected;
187 pDev->postAssnSelfSteerThreshold = param->postAssnSelfSteerThreshold;
188 pDev->postAssnSelfSteerTimeframe = param->postAssnSelfSteerTimeframe;
190 pDev->postAssnAPcontrolThresholdLevel = param->postAssnAPcontrolThresholdLevel;
191 pDev->postAssnAPcontrolTimeframe = param->postAssnAPcontrolTimeframe;
192 pDev->postAssnSelfSteerOverrideEnable = param->selfSteerOverride;
193 pDev->roaming80211kvrEnable = param->roaming80211kvrEnable;
194 pDev->postAssnBackOffTime = param->postAssnBackOffTime;
195 RDK_LOG(RDK_LOG_DEBUG,LOG_TR69HOSTIF,
"[%s:%s] Successfully set Params - [roamingEnable=%d,preassnBestThreshold=%d,preassnBestDelta=%d \n",__FILE__, __FUNCTION__,param->roamingEnable,param->preassnBestThreshold,param->preassnBestDelta);
201 RDK_LOG(RDK_LOG_ERROR,LOG_TR69HOSTIF,
"[%s:%s]Error! Unable to connect to wifi instance\n", __FILE__, __FUNCTION__);
207 RDK_LOG(RDK_LOG_ERROR,LOG_TR69HOSTIF,
"[%s:%s]Error! Invalid Argument in param \n", __FILE__, __FUNCTION__);
213 int hostIf_WiFi_Xrdk_ClientRoaming::checkWifiClientRoamingropsFetch()
216 time_t currExTime = time (NULL);
217 if ((currExTime - radioFirstExTime ) > QUERY_INTERVAL || isParamSet ==
true)
219 ret = get_Device_WiFi_Client_Roaming_Configs();
222 RDK_LOG(RDK_LOG_ERROR,LOG_TR69HOSTIF,
"[%s:%s] Failed to fetch : %d.\n", __FILE__, __FUNCTION__, ret);
224 radioFirstExTime = currExTime;
230 int update_from_local_config(WiFi_RoamingCtrl_t* param, hostIf_WiFi_Xrdk_ClientRoaming* roamInst)
232 param->roamingEnable = roamInst->roamingEnable;
233 param->preassnBestThreshold = roamInst->preassnBestThreshold;
234 param->preassnBestDelta = roamInst->preassnBestDelta;
235 param->selfSteerOverride = roamInst->postAssnSelfSteerOverrideEnable;
236 param->postAssnLevelDeltaConnected = roamInst->postAssnLevelDeltaConnected;
237 param->postAssnLevelDeltaDisconnected = roamInst->postAssnLevelDeltaDisconnected;
238 param->postAssnSelfSteerThreshold = roamInst->postAssnSelfSteerThreshold;
239 param->postAssnSelfSteerTimeframe = roamInst->postAssnSelfSteerTimeframe;
241 param->postAssnAPcontrolThresholdLevel = roamInst->postAssnAPcontrolThresholdLevel;
242 param->postAssnAPcontrolTimeframe = roamInst->postAssnAPcontrolTimeframe;
243 param->roaming80211kvrEnable = roamInst->roaming80211kvrEnable;
244 param->postAssnBackOffTime = roamInst->postAssnBackOffTime;
248 int hostIf_WiFi_Xrdk_ClientRoaming::get_Device_WiFi_X_Rdkcentral_clientRoaming_Enable(
HOSTIF_MsgData_t *stMsgData )
250 RDK_LOG(RDK_LOG_TRACE1,LOG_TR69HOSTIF,
"[%s:%s] Entering..\n", __FUNCTION__, __FILE__);
252 retStatus = checkWifiClientRoamingropsFetch();
253 if(retStatus != OK) {
254 RDK_LOG(RDK_LOG_ERROR,LOG_TR69HOSTIF,
"[%s:%s] Failed to get clientRoaming_Enable \n", __FUNCTION__, __FILE__);
260 stMsgData->
paramtype = hostIf_BooleanType;
262 RDK_LOG(RDK_LOG_TRACE1,LOG_TR69HOSTIF,
"[%s:%s] Exiting..\n", __FUNCTION__, __FILE__);
266 int hostIf_WiFi_Xrdk_ClientRoaming::set_Device_WiFi_X_Rdkcentral_clientRoaming_Enable(
HOSTIF_MsgData_t *stMsgData )
268 RDK_LOG(RDK_LOG_TRACE1,LOG_TR69HOSTIF,
"[%s:%s] Entering..\n", __FUNCTION__, __FILE__);
270 if( radioFirstExTime == 0)
271 checkWifiClientRoamingropsFetch();
273 WiFi_RoamingCtrl_t param;
274 memset(¶m,0,
sizeof(param));
275 update_from_local_config(¶m,
this);
276 param.roamingEnable = get_int(stMsgData->
paramValue);
277 retStatus = set_Device_WiFi_Client_Roaming_Configs(¶m);
279 stMsgData->
faultCode = fcAttemptToSetaNonWritableParameter;
280 else if(retStatus != OK)
281 RDK_LOG(RDK_LOG_ERROR,LOG_TR69HOSTIF,
"[%s:%s] Failed to set clientRoaming_Enable..\n", __FUNCTION__, __FILE__);
283 RDK_LOG(RDK_LOG_TRACE1,LOG_TR69HOSTIF,
"[%s:%s] Exiting..\n", __FUNCTION__, __FILE__);
288 int hostIf_WiFi_Xrdk_ClientRoaming::get_Device_WiFi_X_Rdkcentral_clientRoaming_PreAssn_BestThresholdLevel(
HOSTIF_MsgData_t *stMsgData )
290 RDK_LOG(RDK_LOG_TRACE1,LOG_TR69HOSTIF,
"[%s:%s] Entering..\n", __FUNCTION__, __FILE__);
292 retStatus = checkWifiClientRoamingropsFetch();
293 if(retStatus != OK) {
294 RDK_LOG(RDK_LOG_ERROR,LOG_TR69HOSTIF,
"[%s:%s] Failed to get BestThresholdLevel \n", __FUNCTION__, __FILE__);
300 stMsgData->
paramtype = hostIf_IntegerType;
302 RDK_LOG(RDK_LOG_TRACE1,LOG_TR69HOSTIF,
"[%s:%s] Exiting..\n", __FUNCTION__, __FILE__);
306 int hostIf_WiFi_Xrdk_ClientRoaming::set_Device_WiFi_X_Rdkcentral_clientRoaming_PreAssn_BestThresholdLevel(
HOSTIF_MsgData_t *stMsgData )
308 RDK_LOG(RDK_LOG_TRACE1,LOG_TR69HOSTIF,
"[%s:%s] Entering..\n", __FUNCTION__, __FILE__);
311 if( radioFirstExTime == 0)
312 checkWifiClientRoamingropsFetch();
314 if(threshold > 0 || threshold < -200) {
315 RDK_LOG(RDK_LOG_ERROR,LOG_TR69HOSTIF,
"[%s:%s] Failed to set BestThresholdLevel - Invalid Value\n", __FUNCTION__, __FILE__);
316 stMsgData->
faultCode = fcInvalidParameterValue;
319 WiFi_RoamingCtrl_t param;
320 memset(¶m,0,
sizeof(param));
321 update_from_local_config(¶m,
this);
322 param.preassnBestThreshold = threshold;
323 retStatus = set_Device_WiFi_Client_Roaming_Configs(¶m);
325 RDK_LOG(RDK_LOG_ERROR,LOG_TR69HOSTIF,
"[%s:%s] Failed to set BestThresholdLevel..\n", __FUNCTION__, __FILE__);
327 RDK_LOG(RDK_LOG_TRACE1,LOG_TR69HOSTIF,
"[%s:%s] Exiting..\n", __FUNCTION__, __FILE__);
331 int hostIf_WiFi_Xrdk_ClientRoaming::get_Device_WiFi_X_Rdkcentral_clientRoaming_PreAssn_BestDeltaLevel(
HOSTIF_MsgData_t *stMsgData )
333 RDK_LOG(RDK_LOG_TRACE1,LOG_TR69HOSTIF,
"[%s:%s] Entering..\n", __FUNCTION__, __FILE__);
335 retStatus = checkWifiClientRoamingropsFetch();
336 if(retStatus != OK) {
337 RDK_LOG(RDK_LOG_ERROR,LOG_TR69HOSTIF,
"[%s:%s] Failed to get getDeltaLevel \n", __FUNCTION__, __FILE__);
343 stMsgData->
paramtype = hostIf_UnsignedIntType;
345 RDK_LOG(RDK_LOG_TRACE1,LOG_TR69HOSTIF,
"[%s:%s] Exiting..\n", __FUNCTION__, __FILE__);
349 int hostIf_WiFi_Xrdk_ClientRoaming::set_Device_WiFi_X_Rdkcentral_clientRoaming_PreAssn_BestDeltaLevel(
HOSTIF_MsgData_t *stMsgData )
351 RDK_LOG(RDK_LOG_TRACE1,LOG_TR69HOSTIF,
"[%s:%s] Entering..\n", __FUNCTION__, __FILE__);
353 if( radioFirstExTime == 0)
354 checkWifiClientRoamingropsFetch();
356 if(delta < 0 || delta > 200) {
357 RDK_LOG(RDK_LOG_ERROR,LOG_TR69HOSTIF,
"[%s:%s] Failed to set PreAssn_BestDeltaLevel - Invalid Value\n", __FUNCTION__, __FILE__);
358 stMsgData->
faultCode = fcInvalidParameterValue;
361 WiFi_RoamingCtrl_t param;
362 memset(¶m,0,
sizeof(param));
363 update_from_local_config(¶m,
this);
364 param.preassnBestDelta = delta;
365 retStatus = set_Device_WiFi_Client_Roaming_Configs(¶m);
367 RDK_LOG(RDK_LOG_ERROR,LOG_TR69HOSTIF,
"[%s:%s] Failed to set PreAssn_BestDeltaLevel..\n", __FUNCTION__, __FILE__);
368 RDK_LOG(RDK_LOG_TRACE1,LOG_TR69HOSTIF,
"[%s:%s] Exiting..\n", __FUNCTION__, __FILE__);
371 int hostIf_WiFi_Xrdk_ClientRoaming::get_Device_WiFi_X_Rdkcentral_clientRoaming_SelfSteerOverride(
HOSTIF_MsgData_t *stMsgData)
373 RDK_LOG(RDK_LOG_TRACE1,LOG_TR69HOSTIF,
"[%s:%s] Entering..\n", __FUNCTION__, __FILE__);
374 RDK_LOG(RDK_LOG_ERROR,LOG_TR69HOSTIF,
"[%s:%s] get get_Device_WiFi_X_Rdkcentral_clientRoaming_SelfSteerOverride \n", __FUNCTION__, __FILE__);
376 retStatus = checkWifiClientRoamingropsFetch();
377 if(retStatus != OK) {
378 RDK_LOG(RDK_LOG_ERROR,LOG_TR69HOSTIF,
"[%s:%s] Failed to get SelfSteerOverride value \n", __FUNCTION__, __FILE__);
384 stMsgData->
paramtype = hostIf_BooleanType;
386 RDK_LOG(RDK_LOG_TRACE1,LOG_TR69HOSTIF,
"[%s:%s] Exiting..\n", __FUNCTION__, __FILE__);
390 int hostIf_WiFi_Xrdk_ClientRoaming::set_Device_WiFi_X_Rdkcentral_clientRoaming_SelfSteerOverride(
HOSTIF_MsgData_t *stMsgData)
392 RDK_LOG(RDK_LOG_TRACE1,LOG_TR69HOSTIF,
"[%s:%s] Entering..\n", __FUNCTION__, __FILE__);
394 if( radioFirstExTime == 0)
395 checkWifiClientRoamingropsFetch();
396 int self_steerOverride = get_int(stMsgData->
paramValue);
397 if(self_steerOverride != 0 && self_steerOverride != 1) {
398 RDK_LOG(RDK_LOG_ERROR,LOG_TR69HOSTIF,
"[%s:%s] Failed to set SelfSteerOverride Invalid Value\n", __FUNCTION__, __FILE__);
399 stMsgData->
faultCode = fcInvalidParameterValue;
402 WiFi_RoamingCtrl_t param;
403 memset(¶m,0,
sizeof(param));
404 update_from_local_config(¶m,
this);
405 param.selfSteerOverride = self_steerOverride;
406 retStatus = set_Device_WiFi_Client_Roaming_Configs(¶m);
408 RDK_LOG(RDK_LOG_ERROR,LOG_TR69HOSTIF,
"[%s:%s] Failed to set SelfSteerOverride..\n", __FUNCTION__, __FILE__);
409 RDK_LOG(RDK_LOG_TRACE1,LOG_TR69HOSTIF,
"[%s:%s] Exiting..\n", __FUNCTION__, __FILE__);
412 int hostIf_WiFi_Xrdk_ClientRoaming::get_Device_WiFi_X_Rdkcentral_clientRoaming_PostAssn_BestDeltaLevelConnected(
HOSTIF_MsgData_t *stMsgData)
414 RDK_LOG(RDK_LOG_TRACE1,LOG_TR69HOSTIF,
"[%s:%s] Entering...\n", __FUNCTION__, __FILE__);
416 retStatus = checkWifiClientRoamingropsFetch();
417 if(retStatus != OK) {
418 RDK_LOG(RDK_LOG_ERROR,LOG_TR69HOSTIF,
"[%s:%s] Failed to get PostAssn_LevelDeltaConnected \n", __FUNCTION__, __FILE__);
424 stMsgData->
paramtype = hostIf_UnsignedIntType;
426 RDK_LOG(RDK_LOG_TRACE1,LOG_TR69HOSTIF,
"[%s:%s] Exiting...\n", __FUNCTION__, __FILE__);
429 int hostIf_WiFi_Xrdk_ClientRoaming::set_Device_WiFi_X_Rdkcentral_clientRoaming_PostAssn_BestDeltaLevelConnected(
HOSTIF_MsgData_t *stMsgData)
431 RDK_LOG(RDK_LOG_TRACE1,LOG_TR69HOSTIF,
"[%s:%s] Entering..\n", __FUNCTION__, __FILE__);
433 if( radioFirstExTime == 0)
434 checkWifiClientRoamingropsFetch();
435 int post_level_Delta_Connected = get_int(stMsgData->
paramValue);
436 if(post_level_Delta_Connected < 0 || post_level_Delta_Connected > 200) {
437 RDK_LOG(RDK_LOG_ERROR,LOG_TR69HOSTIF,
"[%s:%s] Failed to set PostAssn_LevelDeltaConnected Invalid Value\n", __FUNCTION__, __FILE__);
438 stMsgData->
faultCode = fcInvalidParameterValue;
441 WiFi_RoamingCtrl_t param;
442 memset(¶m,0,
sizeof(param));
443 update_from_local_config(¶m,
this);
444 param.postAssnLevelDeltaConnected = post_level_Delta_Connected;
445 retStatus = set_Device_WiFi_Client_Roaming_Configs(¶m);
447 RDK_LOG(RDK_LOG_ERROR,LOG_TR69HOSTIF,
"[%s:%s] Failed to set postAssnLevelDeltaConnected..\n", __FUNCTION__, __FILE__);
448 RDK_LOG(RDK_LOG_TRACE1,LOG_TR69HOSTIF,
"[%s:%s] Exiting..\n", __FUNCTION__, __FILE__);
451 int hostIf_WiFi_Xrdk_ClientRoaming::get_Device_WiFi_X_Rdkcentral_clientRoaming_PostAssn_BestDeltaLevelDisconnected(
HOSTIF_MsgData_t *stMsgData)
453 RDK_LOG(RDK_LOG_TRACE1,LOG_TR69HOSTIF,
"[%s:%s] Entering...\n", __FUNCTION__, __FILE__);
455 retStatus = checkWifiClientRoamingropsFetch();
456 if(retStatus != OK) {
457 RDK_LOG(RDK_LOG_ERROR,LOG_TR69HOSTIF,
"[%s:%s] Failed to get PostAssn_LevelDeltaDisconnected \n", __FUNCTION__, __FILE__);
463 stMsgData->
paramtype = hostIf_UnsignedIntType;
465 RDK_LOG(RDK_LOG_TRACE1,LOG_TR69HOSTIF,
"[%s:%s] Exiting...\n", __FUNCTION__, __FILE__);
468 int hostIf_WiFi_Xrdk_ClientRoaming::set_Device_WiFi_X_Rdkcentral_clientRoaming_PostAssn_BestDeltaLevelDisconnected(
HOSTIF_MsgData_t *stMsgData)
470 RDK_LOG(RDK_LOG_TRACE1,LOG_TR69HOSTIF,
"[%s:%s] Entering..\n", __FUNCTION__, __FILE__);
472 if( radioFirstExTime == 0)
473 checkWifiClientRoamingropsFetch();
474 int post_level_Delta_Disconnected = get_int(stMsgData->
paramValue);
475 if(post_level_Delta_Disconnected < 0 || post_level_Delta_Disconnected > 200) {
476 RDK_LOG(RDK_LOG_ERROR,LOG_TR69HOSTIF,
"[%s:%s] Failed to set PostAssn_LevelDeltaConnected Invalid Value\n", __FUNCTION__, __FILE__);
477 stMsgData->
faultCode = fcInvalidParameterValue;
480 WiFi_RoamingCtrl_t param;
481 memset(¶m,0,
sizeof(param));
482 update_from_local_config(¶m,
this);
483 param.postAssnLevelDeltaDisconnected = post_level_Delta_Disconnected;
484 retStatus = set_Device_WiFi_Client_Roaming_Configs(¶m);
486 RDK_LOG(RDK_LOG_ERROR,LOG_TR69HOSTIF,
"[%s:%s] Failed to set postAssnLevelDeltaDisconnected..\n", __FUNCTION__, __FILE__);
487 RDK_LOG(RDK_LOG_TRACE1,LOG_TR69HOSTIF,
"[%s:%s] Exiting..\n", __FUNCTION__, __FILE__);
490 int hostIf_WiFi_Xrdk_ClientRoaming::get_Device_WiFi_X_Rdkcentral_clientRoaming_PostAssn_SelfSteerThreshold(
HOSTIF_MsgData_t *stMsgData)
492 RDK_LOG(RDK_LOG_TRACE1,LOG_TR69HOSTIF,
"[%s:%s] Entering...\n", __FUNCTION__, __FILE__);
494 retStatus = checkWifiClientRoamingropsFetch();
495 if(retStatus != OK) {
496 RDK_LOG(RDK_LOG_ERROR,LOG_TR69HOSTIF,
"[%s:%s] Failed to get PostAssn_SelfSteerThreshold \n", __FUNCTION__, __FILE__);
502 stMsgData->
paramtype = hostIf_IntegerType;
504 RDK_LOG(RDK_LOG_TRACE1,LOG_TR69HOSTIF,
"[%s:%s] Exiting...\n", __FUNCTION__, __FILE__);
507 int hostIf_WiFi_Xrdk_ClientRoaming::set_Device_WiFi_X_Rdkcentral_clientRoaming_PostAssn_SelfSteerThreshold(
HOSTIF_MsgData_t *stMsgData)
509 RDK_LOG(RDK_LOG_TRACE1,LOG_TR69HOSTIF,
"[%s:%s] Entering..\n", __FUNCTION__, __FILE__);
511 if( radioFirstExTime == 0)
512 checkWifiClientRoamingropsFetch();
513 int post_Self_SteerThreshold = get_int(stMsgData->
paramValue);
514 if(post_Self_SteerThreshold > 0 || post_Self_SteerThreshold < -200) {
515 RDK_LOG(RDK_LOG_ERROR,LOG_TR69HOSTIF,
"[%s:%s] Failed to set PostAssn_SelfSteerThreshold Invalid Value\n", __FUNCTION__, __FILE__);
516 stMsgData->
faultCode = fcInvalidParameterValue;
519 WiFi_RoamingCtrl_t param;
520 memset(¶m,0,
sizeof(param));
521 update_from_local_config(¶m,
this);
522 param.postAssnSelfSteerThreshold = post_Self_SteerThreshold;
523 retStatus = set_Device_WiFi_Client_Roaming_Configs(¶m);
525 RDK_LOG(RDK_LOG_ERROR,LOG_TR69HOSTIF,
"[%s:%s] Failed to set PostAssn_SelfSteerThreshold..\n", __FUNCTION__, __FILE__);
526 RDK_LOG(RDK_LOG_TRACE1,LOG_TR69HOSTIF,
"[%s:%s] Exiting..\n", __FUNCTION__, __FILE__);
529 int hostIf_WiFi_Xrdk_ClientRoaming::get_Device_WiFi_X_Rdkcentral_clientRoaming_PostAssn_SelfSteerTimeframe(
HOSTIF_MsgData_t *stMsgData)
531 RDK_LOG(RDK_LOG_TRACE1,LOG_TR69HOSTIF,
"[%s:%s] Entering...\n", __FUNCTION__, __FILE__);
533 retStatus = checkWifiClientRoamingropsFetch();
534 if(retStatus != OK) {
535 RDK_LOG(RDK_LOG_ERROR,LOG_TR69HOSTIF,
"[%s:%s] Failed to get PostAssn_SelfSteerTimeframe \n", __FUNCTION__, __FILE__);
541 stMsgData->
paramtype = hostIf_UnsignedIntType;
543 RDK_LOG(RDK_LOG_TRACE1,LOG_TR69HOSTIF,
"[%s:%s] Exiting...\n", __FUNCTION__, __FILE__);
547 int hostIf_WiFi_Xrdk_ClientRoaming::set_Device_WiFi_X_Rdkcentral_clientRoaming_PostAssn_SelfSteerTimeframe(
HOSTIF_MsgData_t *stMsgData)
549 RDK_LOG(RDK_LOG_TRACE1,LOG_TR69HOSTIF,
"[%s:%s] Entering..\n", __FUNCTION__, __FILE__);
551 if( radioFirstExTime == 0)
552 get_Device_WiFi_Client_Roaming_Configs();
553 int post_Self_SteerTimeframe = get_int(stMsgData->
paramValue);
554 if(post_Self_SteerTimeframe < 0 || post_Self_SteerTimeframe > POST_ASSN_MAX_TIME_FRAME) {
555 RDK_LOG(RDK_LOG_ERROR,LOG_TR69HOSTIF,
"[%s:%s] Failed to set PostAssn_SelfSteerTimeframe Invalid Value\n", __FUNCTION__, __FILE__);
556 stMsgData->
faultCode = fcInvalidParameterValue;
559 WiFi_RoamingCtrl_t param;
560 memset(¶m,0,
sizeof(param));
561 update_from_local_config(¶m,
this);
562 param.postAssnSelfSteerTimeframe = post_Self_SteerTimeframe;
563 retStatus = set_Device_WiFi_Client_Roaming_Configs(¶m);
565 RDK_LOG(RDK_LOG_ERROR,LOG_TR69HOSTIF,
"[%s:%s] Failed to set PostAssn_SelfSteerTimeframe..\n", __FUNCTION__, __FILE__);
566 RDK_LOG(RDK_LOG_TRACE1,LOG_TR69HOSTIF,
"[%s:%s] Exiting..\n", __FUNCTION__, __FILE__);
610 int hostIf_WiFi_Xrdk_ClientRoaming::get_Device_WiFi_X_Rdkcentral_clientRoaming_PostAssn_APcontrolThresholdLevel(
HOSTIF_MsgData_t *stMsgData)
612 RDK_LOG(RDK_LOG_TRACE1,LOG_TR69HOSTIF,
"[%s:%s] Entering...\n", __FUNCTION__, __FILE__);
614 retStatus = checkWifiClientRoamingropsFetch();
615 if(retStatus != OK) {
616 RDK_LOG(RDK_LOG_ERROR,LOG_TR69HOSTIF,
"[%s:%s] Failed to get PostAssn_APcontrolThresholdLevel \n", __FUNCTION__, __FILE__);
622 stMsgData->
paramtype = hostIf_IntegerType;
624 RDK_LOG(RDK_LOG_TRACE1,LOG_TR69HOSTIF,
"[%s:%s] Exiting...\n", __FUNCTION__, __FILE__);
628 int hostIf_WiFi_Xrdk_ClientRoaming::set_Device_WiFi_X_Rdkcentral_clientRoaming_PostAssn_APcontrolThresholdLevel(
HOSTIF_MsgData_t *stMsgData)
630 RDK_LOG(RDK_LOG_TRACE1,LOG_TR69HOSTIF,
"[%s:%s] Entering..\n", __FUNCTION__, __FILE__);
632 if( radioFirstExTime == 0)
633 get_Device_WiFi_Client_Roaming_Configs();
634 int APcontrolThresholdLevel = get_int(stMsgData->
paramValue);
635 if(APcontrolThresholdLevel > 0 || APcontrolThresholdLevel < -200 ) {
636 RDK_LOG(RDK_LOG_ERROR,LOG_TR69HOSTIF,
"[%s:%s] Failed to set PostAssn_APcontrolThresholdLevel Invalid Value\n", __FUNCTION__, __FILE__);
637 stMsgData->
faultCode = fcInvalidParameterValue;
640 WiFi_RoamingCtrl_t param;
641 memset(¶m,0,
sizeof(param));
642 update_from_local_config(¶m,
this);
643 param.postAssnAPcontrolThresholdLevel = APcontrolThresholdLevel;
644 retStatus = set_Device_WiFi_Client_Roaming_Configs(¶m);
646 RDK_LOG(RDK_LOG_ERROR,LOG_TR69HOSTIF,
"[%s:%s] Failed to set PostAssn_APcontrolThresholdLevel..\n", __FUNCTION__, __FILE__);
647 RDK_LOG(RDK_LOG_TRACE1,LOG_TR69HOSTIF,
"[%s:%s] Exiting..\n", __FUNCTION__, __FILE__);
651 int hostIf_WiFi_Xrdk_ClientRoaming::get_Device_WiFi_X_Rdkcentral_clientRoaming_PostAssn_APcontrolTimeframe(
HOSTIF_MsgData_t *stMsgData)
653 RDK_LOG(RDK_LOG_TRACE1,LOG_TR69HOSTIF,
"[%s:%s] Entering...\n", __FUNCTION__, __FILE__);
655 retStatus = checkWifiClientRoamingropsFetch();
656 if(retStatus != OK) {
657 RDK_LOG(RDK_LOG_ERROR,LOG_TR69HOSTIF,
"[%s:%s] Failed to get PostAssn_APcontrolTimeframe \n", __FUNCTION__, __FILE__);
663 stMsgData->
paramtype = hostIf_UnsignedIntType;
665 RDK_LOG(RDK_LOG_TRACE1,LOG_TR69HOSTIF,
"[%s:%s] Exiting...\n", __FUNCTION__, __FILE__);
669 int hostIf_WiFi_Xrdk_ClientRoaming::set_Device_WiFi_X_Rdkcentral_clientRoaming_PostAssn_APcontrolTimeframe(
HOSTIF_MsgData_t *stMsgData)
671 RDK_LOG(RDK_LOG_TRACE1,LOG_TR69HOSTIF,
"[%s:%s] Entering..\n", __FUNCTION__, __FILE__);
673 if( radioFirstExTime == 0)
674 get_Device_WiFi_Client_Roaming_Configs();
675 int APcontrolTimeframe = get_int(stMsgData->
paramValue);
676 if(APcontrolTimeframe < 0 || APcontrolTimeframe > POST_ASSN_MAX_TIME_FRAME) {
677 RDK_LOG(RDK_LOG_ERROR,LOG_TR69HOSTIF,
"[%s:%s] Failed to set PostAssn_APcontrolTimeframe Invalid Value\n", __FUNCTION__, __FILE__);
678 stMsgData->
faultCode = fcInvalidParameterValue;
681 WiFi_RoamingCtrl_t param;
682 memset(¶m,0,
sizeof(param));
683 update_from_local_config(¶m,
this);
684 param.postAssnAPcontrolTimeframe = APcontrolTimeframe;
685 retStatus = set_Device_WiFi_Client_Roaming_Configs(¶m);
687 RDK_LOG(RDK_LOG_ERROR,LOG_TR69HOSTIF,
"[%s:%s] Failed to set PostAssn_APcontrolTimeframe..\n", __FUNCTION__, __FILE__);
688 RDK_LOG(RDK_LOG_TRACE1,LOG_TR69HOSTIF,
"[%s:%s] Exiting..\n", __FUNCTION__, __FILE__);
692 int hostIf_WiFi_Xrdk_ClientRoaming::get_Device_WiFi_X_Rdkcentral_clientRoaming_postAssnBackOffTime(
HOSTIF_MsgData_t *stMsgData)
694 RDK_LOG(RDK_LOG_TRACE1,LOG_TR69HOSTIF,
"[%s:%s] Entering...\n", __FUNCTION__, __FILE__);
696 retStatus = checkWifiClientRoamingropsFetch();
697 if(retStatus != OK) {
698 RDK_LOG(RDK_LOG_ERROR,LOG_TR69HOSTIF,
"[%s:%s] Failed to get postAssnBackOffTime \n", __FUNCTION__, __FILE__);
704 stMsgData->
paramtype = hostIf_UnsignedIntType;
706 RDK_LOG(RDK_LOG_TRACE1,LOG_TR69HOSTIF,
"[%s:%s] Exiting...\n", __FUNCTION__, __FILE__);
710 int hostIf_WiFi_Xrdk_ClientRoaming::set_Device_WiFi_X_Rdkcentral_clientRoaming_postAssnBackOffTime(
HOSTIF_MsgData_t *stMsgData)
712 RDK_LOG(RDK_LOG_TRACE1,LOG_TR69HOSTIF,
"[%s:%s] Entering..\n", __FUNCTION__, __FILE__);
714 if( radioFirstExTime == 0)
715 get_Device_WiFi_Client_Roaming_Configs();
716 int postAssnBackOffTime = get_int(stMsgData->
paramValue);
717 if(postAssnBackOffTime < 0 || postAssnBackOffTime > MAX_POST_ASSN_BACKOFF) {
718 RDK_LOG(RDK_LOG_ERROR,LOG_TR69HOSTIF,
"[%s:%s] Failed to set postAssnBackOffTime Invalid Value\n", __FUNCTION__, __FILE__);
719 stMsgData->
faultCode = fcInvalidParameterValue;
722 WiFi_RoamingCtrl_t param;
723 memset(¶m,0,
sizeof(param));
724 update_from_local_config(¶m,
this);
725 param.postAssnBackOffTime = postAssnBackOffTime;
726 retStatus = set_Device_WiFi_Client_Roaming_Configs(¶m);
728 RDK_LOG(RDK_LOG_ERROR,LOG_TR69HOSTIF,
"[%s:%s] Failed to set postAssnBackOffTime..\n", __FUNCTION__, __FILE__);
729 RDK_LOG(RDK_LOG_TRACE1,LOG_TR69HOSTIF,
"[%s:%s] Exiting..\n", __FUNCTION__, __FILE__);
733 int hostIf_WiFi_Xrdk_ClientRoaming::get_Device_WiFi_X_Rdkcentral_clientRoaming_80211kvrEnable(
HOSTIF_MsgData_t *stMsgData)
735 RDK_LOG(RDK_LOG_TRACE1,LOG_TR69HOSTIF,
"[%s:%s] Entering...\n", __FUNCTION__, __FILE__);
737 retStatus = checkWifiClientRoamingropsFetch();
738 if(retStatus != OK) {
739 RDK_LOG(RDK_LOG_ERROR,LOG_TR69HOSTIF,
"[%s:%s] Failed to get 80211kvrEnable \n", __FUNCTION__, __FILE__);
745 stMsgData->
paramtype = hostIf_BooleanType;;
747 RDK_LOG(RDK_LOG_TRACE1,LOG_TR69HOSTIF,
"[%s:%s] Exiting...\n", __FUNCTION__, __FILE__);
751 int hostIf_WiFi_Xrdk_ClientRoaming::set_Device_WiFi_X_Rdkcentral_clientRoaming_80211kvrEnable(
HOSTIF_MsgData_t *stMsgData)
753 RDK_LOG(RDK_LOG_TRACE1,LOG_TR69HOSTIF,
"[%s:%s] Entering..\n", __FUNCTION__, __FILE__);
755 if( radioFirstExTime == 0)
756 get_Device_WiFi_Client_Roaming_Configs();
757 int roaming80211kvrEnable = get_int(stMsgData->
paramValue);
758 if(roaming80211kvrEnable < 0) {
759 RDK_LOG(RDK_LOG_ERROR,LOG_TR69HOSTIF,
"[%s:%s] Failed to set 80211kvrEnable Invalid Value\n", __FUNCTION__, __FILE__);
760 stMsgData->
faultCode = fcInvalidParameterValue;
763 WiFi_RoamingCtrl_t param;
764 memset(¶m,0,
sizeof(param));
765 update_from_local_config(¶m,
this);
766 param.roaming80211kvrEnable = roaming80211kvrEnable;
767 retStatus = set_Device_WiFi_Client_Roaming_Configs(¶m);
769 RDK_LOG(RDK_LOG_ERROR,LOG_TR69HOSTIF,
"[%s:%s] Failed to set 80211kvrEnable..\n", __FUNCTION__, __FILE__);
770 RDK_LOG(RDK_LOG_TRACE1,LOG_TR69HOSTIF,
"[%s:%s] Exiting..\n", __FUNCTION__, __FILE__);