• Christian Lamparter's avatar
    p54: implement multicast filter · be8d98ea
    Christian Lamparter authored
    "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: default avatarChristian Lamparter <chunkeey@googlemail.com>
    Tested-by: default avatarMax Filippov <jcmvbkbc@gmail.com>
    Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
    be8d98ea
lmac.h 12.2 KB