From: John Crispin <john@xxxxxxxxxxx> Add configuration options to enable multiple BSSID (MBSSID) and enhanced multiple BSSID advertisements (EMA). MBSSID enablement is mandatory to enable EMA. Signed-off-by: John Crispin <john@xxxxxxxxxxx> Co-developed-by: Aloka Dixit <quic_alokad@xxxxxxxxxxx> Co-developed-by: Aloka Dixit <quic_alokad@xxxxxxxxxxx> Signed-off-by: Aloka Dixit <quic_alokad@xxxxxxxxxxx> --- hostapd/config_file.c | 4 ++++ hostapd/hostapd.conf | 10 ++++++++++ src/ap/ap_config.c | 5 +++++ src/ap/ap_config.h | 2 ++ 4 files changed, 21 insertions(+) diff --git a/hostapd/config_file.c b/hostapd/config_file.c index d416e5b771ee..5a5dc7d9e19f 100644 --- a/hostapd/config_file.c +++ b/hostapd/config_file.c @@ -4734,6 +4734,10 @@ static int hostapd_config_fill(struct hostapd_config *conf, return 1; } else if (os_strcmp(buf, "rnr") == 0) { bss->rnr = atoi(pos); + } else if (os_strcmp(buf, "mbssid") == 0) { + conf->mbssid = atoi(pos); + } else if (os_strcmp(buf, "ema") == 0) { + conf->ema = atoi(pos); } else { wpa_printf(MSG_ERROR, "Line %d: unknown configuration item '%s'", diff --git a/hostapd/hostapd.conf b/hostapd/hostapd.conf index 9b0c809ea73f..b1664c82da2d 100644 --- a/hostapd/hostapd.conf +++ b/hostapd/hostapd.conf @@ -973,6 +973,16 @@ wmm_ac_vo_acm=0 # Valid range: 0..20 TUs; default is 0 (disabled) #unsol_bcast_probe_resp_interval=0 +# Multiple BSSID element support in beacon and probe response frames. +# 0 = Disabled +# 1 = Enabled +#mbssid=0 + +# Enhanced multiple BSSID advertisements support in beacons. +# 0 = Disabled +# 1 = Enabled +#ema=0 + ##### IEEE 802.1X-2004 related configuration ################################## # Require IEEE 802.1X authorization diff --git a/src/ap/ap_config.c b/src/ap/ap_config.c index 86b6e097cf89..91f9253ce6f1 100644 --- a/src/ap/ap_config.c +++ b/src/ap/ap_config.c @@ -1500,6 +1500,11 @@ int hostapd_config_check(struct hostapd_config *conf, int full_config) return -1; } + if (!conf->mbssid && conf->ema) { + wpa_printf(MSG_ERROR, "mbssid must be enabled to enable ema"); + return -1; + } + for (i = 0; i < conf->num_bss; i++) { if (hostapd_config_check_bss(conf->bss[i], conf, full_config)) return -1; diff --git a/src/ap/ap_config.h b/src/ap/ap_config.h index 1e21f7c96380..c9a15dac097d 100644 --- a/src/ap/ap_config.h +++ b/src/ap/ap_config.h @@ -1107,6 +1107,8 @@ struct hostapd_config { unsigned int airtime_update_interval; #define AIRTIME_MODE_MAX (__AIRTIME_MODE_MAX - 1) #endif /* CONFIG_AIRTIME_POLICY */ + u8 mbssid; + u8 ema; }; -- 2.31.1 _______________________________________________ Hostap mailing list Hostap@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/hostap