Search Linux Wireless

Re: [PATCH v2] mac80211: fix A-MSDU outer SA/DA

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

 



On Wed, 2016-10-12 at 12:57 +0200, Michael Braun wrote:
> According to IEEE 802.11-2012 section 8.3.2 table 8-19, the outer
> SA/DA of A-MSDU frames need to be changed depending on FromDS/ToDS
> values.

actually ...

>  	struct ieee80211_hdr *hdr;

802.11 header

> -	struct ethhdr amsdu_hdr;
> +	struct ethhdr *amsdu_hdr;
>  	int hdr_len = fast_tx->hdr_len - sizeof(rfc1042_header);

802.11 header length

> +	data = skb_push(skb, sizeof(*amsdu_hdr));

push ethernet header in

> +	memmove(data, data + sizeof(*amsdu_hdr), hdr_len);

move 802.11 header from back to front

> +	hdr = data;

hdr is at the beginning of the frame

> +	amsdu_hdr = data + hdr_len;

amsdu_hdr is actually the *inner* header after all.


So, I actually think my first instinct that you were erroneously
changing the inner header *was* right.


Seems like this code should be inserted towards the end of
ieee80211_amsdu_aggregate() instead, where it's adding the RFC 1042
header?

Need Felix to take a look, I guess.

johannes



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

  Powered by Linux