• Daniel Pieczko's avatar
    sfc: support cascaded multicast filters · ab8b1f7c
    Daniel Pieczko authored
    If the workaround to support cascaded multicast filters ("workaround_26807") is
    enabled, the broadcast filter and individual multicast filters are not inserted
    when in promiscuous or allmulti mode.
    
    There is a race while inserting and removing filters when entering and leaving
    promiscuous mode.  When changing promiscuous state with cascaded multicast
    filters, the old multicast filters are removed before inserting the new filters
    to avoid duplicating packets; this can lead to dropped packets until all
    filters have been inserted.
    
    The efx_nic:mc_promisc flag is added to record the presence of a multicast
    promiscuous filter; this gives a simple way to tell if the promiscuous state is
    changing.
    Signed-off-by: default avatarEdward Cree <ecree@solarflare.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    ab8b1f7c
ef10.c 134 KB