• Edward Cree's avatar
    sfc: don't insert mc_list on low-latency firmware if it's too long · 148cbab6
    Edward Cree authored
    If the mc_list is longer than 256 addresses, we enter mc_promisc mode.
    If we're in mc_promisc mode and the firmware doesn't support cascaded
     multicast, normally we also insert our mc_list, to prevent stealing by
     another VI.  However, if the mc_list was too long, this isn't really
     helpful - the MC groups that didn't fit in the list can still get
     stolen, and having only some of them stealable will probably cause
     more confusing behaviour than having them all stealable.  Since
     inserting 256 multicast filters takes a long time and can lead to MCDI
     state machine timeouts, just skip the mc_list insert in this overflow
     condition.
    Signed-off-by: default avatarEdward Cree <ecree@solarflare.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    148cbab6
ef10.c 194 KB