[RFC 29/30] SMD: testing option to request DL draining for specific TIDs
Ilan Peer
ilan.peer at intel.com
Wed Oct 21 06:43:47 PDT 2026
Add a smd_drain_tids setting (TID bitmap, default 0 meaning the
driver's default of all TIDs) that's passed to the driver for the
ST execution, so the DL TID Bitmap in the ST execution request can
be controlled for testing.
Signed-off-by: Ilan Peer <ilan.peer at intel.com>
---
wpa_supplicant/ctrl_iface.c | 7 +++++++
wpa_supplicant/smd.c | 3 +++
wpa_supplicant/wpa_supplicant_i.h | 2 ++
3 files changed, 12 insertions(+)
diff --git a/wpa_supplicant/ctrl_iface.c b/wpa_supplicant/ctrl_iface.c
index 12581dc506ed..38c6376a236f 100644
--- a/wpa_supplicant/ctrl_iface.c
+++ b/wpa_supplicant/ctrl_iface.c
@@ -891,6 +891,12 @@ static int wpa_supplicant_ctrl_iface_set(struct wpa_supplicant *wpa_s,
wpa_s->disable_eapol_g2_tx);
} else if (os_strcasecmp(cmd, "smd_test_st_fail") == 0) {
wpa_s->smd_test_st_fail = atoi(value);
+ } else if (os_strcasecmp(cmd, "smd_drain_tids") == 0) {
+ int val = strtol(value, NULL, 0);
+
+ if (val < 0 || val > 0xff)
+ return -1;
+ wpa_s->smd_drain_tids = val;
} else if (os_strcasecmp(cmd, "test_assoc_comeback_type") == 0) {
wpa_s->test_assoc_comeback_type = atoi(value);
#ifdef CONFIG_DPP
@@ -9310,6 +9316,7 @@ static void wpa_supplicant_ctrl_iface_flush(struct wpa_supplicant *wpa_s)
wpa_s->disable_eapol_g2_tx = 0;
wpa_s->eapol_2_key_info_set_mask = 0;
wpa_s->test_assoc_comeback_type = -1;
+ wpa_s->smd_drain_tids = 0;
#ifdef CONFIG_DPP
os_free(wpa_s->dpp_config_obj_override);
wpa_s->dpp_config_obj_override = NULL;
diff --git a/wpa_supplicant/smd.c b/wpa_supplicant/smd.c
index 186e586cafe9..ea5e483a24e8 100644
--- a/wpa_supplicant/smd.c
+++ b/wpa_supplicant/smd.c
@@ -301,6 +301,9 @@ static int wpas_smd_st_execute(struct wpa_supplicant *wpa_s,
os_memset(&mic_elem, 0, sizeof(mic_elem));
params.target_ap_mld_addr = smd->target_ap_mld_addr;
+#ifdef CONFIG_TESTING_OPTIONS
+ params.drain_tids = wpa_s->smd_drain_tids;
+#endif /* CONFIG_TESTING_OPTIONS */
wpa_printf(MSG_DEBUG, "SMD: Starting ST execution");
diff --git a/wpa_supplicant/wpa_supplicant_i.h b/wpa_supplicant/wpa_supplicant_i.h
index b9ab205cb9d1..3d5d28199bbd 100644
--- a/wpa_supplicant/wpa_supplicant_i.h
+++ b/wpa_supplicant/wpa_supplicant_i.h
@@ -1554,6 +1554,8 @@ struct wpa_supplicant {
unsigned int oci_freq_override_wnm_sleep;
unsigned int disable_eapol_g2_tx;
unsigned int smd_test_st_fail;
+ /* DL TIDs to drain via the current AP MLD (0 = driver default) */
+ u8 smd_drain_tids;
unsigned int eapol_2_key_info_set_mask;
int test_assoc_comeback_type;
struct wpabuf *link_ies[MAX_NUM_MLD_LINKS];
--
2.55.0
More information about the Hostap
mailing list