On 12/6/2022 5:46 PM, Andrei Otcheretianski wrote:
...
diff --git a/wpa_supplicant/sme.c b/wpa_supplicant/sme.c
index f6ace37606..a44044079e 100644
--- a/wpa_supplicant/sme.c
+++ b/wpa_supplicant/sme.c
@@ -367,6 +367,194 @@ static void sme_auth_handle_rrm(struct wpa_supplicant *wpa_s,
}
+static bool wpas_ml_element(struct wpa_supplicant *wpa_s, struct wpa_bss *bss)
...
+ if (neigh_bss) {
+ if (wpa_scan_res_match(wpa_s, 0, neigh_bss,
+ wpa_s->current_ssid,
+ 1, 0)) {
If wpa_scan_res_match() fail, then the neigh_bss will be dropped, and
the neigh link will NOT connect, then N link reduced to N-1 link.
for example, the bssid failed connect for last time, it will be ignored
for 10 seconds:
Feb 13 17:42:20 cst-Celadon-RN wpa_supplicant[967]: Added BSSID
00:03:7f:01:59:50 into ignore list, ignoring for 10 seconds
Feb 13 17:42:20 cst-Celadon-RN wpa_supplicant[967]: BSSID
00:03:7f:01:59:50 ignore list count incremented to 2, ignoring for 10
seconds
Feb 13 17:42:21 cst-Celadon-RN wpa_supplicant[967]: wlan0: skip -
BSSID ignored (count=2 limit=0)
+ wpa_s->valid_links |= BIT(link_id);
+ os_memcpy(wpa_s->links[link_id].bssid,
+ ap_info->data + 1, ETH_ALEN);
+ wpa_s->links[link_id].freq =
+ neigh_bss->freq;
+ } else {
+ wpa_printf(MSG_DEBUG,
+ "MLD: neighbor doesn't match current SSID - skip link");
+ }
+ } else {
+ wpa_printf(MSG_DEBUG,
+ "MLD: neighbor not found in scan");
+ }
+ }
...
_______________________________________________
Hostap mailing list
Hostap@xxxxxxxxxxxxxxxxxxx
http://lists.infradead.org/mailman/listinfo/hostap