Search Linux Wireless

Re: [PATCH v4 13/17] mac80211: receive and process S1G beacons

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

 



On 2020-12-09 02:19, Thomas Pedersen wrote:
Hi Wen,

On 2020-12-07 23:44, Wen Gong wrote:
On 2020-09-22 10:28, Thomas Pedersen wrote:
S1G beacons are 802.11 Extension Frames, so the fixed
header part differs from regular beacons.

Add a handler to process S1G beacons and abstract out the
fetching of BSSID and element start locations in the
beacon body handler.

Signed-off-by: Thomas Pedersen <thomas@xxxxxxxxxxxx>
---
 net/mac80211/ieee80211_i.h |  4 ++
 net/mac80211/iface.c       |  5 +++
net/mac80211/mlme.c | 84 +++++++++++++++++++++++++++++--------- net/mac80211/rx.c | 84 ++++++++++++++++----------------------
 net/mac80211/util.c        | 52 +++++++++++++++++++++++
 5 files changed, 162 insertions(+), 67 deletions(-)

...
@@ -1801,7 +1756,8 @@ ieee80211_rx_h_sta_process(struct ieee80211_rx_data *rx)
 		}
 	} else if (rx->sdata->vif.type == NL80211_IFTYPE_OCB) {
 		sta->rx_stats.last_rx = jiffies;
-	} else if (!is_multicast_ether_addr(hdr->addr1)) {
+	} else if (!ieee80211_is_s1g_beacon(hdr->frame_control) &&
+		   is_multicast_ether_addr(hdr->addr1)) {
is this a typo mistake?
it removed ! for is_multicast_ether_addr(!is_multicast_ether_addr ==>
is_multicast_ether_addr)

Yes that does look like a typo, it should be:

	} else if (!ieee80211_is_s1g_beacon(hdr->frame_control) &&
		   !is_multicast_ether_addr(hdr->addr1)) {

(because is_multicast_ether_addr() evaluates to true for s1g beacons).

Do you have a patch or would you like me to send a fixup?
Yes, I have a patch for it.
I will send it.

Thanks,



[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