From a5a0b2cf7b1b39d906c88844b54c2283efee7127 Mon Sep 17 00:00:00 2001 From: Jouni Malinen Date: Thu, 10 Aug 2023 11:18:57 +0300 Subject: [PATCH] wlantest: Find non-AP MLD only from affiliated BSSs of the AP MLD Make sta_find_mlo() more accurate by searching a non-AP MLD only from the affialiated BSSs of the AP MLD instead of from any BSS. This might help in some roaming cases where both the old and the new AP MLD have their affiliated links in the BSS table. Signed-off-by: Jouni Malinen --- wlantest/sta.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/wlantest/sta.c b/wlantest/sta.c index 6b5573e3a..6a5412e54 100644 --- a/wlantest/sta.c +++ b/wlantest/sta.c @@ -54,6 +54,10 @@ struct wlantest_sta * sta_find_mlo(struct wlantest *wt, dl_list_for_each(obss, &wt->bss, struct wlantest_bss, list) { if (obss == bss) continue; + if (!is_zero_ether_addr(bss->mld_mac_addr) && + os_memcmp(obss->mld_mac_addr, bss->mld_mac_addr, + ETH_ALEN) != 0) + continue; dl_list_for_each(sta, &obss->sta, struct wlantest_sta, list) { if (os_memcmp(sta->addr, addr, ETH_ALEN) == 0) return sta;