linux_dsm_epyc7002/drivers/net/ethernet/intel/igb
Alexander Duyck bf456abb9b igb: Add workaround for VLAN tag stripping on 82576
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: Alexander Duyck <aduyck@mirantis.com>
Tested-by: Aaron Brown <aaron.f.brown@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2016-02-15 16:52:33 -08:00
..
e1000_82575.c igb: Add workaround for VLAN tag stripping on 82576 2016-02-15 16:52:33 -08:00
e1000_82575.h igb: add flags to set eee advertisement mode 2014-09-06 05:00:39 -07:00
e1000_defines.h igb: Allow asymmetric configuration of MTU versus Rx frame size 2016-02-15 16:27:21 -08:00
e1000_hw.h igb: Refactor VFTA configuration 2016-02-15 16:24:13 -08:00
e1000_i210.c igb: Remove GS40G specific defines/functions 2015-12-14 10:20:06 -08:00
e1000_i210.h igb: Remove GS40G specific defines/functions 2015-12-14 10:20:06 -08:00
e1000_mac.c igb: Merge VLVF configuration into igb_vfta_set 2016-02-15 16:36:52 -08:00
e1000_mac.h igb: Merge VLVF configuration into igb_vfta_set 2016-02-15 16:36:52 -08:00
e1000_mbx.c igb/igbvf: don't give up 2016-02-15 16:17:57 -08:00
e1000_mbx.h igb: Cleanups to change comment style on license headers 2014-04-24 17:26:27 -07:00
e1000_nvm.c igb/ixgbe: remove return statements for void functions 2014-05-23 05:28:41 -07:00
e1000_nvm.h igb: Cleanups to change comment style on license headers 2014-04-24 17:26:27 -07:00
e1000_phy.c igb: Improve cable length function for I210, etc. 2015-12-14 16:04:05 -08:00
e1000_phy.h igb: Remove GS40G specific defines/functions 2015-12-14 10:20:06 -08:00
e1000_regs.h igb: improve handling of disconnected adapters 2015-12-12 23:51:26 -08:00
igb_ethtool.c igb: Explicitly label self-test result indices 2015-12-14 16:07:21 -08:00
igb_hwmon.c igb: Cleanups to change comment style on license headers 2014-04-24 17:26:27 -07:00
igb_main.c igb: Add workaround for VLAN tag stripping on 82576 2016-02-15 16:52:33 -08:00
igb_ptp.c net: igb: avoid using timespec 2015-10-05 03:16:42 -07:00
igb.h igb: Add support for VLAN promiscuous with SR-IOV and NTUPLE 2016-02-15 16:43:06 -08:00
Makefile igb: Update license text to remove FSF address and update copyright. 2014-02-26 15:54:52 -05:00