qcacld-3.0: Add ini to enable/disable self roaming
Currently the driver allows roaming to the BSSID which it is already connected, which can lead to many unexpected behaviour, for eg. if the SAP to which the DUT is connected turns off, then the DUT would try to roam to other BSSID of the same SSID, and in case the SAP turns on back in time, then the DUT would re-associate to the same BSSID. Now if the subnet may change, and since the DHCP does not happen again in roaming, it would then lead to NUD failure. Fix is to introduce an ini to allow/disallow roaming to the same BSSID. Change-Id: Ibd04fcd7384c0987db5bb6dae1a26ee077456290 CRs-Fixed: 2634860
This commit is contained in:

committed by
nshrivas

vanhempi
4c18d1c3d9
commit
954abc7aa9
@@ -1470,6 +1470,7 @@ static void mlme_init_roam_offload_cfg(struct wlan_objmgr_psoc *psoc,
|
||||
{
|
||||
lfr->lfr3_roaming_offload =
|
||||
cfg_get(psoc, CFG_LFR3_ROAMING_OFFLOAD);
|
||||
lfr->enable_self_bss_roam = cfg_get(psoc, CFG_LFR3_ENABLE_SELF_BSS_ROAM);
|
||||
lfr->enable_roam_reason_vsie =
|
||||
cfg_get(psoc, CFG_ENABLE_ROAM_REASON_VSIE);
|
||||
lfr->enable_disconnect_roam_offload =
|
||||
|
@@ -2148,6 +2148,28 @@
|
||||
1, \
|
||||
"enable roam offload")
|
||||
|
||||
/*
|
||||
* <ini>
|
||||
* enable_self_bss_roam - enable/disable roaming to self bss
|
||||
* @Min: 0
|
||||
* @Max: 1
|
||||
* @Default: 1
|
||||
*
|
||||
* This INI is used to enable/disable roaming to already connected BSSID
|
||||
*
|
||||
* Related: None
|
||||
*
|
||||
* Supported Feature: Roaming
|
||||
*
|
||||
* Usage: Internal
|
||||
*
|
||||
* </ini>
|
||||
*/
|
||||
#define CFG_LFR3_ENABLE_SELF_BSS_ROAM CFG_INI_BOOL( \
|
||||
"enable_self_bss_roam", \
|
||||
0, \
|
||||
"enable self bss roam")
|
||||
|
||||
/*
|
||||
* <ini>
|
||||
* enable_disconnect_roam_offload - Enable/Disable emergency roaming during
|
||||
@@ -2414,6 +2436,7 @@
|
||||
|
||||
#define ROAM_OFFLOAD_ALL \
|
||||
CFG(CFG_LFR3_ROAMING_OFFLOAD) \
|
||||
CFG(CFG_LFR3_ENABLE_SELF_BSS_ROAM) \
|
||||
CFG(CFG_LFR_ENABLE_DISCONNECT_ROAM) \
|
||||
CFG(CFG_LFR_ENABLE_IDLE_ROAM) \
|
||||
CFG(CFG_LFR_IDLE_ROAM_RSSI_DELTA) \
|
||||
|
@@ -1439,6 +1439,7 @@ struct bss_load_trigger {
|
||||
* @mawc_roam_enabled: Enable/Disable MAWC during roaming
|
||||
* @enable_fast_roam_in_concurrency:Enable LFR roaming on STA during concurrency
|
||||
* @lfr3_roaming_offload: Enable/disable roam offload feature
|
||||
* @enable_self_bss_roam: enable roaming to connected BSSID
|
||||
* @enable_disconnect_roam_offload: enable disassoc/deauth roam scan.
|
||||
* @enable_idle_roam: flag to enable/disable idle roam in fw
|
||||
* @idle_roam_rssi_delta: rssi delta of connected ap which is used to
|
||||
@@ -1548,6 +1549,7 @@ struct wlan_mlme_lfr_cfg {
|
||||
bool enable_fast_roam_in_concurrency;
|
||||
#ifdef WLAN_FEATURE_ROAM_OFFLOAD
|
||||
bool lfr3_roaming_offload;
|
||||
bool enable_self_bss_roam;
|
||||
bool enable_disconnect_roam_offload;
|
||||
bool enable_idle_roam;
|
||||
uint32_t idle_roam_rssi_delta;
|
||||
|
Viittaa uudesa ongelmassa
Block a user