[PATCH 0/6] hostapd: handle nl80211 no_sta flag in mgmt frames
Ramasamy Kaliappan
ramasamy.kaliappan at oss.qualcomm.com
Thu Aug 6 09:31:41 PDT 2026
Current hostapd design assumes that a STA entry already exists in the
driver when management frames receive with the source address translated
to the MLD address.
In some roaming and steering scenarios, an associated STA can reuse
the same MLD address with a different link address. hostapd cannot
find whether such a frame came from the real client or a spoofed
source when it sees only the MLD address, which can break SAE and
(re)association flows for MLD STAs, especially after SA Query timeout
or when the link address changes.
To address this, nl80211 CMD FRAME is extended with a new attribute
NL80211_ATTR_FRAME_CMD_NO_STA that classifies authentication and
association frames as coming from a unauthorized STA. hostapd uses
this hint to handle these frames without requiring a pre‑existing STA
entry and to allow the station to reconnect cleanly after the SA Query
procedure has completed.
The new hwsim testcase eht_mld_sae_three_links_legacy_no_sta in
tests/hwsim/test_sta_reconnect_no_sta.py simulates an MLD AP where
the first station connects on two links using M1 as the MLD address
and L1 and L2 as link addresses, and a second station then tries
to connect using the same MLD address but different link addresses.
This provides a base to extend hwsim coverage for other no_sta
handling scenarios.
Note:
This patchset, validated with the following driver-dependent patches,
[PATCH wireless-next 0/8] Adding NO_STA flag and reworking RX link resolution
Ramasamy Kaliappan (6):
nl80211: Add support for NL80211_ATTR_FRAME_CMD_NO_STA attribute
hostapd: Handle no_sta flag in auth
hostapd: Handle no_sta flag in association
hostapd: Allow STA association after SA Query timeout
hostapd: Add debug ack status for tx status
hwsim: Add hwsim test case for no_sta handling
src/ap/ap_drv_ops.c | 22 +++-
src/ap/ap_drv_ops.h | 4 +
src/ap/drv_callbacks.c | 1 +
src/ap/hostapd.h | 2 +
src/ap/ieee802_11.c | 197 ++++++++++++++++++++++-------
src/ap/sta_info.c | 4 +-
src/ap/sta_info.h | 6 +
src/drivers/driver.h | 9 +-
src/drivers/driver_nl80211.c | 33 +++--
src/drivers/driver_nl80211_event.c | 27 ++--
tests/hwsim/test_eht.py | 63 +++++++++
wpa_supplicant/driver_i.h | 2 +-
wpa_supplicant/mesh_mpm.c | 1 +
13 files changed, 295 insertions(+), 76 deletions(-)
base-commit: 2328ccef7ef12b4ea226d3aa91cdb9c680711045
prerequisite-patch-id: 0d057d961b216c134a5f0547b8b29797a4d4bd71
--
2.34.1
More information about the Hostap
mailing list