Support fixing the BSSID in IBSS mode
When the "bssid=" option is set for an IBSS network and ap_scan = 2, ask the driver to fix this BSSID, if possible. Previously, any "bssid=" option were ignored in IBSS mode when ap_scan=2. Signed-hostap: Nicolas Cavallari <cavallar@lri.fr>
This commit is contained in:
parent
a4bbb6066d
commit
9e2af29f9b
2 changed files with 14 additions and 0 deletions
|
@ -516,6 +516,13 @@ struct wpa_driver_associate_params {
|
||||||
* STA mode: bits 0..3 UAPSD enabled for VO,VI,BK,BE
|
* STA mode: bits 0..3 UAPSD enabled for VO,VI,BK,BE
|
||||||
*/
|
*/
|
||||||
int uapsd;
|
int uapsd;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* fixed_bssid - Whether to force this BSSID in IBSS mode
|
||||||
|
* 1 = Fix this BSSID and prevent merges.
|
||||||
|
* 0 = Do not fix BSSID.
|
||||||
|
*/
|
||||||
|
int fixed_bssid;
|
||||||
};
|
};
|
||||||
|
|
||||||
enum hide_ssid {
|
enum hide_ssid {
|
||||||
|
|
|
@ -1364,6 +1364,13 @@ void wpa_supplicant_associate(struct wpa_supplicant *wpa_s,
|
||||||
params.ssid = ssid->ssid;
|
params.ssid = ssid->ssid;
|
||||||
params.ssid_len = ssid->ssid_len;
|
params.ssid_len = ssid->ssid_len;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (ssid->mode == WPAS_MODE_IBSS && ssid->bssid_set &&
|
||||||
|
wpa_s->conf->ap_scan == 2) {
|
||||||
|
params.bssid = ssid->bssid;
|
||||||
|
params.fixed_bssid = 1;
|
||||||
|
}
|
||||||
|
|
||||||
if (ssid->mode == WPAS_MODE_IBSS && ssid->frequency > 0 &&
|
if (ssid->mode == WPAS_MODE_IBSS && ssid->frequency > 0 &&
|
||||||
params.freq == 0)
|
params.freq == 0)
|
||||||
params.freq = ssid->frequency; /* Initial channel for IBSS */
|
params.freq = ssid->frequency; /* Initial channel for IBSS */
|
||||||
|
|
Loading…
Reference in a new issue