Search Linux Wireless

Re: [PATCH 1/1] mac80211: restructuring data Rx handlers

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

 



After seeing the corresponding a-msdu patch here are a few more
questions.

> +static ieee80211_txrx_result
> +ieee80211_rx_h_data(struct ieee80211_txrx_data *rx)
> +{
> +	struct net_device *dev = rx->dev;
> +	struct ieee80211_local *local = rx->local;
> +	u16 fc;
> +	int err;
> +	struct sk_buff *skb, *skb2;
> +	struct ieee80211_sub_if_data *sdata = IEEE80211_DEV_TO_SUB_IF(dev);
> +
> +	fc = rx->fc;
> +	if (unlikely((fc & IEEE80211_FCTL_FTYPE) != IEEE80211_FTYPE_DATA))
> +		return TXRX_CONTINUE;
> +
> +	err = ieee80211_data_to_8023(rx);
> +	if (unlikely(err))
> +		return TXRX_DROP;
> +
> +	if ((ieee80211_drop_802_1x_pae(rx, sizeof(struct ethhdr))) ||
> +	    (ieee80211_drop_unencrypted(rx, sizeof(struct ethhdr))))
> +		return TXRX_DROP;

I like this.

> +	skb = rx->skb;
> +	skb->dev = dev;
>  	skb2 = NULL;
>  
>  	dev->stats.rx_packets++;

Ok so the stuff that comes after this until the ned of the function is
responsible for delivering the packet. Maybe that should be split out
from the function too into something like ieee80211_deliver_skb()? In
the A-MSDU code you've had to basically copy all this code into the loop
as far as I can tell, something which I'd like to avoid very much.

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