Search Linux Wireless

Re: [PATCH 06/14] mac80211: adding 802.11n essential A-MSDU Rx capability

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

 



> This patch adds the ability to receive and handle A-MSDU frames.

> +			u16 amsdu_frame;

Why a u16 of all the available types? Maybe just 'bool'?

> +	switch (fc & (IEEE80211_FCTL_TODS | IEEE80211_FCTL_FROMDS)) {
> +	case IEEE80211_FCTL_TODS:
> +		/* BSSID SA DA */
> +		if (unlikely(sdata->type != IEEE80211_IF_TYPE_AP &&
> +		    sdata->type != IEEE80211_IF_TYPE_VLAN)) {
> +			printk(KERN_DEBUG "%s: dropped ToDS frame (BSSID=%s"
> +			       " SA=%s DA=%s)\n",
> +			       dev->name, print_mac(mac, hdr->addr1),
> +			       print_mac(mac, hdr->addr2),
> +			       print_mac(mac, hdr->addr3));

net_ratelimit()

> +			printk(KERN_DEBUG "%s: dropped FromDS&ToDS frame"
> +			       " (RA=%s TA=%s DA=%s SA=%s)\n",
> +			       rx->dev->name, print_mac(mac, hdr->addr1),
> +			       print_mac(mac, hdr->addr2),
> +			       print_mac(mac, hdr->addr3),
> +			       print_mac(mac, hdr->addr4));

ditto.

> +			if (net_ratelimit())
> +				printk(KERN_DEBUG "%s: dropped IBSS frame"
> +				       " (DA=%s SA=%s BSSID=%s)\n",
> +				       dev->name, print_mac(mac, hdr->addr1),
> +				       print_mac(mac, hdr->addr2),
> +				       print_mac(mac, hdr->addr3));

Heh :)

> +			skb_reserve(frame, local->hw.extra_tx_headroom +
> +				    sizeof(struct ethhdr));

Hah. I knew there was an skb_reserve missing in the original code :)



The one thing I'm not sure about here is the EAPOL frame handling. In
theory, such frames could be part of an aggregation and thus we'll not
get them to the right place. Then again, we haven't decided yet what the
right place is. Also, what happens with 802.1X port control?

johannes

Attachment: signature.asc
Description: This is a digitally signed message part


[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]
  Powered by Linux