WNM: Allow frames from AP MLD
Allow frames where the SA is the AP MLD MAC address as the driver might have performed address translation. Signed-off-by: Ilan Peer <ilan.peer@intel.com>
This commit is contained in:
parent
0546f0e1b0
commit
7ee12fca49
1 changed files with 9 additions and 3 deletions
|
@ -1878,7 +1878,9 @@ static void ieee802_11_rx_wnm_notif_req(struct wpa_supplicant *wpa_s,
|
|||
pos, end - pos);
|
||||
|
||||
if (wpa_s->wpa_state != WPA_COMPLETED ||
|
||||
os_memcmp(sa, wpa_s->bssid, ETH_ALEN) != 0) {
|
||||
(os_memcmp(sa, wpa_s->bssid, ETH_ALEN) != 0 &&
|
||||
(!wpa_s->valid_links ||
|
||||
os_memcmp(sa, wpa_s->ap_mld_addr, ETH_ALEN) != 0))) {
|
||||
wpa_dbg(wpa_s, MSG_DEBUG, "WNM: WNM-Notification frame not "
|
||||
"from our AP - ignore it");
|
||||
return;
|
||||
|
@ -1922,7 +1924,9 @@ static void ieee802_11_rx_wnm_coloc_intf_req(struct wpa_supplicant *wpa_s,
|
|||
return; /* only nonzero values are used for request */
|
||||
|
||||
if (wpa_s->wpa_state != WPA_COMPLETED ||
|
||||
os_memcmp(sa, wpa_s->bssid, ETH_ALEN) != 0) {
|
||||
(os_memcmp(sa, wpa_s->bssid, ETH_ALEN) != 0 &&
|
||||
(!wpa_s->valid_links ||
|
||||
os_memcmp(sa, wpa_s->ap_mld_addr, ETH_ALEN) != 0))) {
|
||||
wpa_dbg(wpa_s, MSG_DEBUG,
|
||||
"WNM: Collocated Interference Request frame not from current AP - ignore it");
|
||||
return;
|
||||
|
@ -1952,7 +1956,9 @@ void ieee802_11_rx_wnm_action(struct wpa_supplicant *wpa_s,
|
|||
wpa_printf(MSG_DEBUG, "WNM: RX action %u from " MACSTR,
|
||||
act, MAC2STR(mgmt->sa));
|
||||
if (wpa_s->wpa_state < WPA_ASSOCIATED ||
|
||||
os_memcmp(mgmt->sa, wpa_s->bssid, ETH_ALEN) != 0) {
|
||||
(os_memcmp(mgmt->sa, wpa_s->bssid, ETH_ALEN) != 0 &&
|
||||
(!wpa_s->valid_links ||
|
||||
os_memcmp(mgmt->sa, wpa_s->ap_mld_addr, ETH_ALEN) != 0))) {
|
||||
wpa_printf(MSG_DEBUG, "WNM: Ignore unexpected WNM Action "
|
||||
"frame");
|
||||
return;
|
||||
|
|
Loading…
Reference in a new issue