[PATCH 00/15] AP: WNM/MBO, OCE AP, ESP and RRM additions and fixes
Andrei-Alexandru Bleortu
me at andrei-z.com
Sun Oct 4 03:41:53 PDT 2026
This series came out of checking hostapd, as the AP of a Wi-Fi 6E
access point (ath11k, three radios), against IEEE Std 802.11-2024 and the
Wi-Fi Agile Multiband, Optimized Connectivity, QoS Management and WMM
specifications.
Fixes:
- 5: a STA that rejects a DSCP policy could make hostapd dereference a
NULL policy on the next DSCP Policy Response, wildcard query or
reassociation (reproduced as a SIGSEGV in the new test);
- 9: FILS Request Parameters elements with only the mandatory fields
were dropped by the parser;
- 13: an RSSI-based rejection sent two MBO-OCE elements;
- 15: an admitted downlink TS got a non-zero Medium Time.
Additions:
- 2: the RNR 20 MHz PSD subfield for a co-located 6 GHz AP (11.49);
- 3, 8: a candidate list in the BSS TM Query response and a generated
Neighbor Report ANQP-element (Agile Multiband 3.5.1);
- 4: a responder for Link Measurement Requests (11.10.11);
- 6: the Mobility Domain bit in the own neighbor report;
- 7: the Estimated Service Parameters Inbound element (esp=1);
- 10-12: OCE AP for drivers that leave Probe Request frames to hostapd:
probe suppression, broadcast Probe Responses to OCE STAs, Beacon
frames instead of Probe Responses on a long Max Channel Time, the
Transmit Power and IP Subnet Identifier attributes, co-located RNR and
AP Channel Report;
- 14: the BTM cellular data preference only for cellular capable STAs;
- 1: no_pri_sec_switch as a configuration parameter.
All but 4 (hwsim has no TX power insertion) and 9 (covered by the test in
10) add hwsim tests, which fail without the patch where they test a fix.
The full hwsim suite on this series fails no test that does not also
fail on current main or that is not order-dependent. The series also
runs on ath11k hardware (IPQ5018 + QCN9074), where its elements were
checked in the transmitted Beacon frames.
Andrei-Alexandru Bleortu (15):
hostapd: Allow the primary/secondary channel switch to be disabled
AP: Set the RNR 20 MHz PSD subfield for co-located 6 GHz APs
WNM: Include a candidate list when answering a BSS TM Query
RRM: Respond to Link Measurement Request frames in AP mode
DSCP: Fix policy invalidation and empty unsolicited requests
AP: Set the Mobility Domain bit in the own neighbor report
AP: Add the Estimated Service Parameters Inbound element
AP: Generate the Neighbor Report ANQP-element
Accept FILS Request Parameters elements with only the mandatory fields
OCE: Probe Request frame handling of an OCE AP
OCE: Transmit Power and IP Subnet Identifier attributes
OCE: Report co-located 2.4/5 GHz BSSs and neighbor AP channels
OCE: Put the RSSI-based rejection attribute in the MBO-OCE element
MBO: Cellular Data Connection Preference only for cellular capable
STAs
WMM: Medium Time zero for an admitted downlink TS
hostapd/config_file.c | 13 ++
hostapd/hostapd.conf | 33 +++++
src/ap/ap_config.h | 3 +
src/ap/ap_drv_ops.h | 8 ++
src/ap/beacon.c | 109 ++++++++++++++-
src/ap/ctrl_iface_ap.c | 18 ++-
src/ap/drv_callbacks.c | 11 ++
src/ap/gas_serv.c | 49 ++++++-
src/ap/hostapd.h | 12 +-
src/ap/hw_features.c | 7 +-
src/ap/ieee802_11.c | 240 ++++++++++++++++++++++++++++----
src/ap/ieee802_11.h | 4 +
src/ap/ieee802_11_shared.c | 109 ++++++++++++---
src/ap/neighbor_db.c | 146 ++++++++++++++++++-
src/ap/neighbor_db.h | 3 +
src/ap/robust_av.c | 17 ++-
src/ap/rrm.c | 65 +++++++++
src/ap/wmm.c | 8 +-
src/ap/wnm_ap.c | 17 ++-
src/common/ieee802_11_common.c | 3 +-
src/common/ieee802_11_defs.h | 13 +-
src/drivers/driver.h | 8 ++
src/drivers/driver_nl80211.c | 32 +++++
tests/hwsim/test_ap_dscp.py | 33 +++++
tests/hwsim/test_ap_ht.py | 36 +++++
tests/hwsim/test_ap_open.py | 46 ++++++
tests/hwsim/test_he.py | 49 +++++++
tests/hwsim/test_mbo.py | 47 +++++++
tests/hwsim/test_oce.py | 203 +++++++++++++++++++++++++++
tests/hwsim/test_rrm.py | 24 ++++
tests/hwsim/test_wnm.py | 61 +++++++-
tests/hwsim/test_wpas_wmm_ac.py | 11 ++
32 files changed, 1357 insertions(+), 81 deletions(-)
--
2.47.3
More information about the Hostap
mailing list