Lines Matching refs:bss

24 static void wpa_bss_set_hessid(struct wpa_bss *bss)  in wpa_bss_set_hessid()  argument
27 const u8 *ie = wpa_bss_get_ie(bss, WLAN_EID_INTERWORKING); in wpa_bss_set_hessid()
29 os_memset(bss->hessid, 0, ETH_ALEN); in wpa_bss_set_hessid()
33 os_memcpy(bss->hessid, ie + 3, ETH_ALEN); in wpa_bss_set_hessid()
35 os_memcpy(bss->hessid, ie + 5, ETH_ALEN); in wpa_bss_set_hessid()
112 int wpa_bss_anqp_unshare_alloc(struct wpa_bss *bss) in wpa_bss_anqp_unshare_alloc() argument
116 if (bss->anqp && bss->anqp->users > 1) { in wpa_bss_anqp_unshare_alloc()
118 anqp = wpa_bss_anqp_clone(bss->anqp); in wpa_bss_anqp_unshare_alloc()
122 bss->anqp->users--; in wpa_bss_anqp_unshare_alloc()
123 bss->anqp = anqp; in wpa_bss_anqp_unshare_alloc()
127 if (bss->anqp) in wpa_bss_anqp_unshare_alloc()
131 bss->anqp = wpa_bss_anqp_alloc(); in wpa_bss_anqp_unshare_alloc()
132 return bss->anqp ? 0 : -1; in wpa_bss_anqp_unshare_alloc()
189 wpa_bss_check_pending_connect(struct wpa_supplicant *wpa_s, struct wpa_bss *bss) in wpa_bss_check_pending_connect() argument
201 if (cwork->bss != bss) in wpa_bss_check_pending_connect()
213 cwork->bss = new_bss; in wpa_bss_update_pending_connect()
219 void wpa_bss_remove(struct wpa_supplicant *wpa_s, struct wpa_bss *bss, in wpa_bss_remove() argument
227 if (wpa_s->last_scan_res[i] == bss) { in wpa_bss_remove()
237 cwork = wpa_bss_check_pending_connect(wpa_s, bss); in wpa_bss_remove()
240 dl_list_del(&bss->list); in wpa_bss_remove()
241 dl_list_del(&bss->list_id); in wpa_bss_remove()
244 " SSID '%s' due to %s", bss->id, MAC2STR(bss->bssid), in wpa_bss_remove()
245 wpa_ssid_txt(bss->ssid, bss->ssid_len), reason); in wpa_bss_remove()
246 wpas_notify_bss_removed(wpa_s, bss->bssid, bss->id); in wpa_bss_remove()
247 wpa_bss_anqp_free(bss->anqp); in wpa_bss_remove()
248 os_free(bss); in wpa_bss_remove()
263 struct wpa_bss *bss; in wpa_bss_get() local
267 dl_list_for_each(bss, &wpa_s->bss, struct wpa_bss, list) { in wpa_bss_get()
268 if ((!bssid || ether_addr_equal(bss->bssid, bssid)) && in wpa_bss_get()
269 bss->ssid_len == ssid_len && in wpa_bss_get()
270 os_memcmp(bss->ssid, ssid, ssid_len) == 0) in wpa_bss_get()
271 return bss; in wpa_bss_get()
317 struct wpa_bss *bss) in wpa_bss_is_wps_candidate() argument
324 wps_ie = wpa_bss_get_vendor_ie_multi(bss, WPS_IE_VENDOR_TYPE); in wpa_bss_is_wps_candidate()
339 (ssid->ssid_len != bss->ssid_len || in wpa_bss_is_wps_candidate()
340 os_memcmp(ssid->ssid, bss->ssid, ssid->ssid_len) != 0)) in wpa_bss_is_wps_candidate()
358 struct wpa_bss *bss) in is_p2p_pending_bss() argument
363 if (ether_addr_equal(bss->bssid, wpa_s->pending_join_iface_addr)) in is_p2p_pending_bss()
366 p2p_parse_dev_addr(wpa_bss_ie_ptr(bss), bss->ie_len, addr) == 0 && in is_p2p_pending_bss()
374 static int wpa_bss_known(struct wpa_supplicant *wpa_s, struct wpa_bss *bss) in wpa_bss_known() argument
378 if (is_p2p_pending_bss(wpa_s, bss)) in wpa_bss_known()
384 if (ssid->ssid_len == bss->ssid_len && in wpa_bss_known()
385 os_memcmp(ssid->ssid, bss->ssid, ssid->ssid_len) == 0) in wpa_bss_known()
393 static int wpa_bss_in_use(struct wpa_supplicant *wpa_s, struct wpa_bss *bss) in wpa_bss_in_use() argument
397 if (bss == wpa_s->current_bss) in wpa_bss_in_use()
400 if (bss == wpa_s->ml_connect_probe_bss) in wpa_bss_in_use()
404 if (bss == wpa_s->wnm_target_bss) in wpa_bss_in_use()
409 (bss->ssid_len != wpa_s->current_bss->ssid_len || in wpa_bss_in_use()
410 os_memcmp(bss->ssid, wpa_s->current_bss->ssid, in wpa_bss_in_use()
411 bss->ssid_len) != 0)) in wpa_bss_in_use()
414 if (!is_zero_ether_addr(bss->bssid) && in wpa_bss_in_use()
415 (ether_addr_equal(bss->bssid, wpa_s->bssid) || in wpa_bss_in_use()
416 ether_addr_equal(bss->bssid, wpa_s->pending_bssid))) in wpa_bss_in_use()
423 if (ether_addr_equal(bss->bssid, wpa_s->links[i].bssid)) in wpa_bss_in_use()
433 struct wpa_bss *bss; in wpa_bss_remove_oldest_unknown() local
435 dl_list_for_each(bss, &wpa_s->bss, struct wpa_bss, list) { in wpa_bss_remove_oldest_unknown()
436 if (!wpa_bss_known(wpa_s, bss) && in wpa_bss_remove_oldest_unknown()
437 !wpa_bss_is_wps_candidate(wpa_s, bss)) { in wpa_bss_remove_oldest_unknown()
438 wpa_bss_remove(wpa_s, bss, __func__); in wpa_bss_remove_oldest_unknown()
449 struct wpa_bss *bss; in wpa_bss_remove_oldest() local
461 dl_list_for_each(bss, &wpa_s->bss, struct wpa_bss, list) { in wpa_bss_remove_oldest()
462 if (!wpa_bss_in_use(wpa_s, bss)) { in wpa_bss_remove_oldest()
463 wpa_bss_remove(wpa_s, bss, __func__); in wpa_bss_remove_oldest()
477 struct wpa_bss *bss; in wpa_bss_add() local
484 bss = os_zalloc(sizeof(*bss) + res->ie_len + res->beacon_ie_len); in wpa_bss_add()
485 if (bss == NULL) in wpa_bss_add()
487 bss->id = wpa_s->bss_next_id++; in wpa_bss_add()
488 bss->last_update_idx = wpa_s->bss_update_idx; in wpa_bss_add()
489 wpa_bss_copy_res(bss, res, fetch_time); in wpa_bss_add()
490 os_memcpy(bss->ssid, ssid, ssid_len); in wpa_bss_add()
491 bss->ssid_len = ssid_len; in wpa_bss_add()
492 bss->ie_len = res->ie_len; in wpa_bss_add()
493 bss->beacon_ie_len = res->beacon_ie_len; in wpa_bss_add()
494 os_memcpy(bss->ies, res + 1, res->ie_len + res->beacon_ie_len); in wpa_bss_add()
495 wpa_bss_set_hessid(bss); in wpa_bss_add()
497 os_memset(bss->mld_addr, 0, ETH_ALEN); in wpa_bss_add()
502 os_memcpy(bss->mld_addr, mld_addr, ETH_ALEN); in wpa_bss_add()
513 dl_list_add_tail(&wpa_s->bss, &bss->list); in wpa_bss_add()
514 dl_list_add_tail(&wpa_s->bss_id, &bss->list_id); in wpa_bss_add()
520 if (!is_zero_ether_addr(bss->hessid)) in wpa_bss_add()
522 MAC2STR(bss->hessid)); in wpa_bss_add()
524 if (!is_zero_ether_addr(bss->mld_addr) && in wpa_bss_add()
528 MAC2STR(bss->mld_addr)); in wpa_bss_add()
533 bss->id, MAC2STR(bss->bssid), wpa_ssid_txt(ssid, ssid_len), in wpa_bss_add()
534 bss->freq, extra); in wpa_bss_add()
535 wpas_notify_bss_added(wpa_s, bss->bssid, bss->id); in wpa_bss_add()
536 return bss; in wpa_bss_add()
637 const struct wpa_bss *bss) in notify_bss_changes() argument
640 wpas_notify_bss_freq_changed(wpa_s, bss->id); in notify_bss_changes()
643 wpas_notify_bss_signal_changed(wpa_s, bss->id); in notify_bss_changes()
646 wpas_notify_bss_privacy_changed(wpa_s, bss->id); in notify_bss_changes()
649 wpas_notify_bss_mode_changed(wpa_s, bss->id); in notify_bss_changes()
652 wpas_notify_bss_wpaie_changed(wpa_s, bss->id); in notify_bss_changes()
655 wpas_notify_bss_rsnie_changed(wpa_s, bss->id); in notify_bss_changes()
658 wpas_notify_bss_wps_changed(wpa_s, bss->id); in notify_bss_changes()
661 wpas_notify_bss_ies_changed(wpa_s, bss->id); in notify_bss_changes()
664 wpas_notify_bss_rates_changed(wpa_s, bss->id); in notify_bss_changes()
666 wpas_notify_bss_seen(wpa_s, bss->id); in notify_bss_changes()
671 wpa_bss_update(struct wpa_supplicant *wpa_s, struct wpa_bss *bss, in wpa_bss_update() argument
676 if (bss->last_update_idx == wpa_s->bss_update_idx) { in wpa_bss_update()
688 MAC2STR(bss->bssid)); in wpa_bss_update()
692 (unsigned int) bss->last_update.sec, in wpa_bss_update()
693 (unsigned int) bss->last_update.usec, in wpa_bss_update()
694 bss->freq, in wpa_bss_update()
695 (bss->flags & WPA_BSS_ASSOCIATED) ? " assoc" : ""); in wpa_bss_update()
701 if ((bss->flags & WPA_BSS_ASSOCIATED) || in wpa_bss_update()
703 !os_reltime_before(&bss->last_update, &update_time))) { in wpa_bss_update()
706 return bss; in wpa_bss_update()
712 changes = wpa_bss_compare_res(bss, res); in wpa_bss_update()
715 MAC2STR(bss->bssid), bss->freq, res->freq); in wpa_bss_update()
716 bss->scan_miss_count = 0; in wpa_bss_update()
717 bss->last_update_idx = wpa_s->bss_update_idx; in wpa_bss_update()
718 wpa_bss_copy_res(bss, res, fetch_time); in wpa_bss_update()
720 dl_list_del(&bss->list); in wpa_bss_update()
722 if (wpa_bss_get_vendor_ie(bss, P2P_IE_VENDOR_TYPE) && in wpa_bss_update()
735 MAC2STR(bss->bssid)); in wpa_bss_update()
738 if (bss->ie_len + bss->beacon_ie_len >= in wpa_bss_update()
740 os_memcpy(bss->ies, res + 1, res->ie_len + res->beacon_ie_len); in wpa_bss_update()
741 bss->ie_len = res->ie_len; in wpa_bss_update()
742 bss->beacon_ie_len = res->beacon_ie_len; in wpa_bss_update()
745 struct dl_list *prev = bss->list_id.prev; in wpa_bss_update()
748 bool update_current_bss = wpa_s->current_bss == bss; in wpa_bss_update()
749 bool update_ml_probe_bss = wpa_s->ml_connect_probe_bss == bss; in wpa_bss_update()
751 cwork = wpa_bss_check_pending_connect(wpa_s, bss); in wpa_bss_update()
754 if (wpa_s->last_scan_res[i] == bss) in wpa_bss_update()
758 dl_list_del(&bss->list_id); in wpa_bss_update()
759 nbss = os_realloc(bss, sizeof(*bss) + res->ie_len + in wpa_bss_update()
774 bss = nbss; in wpa_bss_update()
775 os_memcpy(bss->ies, res + 1, in wpa_bss_update()
777 bss->ie_len = res->ie_len; in wpa_bss_update()
778 bss->beacon_ie_len = res->beacon_ie_len; in wpa_bss_update()
780 dl_list_add(prev, &bss->list_id); in wpa_bss_update()
785 wpa_bss_set_hessid(bss); in wpa_bss_update()
786 os_memset(bss->mld_addr, 0, ETH_ALEN); in wpa_bss_update()
792 os_memcpy(bss->mld_addr, mld_addr, ETH_ALEN); in wpa_bss_update()
795 dl_list_add_tail(&wpa_s->bss, &bss->list); in wpa_bss_update()
797 notify_bss_changes(wpa_s, changes, bss); in wpa_bss_update()
799 return bss; in wpa_bss_update()
836 struct wpa_bss *bss; in wpa_bss_update_scan_res() local
890 bss = wpa_bss_get(wpa_s, res->bssid, ssid + 2, ssid[1]); in wpa_bss_update_scan_res()
891 if (bss == NULL) in wpa_bss_update_scan_res()
892 bss = wpa_bss_add(wpa_s, ssid + 2, ssid[1], res, fetch_time); in wpa_bss_update_scan_res()
894 bss = wpa_bss_update(wpa_s, bss, res, fetch_time); in wpa_bss_update_scan_res()
898 if (bss == wpa_s->last_scan_res[i]) { in wpa_bss_update_scan_res()
906 if (bss == NULL) in wpa_bss_update_scan_res()
924 wpa_s->last_scan_res[wpa_s->last_scan_res_used++] = bss; in wpa_bss_update_scan_res()
928 static int wpa_bss_included_in_scan(const struct wpa_bss *bss, in wpa_bss_included_in_scan() argument
940 if (bss->freq == info->freqs[i]) { in wpa_bss_included_in_scan()
954 (s->ssid_len == bss->ssid_len && in wpa_bss_included_in_scan()
955 os_memcmp(s->ssid, bss->ssid, bss->ssid_len) == in wpa_bss_included_in_scan()
982 struct wpa_bss *bss, *n; in wpa_bss_update_end() local
988 dl_list_for_each_safe(bss, n, &wpa_s->bss, struct wpa_bss, list) { in wpa_bss_update_end()
989 if (wpa_bss_in_use(wpa_s, bss)) in wpa_bss_update_end()
991 if (!wpa_bss_included_in_scan(bss, info)) in wpa_bss_update_end()
993 if (bss->last_update_idx < wpa_s->bss_update_idx) in wpa_bss_update_end()
994 bss->scan_miss_count++; in wpa_bss_update_end()
995 if (bss->scan_miss_count >= in wpa_bss_update_end()
997 wpa_bss_remove(wpa_s, bss, "no match in scan"); in wpa_bss_update_end()
1015 struct wpa_bss *bss, *n; in wpa_bss_flush_by_age() local
1018 if (dl_list_empty(&wpa_s->bss)) in wpa_bss_flush_by_age()
1028 dl_list_for_each_safe(bss, n, &wpa_s->bss, struct wpa_bss, list) { in wpa_bss_flush_by_age()
1029 if (wpa_bss_in_use(wpa_s, bss)) in wpa_bss_flush_by_age()
1035 bss->ssid_len == wpa_s->last_ssid->ssid_len && in wpa_bss_flush_by_age()
1036 os_memcmp(bss->ssid, wpa_s->last_ssid->ssid, in wpa_bss_flush_by_age()
1037 bss->ssid_len) == 0) in wpa_bss_flush_by_age()
1040 if (os_reltime_before(&bss->last_update, &t)) { in wpa_bss_flush_by_age()
1041 wpa_bss_remove(wpa_s, bss, __func__); in wpa_bss_flush_by_age()
1058 dl_list_init(&wpa_s->bss); in wpa_bss_init()
1070 struct wpa_bss *bss, *n; in wpa_bss_flush() local
1074 if (wpa_s->bss.next == NULL) in wpa_bss_flush()
1077 dl_list_for_each_safe(bss, n, &wpa_s->bss, struct wpa_bss, list) { in wpa_bss_flush()
1078 if (wpa_bss_in_use(wpa_s, bss)) in wpa_bss_flush()
1080 wpa_bss_remove(wpa_s, bss, __func__); in wpa_bss_flush()
1104 struct wpa_bss *bss; in wpa_bss_get_bssid() local
1107 dl_list_for_each_reverse(bss, &wpa_s->bss, struct wpa_bss, list) { in wpa_bss_get_bssid()
1108 if (ether_addr_equal(bss->bssid, bssid)) in wpa_bss_get_bssid()
1109 return bss; in wpa_bss_get_bssid()
1129 struct wpa_bss *bss, *found = NULL; in wpa_bss_get_bssid_latest() local
1132 dl_list_for_each_reverse(bss, &wpa_s->bss, struct wpa_bss, list) { in wpa_bss_get_bssid_latest()
1133 if (!ether_addr_equal(bss->bssid, bssid)) in wpa_bss_get_bssid_latest()
1136 os_reltime_before(&found->last_update, &bss->last_update)) in wpa_bss_get_bssid_latest()
1137 found = bss; in wpa_bss_get_bssid_latest()
1157 struct wpa_bss *bss, *found = NULL; in wpa_bss_get_p2p_dev_addr() local
1158 dl_list_for_each_reverse(bss, &wpa_s->bss, struct wpa_bss, list) { in wpa_bss_get_p2p_dev_addr()
1160 if (p2p_parse_dev_addr(wpa_bss_ie_ptr(bss), bss->ie_len, in wpa_bss_get_p2p_dev_addr()
1165 os_reltime_before(&found->last_update, &bss->last_update)) in wpa_bss_get_p2p_dev_addr()
1166 found = bss; in wpa_bss_get_p2p_dev_addr()
1181 struct wpa_bss *bss; in wpa_bss_get_id() local
1182 dl_list_for_each(bss, &wpa_s->bss, struct wpa_bss, list) { in wpa_bss_get_id()
1183 if (bss->id == id) in wpa_bss_get_id()
1184 return bss; in wpa_bss_get_id()
1204 struct wpa_bss *bss; in wpa_bss_get_id_range() local
1205 dl_list_for_each(bss, &wpa_s->bss_id, struct wpa_bss, list_id) { in wpa_bss_get_id_range()
1206 if (bss->id >= idf && bss->id <= idl) in wpa_bss_get_id_range()
1207 return bss; in wpa_bss_get_id_range()
1222 const u8 * wpa_bss_get_ie(const struct wpa_bss *bss, u8 ie) in wpa_bss_get_ie() argument
1224 return get_ie(wpa_bss_ie_ptr(bss), bss->ie_len, ie); in wpa_bss_get_ie()
1240 const u8 * wpa_bss_get_ie_beacon(const struct wpa_bss *bss, u8 ie) in wpa_bss_get_ie_beacon() argument
1244 if (bss->beacon_ie_len == 0) in wpa_bss_get_ie_beacon()
1247 ies = wpa_bss_ie_ptr(bss); in wpa_bss_get_ie_beacon()
1248 ies += bss->ie_len; in wpa_bss_get_ie_beacon()
1249 return get_ie(ies, bss->beacon_ie_len, ie); in wpa_bss_get_ie_beacon()
1262 const u8 * wpa_bss_get_ie_ext(const struct wpa_bss *bss, u8 ext) in wpa_bss_get_ie_ext() argument
1264 return get_ie_ext(wpa_bss_ie_ptr(bss), bss->ie_len, ext); in wpa_bss_get_ie_ext()
1277 const u8 * wpa_bss_get_vendor_ie(const struct wpa_bss *bss, u32 vendor_type) in wpa_bss_get_vendor_ie() argument
1282 ies = wpa_bss_ie_ptr(bss); in wpa_bss_get_vendor_ie()
1284 for_each_element_id(elem, WLAN_EID_VENDOR_SPECIFIC, ies, bss->ie_len) { in wpa_bss_get_vendor_ie()
1306 const u8 * wpa_bss_get_vendor_ie_beacon(const struct wpa_bss *bss, in wpa_bss_get_vendor_ie_beacon() argument
1312 if (bss->beacon_ie_len == 0) in wpa_bss_get_vendor_ie_beacon()
1315 ies = wpa_bss_ie_ptr(bss); in wpa_bss_get_vendor_ie_beacon()
1316 ies += bss->ie_len; in wpa_bss_get_vendor_ie_beacon()
1319 bss->beacon_ie_len) { in wpa_bss_get_vendor_ie_beacon()
1339 struct wpabuf * wpa_bss_get_vendor_ie_multi(const struct wpa_bss *bss, in wpa_bss_get_vendor_ie_multi() argument
1345 buf = wpabuf_alloc(bss->ie_len); in wpa_bss_get_vendor_ie_multi()
1349 pos = wpa_bss_ie_ptr(bss); in wpa_bss_get_vendor_ie_multi()
1350 end = pos + bss->ie_len; in wpa_bss_get_vendor_ie_multi()
1388 struct wpabuf * wpa_bss_get_vendor_ie_multi_beacon(const struct wpa_bss *bss, in wpa_bss_get_vendor_ie_multi_beacon() argument
1394 buf = wpabuf_alloc(bss->beacon_ie_len); in wpa_bss_get_vendor_ie_multi_beacon()
1398 pos = wpa_bss_ie_ptr(bss); in wpa_bss_get_vendor_ie_multi_beacon()
1399 pos += bss->ie_len; in wpa_bss_get_vendor_ie_multi_beacon()
1400 end = pos + bss->beacon_ie_len; in wpa_bss_get_vendor_ie_multi_beacon()
1429 int wpa_bss_get_max_rate(const struct wpa_bss *bss) in wpa_bss_get_max_rate() argument
1435 ie = wpa_bss_get_ie(bss, WLAN_EID_SUPP_RATES); in wpa_bss_get_max_rate()
1441 ie = wpa_bss_get_ie(bss, WLAN_EID_EXT_SUPP_RATES); in wpa_bss_get_max_rate()
1460 int wpa_bss_get_bit_rates(const struct wpa_bss *bss, u8 **rates) in wpa_bss_get_bit_rates() argument
1467 ie = wpa_bss_get_ie(bss, WLAN_EID_SUPP_RATES); in wpa_bss_get_bit_rates()
1468 ie2 = wpa_bss_get_ie(bss, WLAN_EID_EXT_SUPP_RATES); in wpa_bss_get_bit_rates()
1488 const u8 * wpa_bss_get_fils_cache_id(const struct wpa_bss *bss) in wpa_bss_get_fils_cache_id() argument
1492 if (bss) { in wpa_bss_get_fils_cache_id()
1493 ie = wpa_bss_get_ie(bss, WLAN_EID_FILS_INDICATION); in wpa_bss_get_fils_cache_id()
1503 int wpa_bss_ext_capab(const struct wpa_bss *bss, unsigned int capab) in wpa_bss_ext_capab() argument
1505 if (!bss) in wpa_bss_ext_capab()
1507 return ieee802_11_ext_capab(wpa_bss_get_ie(bss, WLAN_EID_EXT_CAPAB), in wpa_bss_ext_capab()
1514 struct wpa_bss *bss, u8 mbssid_idx, in wpa_bss_parse_ml_rnr_ap_info() argument
1581 bss->valid_links |= BIT(link_id); in wpa_bss_parse_ml_rnr_ap_info()
1582 l = &bss->mld_links[link_id]; in wpa_bss_parse_ml_rnr_ap_info()
1613 struct wpa_bss *bss, in wpa_bss_parse_basic_ml_element() argument
1639 const u8 *ies_pos = wpa_bss_ie_ptr(bss); in wpa_bss_parse_basic_ml_element()
1640 size_t ies_len = bss->ie_len ? bss->ie_len : bss->beacon_ie_len; in wpa_bss_parse_basic_ml_element()
1714 bss->mld_link_id = link_id; in wpa_bss_parse_basic_ml_element()
1715 seen = bss->valid_links = BIT(link_id); in wpa_bss_parse_basic_ml_element()
1717 l = &bss->mld_links[link_id]; in wpa_bss_parse_basic_ml_element()
1718 os_memcpy(l->bssid, bss->bssid, ETH_ALEN); in wpa_bss_parse_basic_ml_element()
1719 l->freq = bss->freq; in wpa_bss_parse_basic_ml_element()
1737 wpa_bss_get_ie(bss, WLAN_EID_MULTIPLE_BSSID_INDEX); in wpa_bss_parse_basic_ml_element()
1742 wpa_bss_ie_ptr(bss), in wpa_bss_parse_basic_ml_element()
1743 bss->ie_len ? bss->ie_len : bss->beacon_ie_len) { in wpa_bss_parse_basic_ml_element()
1761 wpa_bss_parse_ml_rnr_ap_info(wpa_s, bss, mbssid_idx, in wpa_bss_parse_basic_ml_element()
1771 bss->valid_links, missing); in wpa_bss_parse_basic_ml_element()
1773 for_each_link(bss->valid_links, i) { in wpa_bss_parse_basic_ml_element()
1775 i, MAC2STR(bss->mld_links[i].bssid)); in wpa_bss_parse_basic_ml_element()
1798 struct wpa_bss *bss) in wpa_bss_parse_reconf_ml_element() argument
1802 const u8 *pos = wpa_bss_ie_ptr(bss); in wpa_bss_parse_reconf_ml_element()
1803 size_t len = bss->ie_len ? bss->ie_len : bss->beacon_ie_len; in wpa_bss_parse_reconf_ml_element()