hostapd: Add a config option to control beaconing
In a AP/STA concurrent setup, if the STA interface is continually scanning, trying to connect to a network, the AP interface is basically broken since beaconing would be erratic. This option can be used in a WDS setup where one AP acts as a Client/AP-Repeater. The Repeater AP interface has to start beaconing only after the Client interface has established a WDS link with the "Root AP". Signed-hostap: Sujith Manoharan <c_manoha@qca.qualcomm.com>
This commit is contained in:
parent
182b2e535c
commit
3f9a8137f5
4 changed files with 8 additions and 1 deletions
|
@ -1781,6 +1781,8 @@ static int hostapd_config_fill(struct hostapd_config *conf,
|
||||||
}
|
}
|
||||||
} else if (os_strcmp(buf, "wds_sta") == 0) {
|
} else if (os_strcmp(buf, "wds_sta") == 0) {
|
||||||
bss->wds_sta = atoi(pos);
|
bss->wds_sta = atoi(pos);
|
||||||
|
} else if (os_strcmp(buf, "start_disabled") == 0) {
|
||||||
|
bss->start_disabled = atoi(pos);
|
||||||
} else if (os_strcmp(buf, "ap_isolate") == 0) {
|
} else if (os_strcmp(buf, "ap_isolate") == 0) {
|
||||||
bss->isolate = atoi(pos);
|
bss->isolate = atoi(pos);
|
||||||
} else if (os_strcmp(buf, "ap_max_inactivity") == 0) {
|
} else if (os_strcmp(buf, "ap_max_inactivity") == 0) {
|
||||||
|
|
|
@ -389,6 +389,9 @@ wmm_ac_vo_acm=0
|
||||||
# use a separate bridge.
|
# use a separate bridge.
|
||||||
#wds_bridge=wds-br0
|
#wds_bridge=wds-br0
|
||||||
|
|
||||||
|
# Start the AP with beaconing disabled by default.
|
||||||
|
#start_disabled=0
|
||||||
|
|
||||||
# Client isolation can be used to prevent low-level bridging of frames between
|
# Client isolation can be used to prevent low-level bridging of frames between
|
||||||
# associated stations in the BSS. By default, this bridging is allowed.
|
# associated stations in the BSS. By default, this bridging is allowed.
|
||||||
#ap_isolate=1
|
#ap_isolate=1
|
||||||
|
|
|
@ -243,6 +243,7 @@ struct hostapd_bss_config {
|
||||||
int num_deny_mac;
|
int num_deny_mac;
|
||||||
int wds_sta;
|
int wds_sta;
|
||||||
int isolate;
|
int isolate;
|
||||||
|
int start_disabled;
|
||||||
|
|
||||||
int auth_algs; /* bitfield of allowed IEEE 802.11 authentication
|
int auth_algs; /* bitfield of allowed IEEE 802.11 authentication
|
||||||
* algorithms, WPA_AUTH_ALG_{OPEN,SHARED,LEAP} */
|
* algorithms, WPA_AUTH_ALG_{OPEN,SHARED,LEAP} */
|
||||||
|
|
|
@ -806,6 +806,7 @@ static int hostapd_setup_bss(struct hostapd_data *hapd, int first)
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!hapd->conf->start_disabled)
|
||||||
ieee802_11_set_beacon(hapd);
|
ieee802_11_set_beacon(hapd);
|
||||||
|
|
||||||
if (hapd->wpa_auth && wpa_init_keys(hapd->wpa_auth) < 0)
|
if (hapd->wpa_auth && wpa_init_keys(hapd->wpa_auth) < 0)
|
||||||
|
|
Loading…
Reference in a new issue