On 12/6/2022 5:46 PM, Andrei Otcheretianski wrote:
...
diff --git a/wpa_supplicant/events.c b/wpa_supplicant/events.c
index e55dbce5a3..3c27bbe3ae 100644
--- a/wpa_supplicant/events.c
+++ b/wpa_supplicant/events.c
...
+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