• Alexander Duyck's avatar
    igb: Add workaround for VLAN tag stripping on 82576 · bf456abb
    Alexander Duyck authored
    There was a workaround partially implemented for the 82576 that is needed
    in order for VLAN tag stripping to function correctly.  The original code
    had side effects that would make it so the workaround was active on all
    MACs.  I have updated the code so that the workaround is enabled, but
    limited to the 82576, or activated if we exceed the available unicast
    addresses.
    
    The workaround has a side effect of mirroring all of the traffic outgoing
    from the VFs back to the PF.  As such it is not recommended to use the
    82576 in promiscuous mode as it will take a performance hit, though this is
    now consistent with the performance as seen on the out-of-tree igb driver.
    
    I also limited the scope of the UTA bits all being set to only when the
    VMOLR register is enabled.  This should limit the effects of the UTA
    register so that we don't pick up any excess traffic unless promiscuous
    mode has been enabled on the PF, whereas before the PF would have ended up
    in something equivalent to unicast promiscuous mode with VLAN filtering
    otherwise.
    Signed-off-by: default avatarAlexander Duyck <aduyck@mirantis.com>
    Tested-by: default avatarAaron Brown <aaron.f.brown@intel.com>
    Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
    bf456abb
igb_main.c 218 KB