Search Linux Wireless

WMM QoS classification with local bridging (bridge_packets=1)

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

 



Hi,

I'm running in AP mode with 4956 and I see that frames transmitted
from one client through the AP to a second client will not have the
correct TID set in the QoS header after being forwarded from the AP.

At the end of ieee80211_deliver_skb there is this code that redirects
rx frames sent to local stations back to the wireless driver:

	if (xmit_skb) {
		/* send to wireless media */
		xmit_skb->protocol = __constant_htons(ETH_P_802_3);
		skb_reset_network_header(xmit_skb);
		skb_reset_mac_header(xmit_skb);
		dev_queue_xmit(xmit_skb);
	}

Then in classify_1d:

	if (skb->protocol != __constant_htons(ETH_P_IP) ||
	    skb->len < offset + sizeof(*ip))
		return 0;

The thing is that the protocol is set to ETH_P_802_3 and not IP...

What do you think is the right way to fix this? Parse the frame in
deliver_skb and set the protocol to be IP (when IP frame), or leave
that as is and in classify_1d parse the frame instead of testing the
protocol field?

I'm running with a slightly older version of mac, but I think it is
the same behavior in wireless-dev 2.6 latest sources.

Thanks,
Guy.
-
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[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