Message ID | CAGnO3dpwYNHc1VsjX7aWJtaH7ZzkFD4y9J-oD-jH+cgkwPUpQA@mail.gmail.com |
---|---|
State | Changes Requested |
Headers | show |
On Wed, Feb 22, 2017 at 04:55:19PM +0000, Nick Lowe wrote: > Require WMM to be enabled before allowing inclusion of > the QBSS Load element. WMM is based on the EDCA portion of 802.11e that > defines a QBSS. Why would this be a good thing to do? What harm is there in including the BSS Load element even if WMM is disabled? > diff --git a/hostapd/hostapd.conf b/hostapd/hostapd.conf > @@ -484,9 +484,10 @@ wmm_ac_vo_acm=0 > # associated stations in the BSS. By default, this bridging is allowed. > #ap_isolate=1 > > -# BSS Load update period (in BUs) > -# This field is used to enable and configure adding a BSS Load element into > +# QBSS Load update period (in BUs) > +# This field is used to enable and configure adding a QBSS Load element into > # Beacon and Probe Response frames. > +# Note: You will also need to enable WMM, the basis for a QBSS via EDCA. > #bss_load_update_period=50 The name of that element if "BSS Load element", not "QBSS Load element".
Hi Jouni, It is called the QBSS Load element in 802.11e-2005 and is called the BSS Load element in 802.11-2012. Calling it QBSS Load in the documentation more clearly distinguishes that by spec this is for a QBSS only, that is, where WMM is enabled only. 802.11e-2005 and 802.11-2012 specify that this element must only be present for a QOS-enhanced BSS. From 802.11e-2005: 22 QBSS Load The QBSS Load information element is only present within Beacon frames generated by QAPs. The QBSS Load element is present when dot11QosOptionImplemented and dot11QBSSLoadImplemented are both true. 23 EDCA Parameter Set The EDCA Parameter Set information element is only present within Beacon frames generated by QAPs. The EDCA Parameter Set element is present when dot11QosOptionImplemented is true and the QoS Capability element is not present. 24 QoS Capability The QoS Capability information element is only present within Beacon frames generated by QAPs. The QoS Capability element is present when dot11QosOptionImplemented is true and EDCA Parameter Set element is not present. Thanks, Nick
On Sat, Feb 25, 2017 at 02:48:46PM +0000, Nick Lowe wrote: > It is called the QBSS Load element in 802.11e-2005 and is called the > BSS Load element in 802.11-2012. It might have been called QBSS Load element ten years ago, but the name of this element is BSS Load element in the current standard and that's the name hostap.git should use for it. > Calling it QBSS Load in the documentation more clearly distinguishes > that by spec this is for a QBSS only, that is, where WMM is enabled > only. I rather call it with the correct name and if there is a particular need for explicitly stating something about QoS BSS, that can be done separately. "QBSS" was removed from the standard. > 802.11e-2005 and 802.11-2012 specify that this element must only be > present for a QOS-enhanced BSS. > > From 802.11e-2005: IEEE Std 802.11e-2005 is not relevant; it became obsolete when the P802.11e amendment was merged into the main standard. We should use the current standard, i.e., IEEE Std 802.11-2016 when talking about what the standard requires. I don't see why hostapd should prevent BSS Load element from being added to Beacon frames even if WMM is disabled. This is already added only if explicitly configured to do so (bss_load_update_period which defaults to being disabled). As such, hostapd is in no way trying to force that element to be there for WMM disabled cases.
diff --git a/hostapd/hostapd.conf b/hostapd/hostapd.conf index 89e61a1..96aed35 100644 --- a/hostapd/hostapd.conf +++ b/hostapd/hostapd.conf @@ -484,9 +484,10 @@ wmm_ac_vo_acm=0 # associated stations in the BSS. By default, this bridging is allowed. #ap_isolate=1 -# BSS Load update period (in BUs) -# This field is used to enable and configure adding a BSS Load element into +# QBSS Load update period (in BUs) +# This field is used to enable and configure adding a QBSS Load element into # Beacon and Probe Response frames. +# Note: You will also need to enable WMM, the basis for a QBSS via EDCA. #bss_load_update_period=50 # Fixed BSS Load value for testing purposes diff --git a/src/ap/bss_load.c b/src/ap/bss_load.c index fb63942..42b9d22 100644 --- a/src/ap/bss_load.c +++ b/src/ap/bss_load.c @@ -46,7 +46,7 @@ int bss_load_update_init(struct hostapd_data *hapd) struct hostapd_config *iconf = hapd->iconf; unsigned int sec, usec; - if (!conf->bss_load_update_period || !iconf->beacon_int) + if (!conf->wmm_enabled || !conf->bss_load_update_period || !iconf->beacon_int) return -1; hapd->bss_load_update_timeout = conf->bss_load_update_period *
Require WMM to be enabled before allowing inclusion of the QBSS Load element. WMM is based on the EDCA portion of 802.11e that defines a QBSS. Signed-off-by: Nick Lowe <nick.lowe@gmail.com> --- hostapd/hostapd.conf | 5 +++-- src/ap/bss_load.c | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-)