OpenCloudOS-Kernel/drivers/net/wireless/p54
Christian Lamparter be8d98eab8 p54: implement multicast filter
"For best CPU usage and power consumption, having as few
frames as possible percolate through the stack is
desirable. Hence, the hardware should filter as much
as possible."

Note: Not all firmwares include the multicast filter
feature and the stack does not filter them either.
The ARP filter on the other hand was dropped from the
patch since it does not work correctly:

Quote from: Max Filippov <jcmvbkbc@gmail.com>
<http://www.spinics.net/lists/linux-wireless/msg67466.html>
"In the ARP case, when there's no other traffic on p54spi,
all ARP requests are dropped. But if there's some egress
traffic from p54spi, filter seems to work correctly:
only ARP requests that match filter pass through.

In the multicast case filter seems to work correctly, but
it treats broadcast as subject to that filtering too. By
default only 01:00:5e:00:00:01 gets into priv->mc_maclist,
so we miss all broadcasts.

These two filters seem to interfere:
- if we set ARP filter and multicast filter without bc
	=>  we miss all ARPs if there's no egress traffic;
- if we set ARP filter and multicast filter with bc or
	don't set mc filter at all => we get all ARPs.

This effect does not depend on filter setup order."

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Tested-by: Max Filippov <jcmvbkbc@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2011-04-26 15:50:30 -04:00
..
Kconfig p54spi: Update kconfig help text 2011-03-07 13:51:04 -05:00
Makefile p54: Modify p54 files for new organization 2009-07-10 15:02:24 -04:00
eeprom.c p54: fix a NULL pointer dereference bug 2011-02-28 14:06:54 -05:00
eeprom.h p54: enhance rssi->dBm database import 2011-02-14 15:52:10 -05:00
fwio.c p54: implement multicast filter 2011-04-26 15:50:30 -04:00
led.c drivers/net/wireless: Restore upper case words in wiphy_<level> messages 2010-08-18 16:37:44 -04:00
lmac.h p54: implement multicast filter 2011-04-26 15:50:30 -04:00
main.c p54: implement multicast filter 2011-04-26 15:50:30 -04:00
net2280.h drivers/net: use __packed annotation 2010-06-03 03:18:23 -07:00
p54.h p54: implement multicast filter 2011-04-26 15:50:30 -04:00
p54pci.c p54pci: update receive dma buffers before and after processing 2011-02-21 15:17:51 -05:00
p54pci.h drivers/net: use __packed annotation 2010-06-03 03:18:23 -07:00
p54spi.c drivers: Final irq namespace conversion 2011-03-29 14:48:19 +02:00
p54spi.h drivers/net: use __packed annotation 2010-06-03 03:18:23 -07:00
p54spi_eeprom.h p54spi: update sample eeprom 2011-02-14 15:52:10 -05:00
p54usb.c p54usb: IDs for two new devices 2011-04-04 15:22:12 -04:00
p54usb.h drivers/net: use __packed annotation 2010-06-03 03:18:23 -07:00
txrx.c p54: Initialize extra_len in p54_tx_80211 2011-04-08 13:06:30 -04:00