[PATCH 1/3] AP: Add testing option to omit per-STA profiles from ML probe response
Louis Kotze
loukot at gmail.com
Sat Aug 22 15:40:41 PDT 2026
An AP MLD is expected to answer a multi-link probe request with the
per-STA profiles of the requested APs. Not all AP MLDs do so, and a
non-AP MLD then has to discover the information for those links some
other way. hostapd always includes the requested profiles, so that case
cannot be covered by the hwsim test cases.
Add a testing option that leaves the requested per-STA profiles out of
the multi-link probe response. The Basic Multi-Link element with the
common information of the responding AP is still included, which is what
was observed from an AP MLD that does not honor the Per-STA Profile
subelements of a Probe Request Multi-Link element.
Signed-off-by: Louis Kotze <loukot at gmail.com>
---
hostapd/config_file.c | 2 ++
src/ap/ap_config.h | 1 +
src/ap/beacon.c | 8 ++++++++
3 files changed, 11 insertions(+)
diff --git a/hostapd/config_file.c b/hostapd/config_file.c
index 6484d6f7d..dfbf8d3d9 100644
--- a/hostapd/config_file.c
+++ b/hostapd/config_file.c
@@ -5225,6 +5225,8 @@ static int hostapd_config_fill(struct hostapd_config *conf,
return 1;
} else if (os_strcmp(buf, "mld_indicate_disabled") == 0) {
bss->mld_indicate_disabled = atoi(pos);
+ } else if (os_strcmp(buf, "no_ml_probe_sta_profiles") == 0) {
+ bss->no_ml_probe_sta_profiles = atoi(pos);
} else if (os_strcmp(buf, "disable_mcs15_rx") == 0) {
conf->disable_mcs15_rx = atoi(pos);
#endif /* CONFIG_TESTING_OPTIONS */
diff --git a/src/ap/ap_config.h b/src/ap/ap_config.h
index 563639e76..29f3eecc3 100644
--- a/src/ap/ap_config.h
+++ b/src/ap/ap_config.h
@@ -725,6 +725,7 @@ struct hostapd_bss_config {
#ifdef CONFIG_IEEE80211BE
u16 eht_oper_puncturing_override;
+ bool no_ml_probe_sta_profiles;
#endif /* CONFIG_IEEE80211BE */
#endif /* CONFIG_TESTING_OPTIONS */
diff --git a/src/ap/beacon.c b/src/ap/beacon.c
index 41b94c592..619afa358 100644
--- a/src/ap/beacon.c
+++ b/src/ap/beacon.c
@@ -1155,6 +1155,14 @@ static void hostapd_fill_probe_resp_ml_params(struct hostapd_data *hapd,
params->mld_ap = hapd;
}
+#ifdef CONFIG_TESTING_OPTIONS
+ if (hapd->conf->no_ml_probe_sta_profiles) {
+ wpa_printf(MSG_DEBUG,
+ "TESTING: Do not add the requested per-STA profiles to the ML probe response");
+ return;
+ }
+#endif /* CONFIG_TESTING_OPTIONS */
+
for_each_mld_link(link, hapd) {
struct mld_link_info *link_info;
u8 mld_link_id = link->mld_link_id;
--
2.55.0
More information about the Hostap
mailing list