Search Linux Wireless

wifi: mac80211: Re: unicast probe response bssid changed by "wifi: mac80211: do link->MLD address translation on RX"

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 9/14/2022 11:13 AM, Wen Gong wrote:
Hi Johannes,

The mac addr of unicast rx packet all changed to the MLD address by below patch. Now the probe presponse which is unicast packet is also changed mac address here. I found bssid which is the MLD address of my test AP in cfg80211_get_bss(). For example, if the AP has 2 mlo links, link 1 is 5 GHz band, link 2 is 2.4 GHz band,
then the 2 probe reponse will be changed to a same one.
seems we should skip probe presponse for the mac address change here, right?

https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git/commit/?id=42fb9148c078004d07b4c39bd7b1086b6165780c
wifi: mac80211: do link->MLD address translation on RX

Hi Johannes,

May I get your comment about this?

I did below change in my local test to workaround the issue.

diff --git a/net/mac80211/rx.c b/net/mac80211/rx.c
index a57811372027..eaff5353520a 100644
--- a/net/mac80211/rx.c
+++ b/net/mac80211/rx.c
@@ -4858,7 +4858,8 @@ static bool ieee80211_prepare_and_rx_handle(struct ieee80211_rx_data *rx,
         shwt->hwtstamp = skb_hwtstamps(skb)->hwtstamp;
     }

-    if (unlikely(link_sta)) {
+    if (unlikely(link_sta) &&
+        !(ieee80211_is_probe_resp(hdr->frame_control))) {
         /* translate to MLD addresses */
         if (ether_addr_equal(link->conf->addr, hdr->addr1))
             ether_addr_copy(hdr->addr1, rx->sdata->vif.addr);




[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Wireless Regulations]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux