linux/drivers/net/ethernet
Alexander Duyck bf4d67d94c ixgbe: Reset interface after enabling SR-IOV
Enabling SR-IOV and then bringing the interface up was resulting in the PF
MAC addresses getting into a bad state.  Specifically the MAC address was
enabled for both VF 0 and the PF.  This resulted in some odd behaviors such
as VF 0 receiving a copy of the PFs traffic, which in turn enables the
ability for VF 0 to spoof the PF.

A workaround for this issue appears to be to bring up the interface first
and then enable SR-IOV as this way the reset is then triggered in the
existing code.

In order to correct this I have added a change to ixgbe_setup_tc where if
the interface is down we still will at least call ixgbe_reset so that the
MAC addresses for the device are reset to the correct pools.

Steps to reproduce issue:
modprobe ixgbe
echo 7 > /sys/bus/pci/devices/0000\:01\:00.1/sriov_numvfs
ifconfig enp1s0f1 up
ethregs -s 1:00.1 | grep MPSAR | grep -v 00000000

Result:
	MPSAR[0]               00000081
	MPSAR[254]             00000001

Expected Result, behavior after patch:
	MPSAR[0]               00000080
	MPSAR[254]             00000080

Signed-off-by: Alexander Duyck <aduyck@mirantis.com>
Tested-by: Darin Miller <darin.j.miller@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2015-12-03 12:41:48 -08:00
..
3com
8390
adaptec
adi
aeroflex drivers/net: get rid of unnecessary initializations in .get_drvinfo() 2015-10-16 00:24:10 -07:00
agere
allwinner net: sun4i-emac: Properly free resources on probe failure and remove 2015-10-21 19:47:45 -07:00
alteon
altera
amd More power management and ACPI updates for v4.4-rc1 2015-11-12 11:50:33 -08:00
apm drivers: net: xgene: fix possible use after free 2015-11-29 22:51:45 -05:00
apple
arc
atheros ethernet/atheros/alx: add Killer E2400 device ID 2015-11-18 14:58:04 -05:00
aurora net: ethernet: add driver for Aurora VLSI NB8800 Ethernet controller 2015-11-20 11:47:02 -05:00
broadcom bnxt_en: Setup uc_list mac filters after resetting the chip. 2015-12-03 15:07:13 -05:00
brocade
cadence net: macb: Add support for sgmii phy interface 2015-11-18 15:09:09 -05:00
calxeda
cavium net: thunderx: Enable BGX LMAC's RX/TX only after VF is up 2015-12-02 15:58:50 -05:00
chelsio Initial 4.4 merge window submission 2015-11-07 13:33:07 -08:00
cirrus
cisco enic: assign affinity hint to interrupts 2015-11-02 15:08:00 -05:00
davicom
dec net: tulip: turn compile-time warning into dev_warn() 2015-11-20 11:02:48 -05:00
dlink dl2k: Add support for IP1000A-based cards 2015-11-16 17:11:31 -05:00
emulex be2net: replace hardcoded values with existing define 2015-11-16 14:46:05 -05:00
ezchip
faraday
freescale net: fsl: Fix error checking for platform_get_irq() 2015-11-30 15:19:44 -05:00
fujitsu
hisilicon net: hisilicon: NET_VENDOR_HISILICON should depend on HAS_DMA 2015-11-09 11:19:29 -05:00
hp
i825xx
ibm drivers/net: get rid of unnecessary initializations in .get_drvinfo() 2015-10-16 00:24:10 -07:00
intel ixgbe: Reset interface after enabling SR-IOV 2015-12-03 12:41:48 -08:00
marvell net: mvneta: enable setting custom TX IP checksum limit 2015-12-02 23:35:05 -05:00
mellanox net/mlx4_core: Avoid returning success in case of an error flow 2015-11-15 18:43:41 -05:00
micrel Merge remote-tracking branches 'spi/topic/omap-100k', 'spi/topic/omap-uwire', 'spi/topic/owner', 'spi/topic/pxa' and 'spi/topic/pxa2xx' into spi-next 2015-11-04 11:02:12 +00:00
microchip spi: Updates for v4.4 2015-11-05 13:15:12 -08:00
moxa
myricom
natsemi
neterion drivers/net: get rid of unnecessary initializations in .get_drvinfo() 2015-10-16 00:24:10 -07:00
nuvoton
nvidia forcedeth: fix unilateral interrupt disabling in netpoll path 2015-10-27 19:45:23 -07:00
nxp net: lpc_eth: remove irq > NR_IRQS check from probe() 2015-12-03 15:02:24 -05:00
octeon drivers/net: get rid of unnecessary initializations in .get_drvinfo() 2015-10-16 00:24:10 -07:00
oki-semi drivers/net: get rid of unnecessary initializations in .get_drvinfo() 2015-10-16 00:24:10 -07:00
packetengines
pasemi
qlogic qed: select ZLIB_INFLATE 2015-11-10 15:39:03 -05:00
qualcomm spi: Drop owner assignment from spi_drivers 2015-10-28 10:30:17 +09:00
rdc
realtek r8169: fix kasan reported skb use-after-free. 2015-11-12 13:51:01 -05:00
renesas ravb: fix WARNING in __free_irq() 2015-11-18 22:03:53 -05:00
rocker asm-generic cleanups 2015-11-06 14:22:15 -08:00
samsung
seeq
sfc sfc: constify pci_error_handlers structures 2015-11-16 15:07:29 -05:00
sgi
silan
sis
smsc net: smsc911x: Reset PHY during initialization 2015-11-16 14:43:14 -05:00
stmicro stmmac: fix oversized frame reception 2015-11-30 14:52:52 -05:00
sun drivers/net: get rid of unnecessary initializations in .get_drvinfo() 2015-10-16 00:24:10 -07:00
synopsys dwc_eth_qos: Delete an unnecessary check before the function call "of_node_put" 2015-11-07 13:17:32 -05:00
tehuti drivers/net: get rid of unnecessary initializations in .get_drvinfo() 2015-10-16 00:24:10 -07:00
ti net: cpsw: Fix ethernet regression for dm814x 2015-11-20 10:46:33 -05:00
tile
toshiba
tundra
via via-velocity: unconditionally drop frames with bad l2 length 2015-11-17 14:37:16 -05:00
wiznet
xilinx drivers/net: get rid of unnecessary initializations in .get_drvinfo() 2015-10-16 00:24:10 -07:00
xircom
xscale
dnet.c
dnet.h
ec_bhf.c
ethoc.c
fealnx.c
jme.c
jme.h
Kconfig net: ethernet: add driver for Aurora VLSI NB8800 Ethernet controller 2015-11-20 11:47:02 -05:00
korina.c
lantiq_etop.c
Makefile net: ethernet: add driver for Aurora VLSI NB8800 Ethernet controller 2015-11-20 11:47:02 -05:00
netx-eth.c