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 <quic_jouni@quicinc.com>
This commit is contained in:
parent
74e4a0a6f1
commit
a5a0b2cf7b
1 changed files with 4 additions and 0 deletions
|
@ -54,6 +54,10 @@ struct wlantest_sta * sta_find_mlo(struct wlantest *wt,
|
||||||
dl_list_for_each(obss, &wt->bss, struct wlantest_bss, list) {
|
dl_list_for_each(obss, &wt->bss, struct wlantest_bss, list) {
|
||||||
if (obss == bss)
|
if (obss == bss)
|
||||||
continue;
|
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) {
|
dl_list_for_each(sta, &obss->sta, struct wlantest_sta, list) {
|
||||||
if (os_memcmp(sta->addr, addr, ETH_ALEN) == 0)
|
if (os_memcmp(sta->addr, addr, ETH_ALEN) == 0)
|
||||||
return sta;
|
return sta;
|
||||||
|
|
Loading…
Reference in a new issue