1
0
Fork 0
mirror of synced 2025-03-06 20:59:54 +01:00
linux/drivers/net/ethernet/intel/ixgbe
Olivier Matz 7bb0fb7c63 ixgbe: fix unexpected VLAN Rx in promisc mode on VF
When the promiscuous mode is enabled on a VF, the IXGBE_VMOLR_VPE
bit (VLAN Promiscuous Enable) is set. This means that the VF will
receive packets whose VLAN is not the same than the VLAN of the VF.

For instance, in this situation:

┌────────┐    ┌────────┐    ┌────────┐
│        │    │        │    │        │
│        │    │        │    │        │
│     VF0├────┤VF1  VF2├────┤VF3     │
│        │    │        │    │        │
└────────┘    └────────┘    └────────┘
   VM1           VM2           VM3

vf 0:  vlan 1000
vf 1:  vlan 1000
vf 2:  vlan 1001
vf 3:  vlan 1001

If we tcpdump on VF3, we see all the packets, even those transmitted
on vlan 1000.

This behavior prevents to bridge VF1 and VF2 in VM2, because it will
create a loop: packets transmitted on VF1 will be received by VF2 and
vice-versa, and bridged again through the software bridge.

This patch remove the activation of VLAN Promiscuous when a VF enables
the promiscuous mode. However, the IXGBE_VMOLR_UPE bit (Unicast
Promiscuous) is kept, so that a VF receives all packets that has the
same VLAN, whatever the destination MAC address.

Fixes: 8443c1a4b1 ("ixgbe, ixgbevf: Add new mbox API xcast mode")
Cc: stable@vger.kernel.org
Cc: Nicolas Dichtel <nicolas.dichtel@6wind.com>
Signed-off-by: Olivier Matz <olivier.matz@6wind.com>
Tested-by: Konrad Jankowski <konrad0.jankowski@intel.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
2022-06-07 10:59:59 -07:00
..
ixgbe.h ixgbe: add improvement for MDD response functionality 2022-03-08 07:41:18 -08:00
ixgbe_82598.c ethernet/intel: Convert fallthrough code comments 2020-07-01 13:47:43 -07:00
ixgbe_82599.c ixgbe: use checker safe conversions 2021-05-26 09:11:41 -07:00
ixgbe_common.c ixgbe: Remove non-inclusive language 2022-02-23 09:55:38 -08:00
ixgbe_common.h net: intel: Cleanup the copyright/license headers 2018-04-27 14:00:04 -04:00
ixgbe_dcb.c net: intel: Cleanup the copyright/license headers 2018-04-27 14:00:04 -04:00
ixgbe_dcb.h net: intel: Cleanup the copyright/license headers 2018-04-27 14:00:04 -04:00
ixgbe_dcb_82598.c net: intel: Cleanup the copyright/license headers 2018-04-27 14:00:04 -04:00
ixgbe_dcb_82598.h net: intel: Cleanup the copyright/license headers 2018-04-27 14:00:04 -04:00
ixgbe_dcb_82599.c net: intel: Cleanup the copyright/license headers 2018-04-27 14:00:04 -04:00
ixgbe_dcb_82599.h net: intel: Cleanup the copyright/license headers 2018-04-27 14:00:04 -04:00
ixgbe_dcb_nl.c net: ethernet: intel: Fix a typo in the file ixgbe_dcb_nl.c 2021-04-13 19:08:48 -07:00
ixgbe_debugfs.c netdev: pass the stuck queue to the timeout handler 2019-12-12 21:38:57 -08:00
ixgbe_ethtool.c ixgbe: add improvement for MDD response functionality 2022-03-08 07:41:18 -08:00
ixgbe_fcoe.c scsi: fcoe: Fix I/O path allocation 2020-08-17 21:52:39 -04:00
ixgbe_fcoe.h net: intel: Cleanup the copyright/license headers 2018-04-27 14:00:04 -04:00
ixgbe_ipsec.c ixgbe: propagate XFRM offload state direction instead of flags 2022-05-06 08:32:52 +02:00
ixgbe_ipsec.h ixgbe: propagate XFRM offload state direction instead of flags 2022-05-06 08:32:52 +02:00
ixgbe_lib.c ixgbe: let the xdpdrv work with more than 64 cpus 2021-09-30 13:38:08 +01:00
ixgbe_main.c ixgbe: add xdp frags support to ndo_xdp_xmit 2022-05-13 17:05:41 -07:00
ixgbe_mbx.c net: intel: Cleanup the copyright/license headers 2018-04-27 14:00:04 -04:00
ixgbe_mbx.h ixgbe: add the ability for the PF to disable VF link state 2022-03-08 07:41:18 -08:00
ixgbe_model.h ixgbe: cleanup sparse warnings 2018-05-17 08:24:30 -07:00
ixgbe_phy.c ixgbe: Support external GBE SerDes PHY BCM54616s 2021-04-13 19:08:48 -07:00
ixgbe_phy.h ixgbe: Check DDM existence in transceiver before access 2019-06-26 09:18:54 -07:00
ixgbe_ptp.c net_tstamp: add new flag HWTSTAMP_FLAG_BONDED_PHC_INDEX 2021-12-14 12:28:24 +00:00
ixgbe_sriov.c ixgbe: fix unexpected VLAN Rx in promisc mode on VF 2022-06-07 10:59:59 -07:00
ixgbe_sriov.h ixgbe: add the ability for the PF to disable VF link state 2022-03-08 07:41:18 -08:00
ixgbe_sysfs.c net: intel: Cleanup the copyright/license headers 2018-04-27 14:00:04 -04:00
ixgbe_txrx_common.h ixgbe, xsk: Terminate Rx side of NAPI when XSK Rx queue gets full 2022-04-15 21:10:45 +02:00
ixgbe_type.h ixgbe: Remove non-inclusive language 2022-02-23 09:55:38 -08:00
ixgbe_x540.c intel: clean up mismatched header comments 2021-03-23 11:34:02 -07:00
ixgbe_x540.h net: intel: Cleanup the copyright/license headers 2018-04-27 14:00:04 -04:00
ixgbe_x550.c ixgbe: set X550 MDIO speed before talking to PHY 2021-12-15 11:24:39 -08:00
ixgbe_xsk.c ixgbe, xsk: Get rid of redundant 'fallthrough' 2022-04-21 16:31:10 +02:00
Makefile ixgbe/ixgbevf: fix XFRM_ALGO dependency 2018-10-31 10:53:15 -07:00