android_kernel_motorola_sm6375/drivers/net
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Olivier Matz 6ec537c500 ixgbe: fix unexpected VLAN Rx in promisc mode on VF
commit 7bb0fb7c63df95d6027dc50d6af3bc3bbbc25483 upstream.

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>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-06-14 18:12:02 +02:00
..
appletalk
arcnet
bonding
caif
can can: xilinx_can: mark bit timing constants as const 2022-06-14 18:11:39 +02:00
dsa net: dsa: lantiq_gswip: Fix refcount leak in gswip_gphy_fw_list 2022-06-14 18:11:57 +02:00
ethernet ixgbe: fix unexpected VLAN Rx in promisc mode on VF 2022-06-14 18:12:02 +02:00
fddi
fjes
hamradio hamradio: remove needs_free_netdev to avoid UAF 2022-05-09 09:03:20 +02:00
hippi drivers: net: hippi: Fix deadlock in rr_close() 2022-05-09 09:03:27 +02:00
hyperv hv_netvsc: Add check for kvmalloc_array 2022-03-23 09:12:07 +01:00
ieee802154
ipvlan
netdevsim
phy net: mdio: unexport __init-annotated mdio_bus_init() 2022-06-14 18:11:58 +02:00
plip
ppp
slip drivers: net: slip: fix NPD bug in sl_tx_timeout() 2022-04-20 09:19:37 +02:00
team
usb net: usb: aqc111: Fix out-of-bounds accesses in RX fixup 2022-04-20 09:19:37 +02:00
vmxnet3 net: vmxnet3: fix possible NULL pointer dereference in vmxnet3_rq_cleanup() 2022-05-25 09:14:35 +02:00
wan
wimax
wireless carl9170: tx: fix an incorrect use of list iterator 2022-06-14 18:11:48 +02:00
xen-netback Revert "xen-netback: Check for hotplug-status existence before watching" 2022-03-16 13:21:47 +01:00
dummy.c
eql.c
geneve.c
gtp.c
ifb.c
Kconfig
LICENSE.SRC
loopback.c
macsec.c
macvlan.c
macvtap.c macvtap: advertise link netns via netlink 2022-04-15 14:18:34 +02:00
Makefile
mdio.c
mii.c
net_failover.c
netconsole.c
nlmon.c
ntb_netdev.c
rionet.c
sb1000.c
Space.c
sungem_phy.c
tap.c tuntap: add sanity checks about msg_controllen in sendmsg 2022-04-15 14:18:34 +02:00
thunderbolt.c
tun.c tuntap: add sanity checks about msg_controllen in sendmsg 2022-04-15 14:18:34 +02:00
veth.c veth: Ensure eth header is in skb's linear part 2022-04-20 09:19:34 +02:00
virtio_net.c
vrf.c
vsockmon.c
vxlan.c vxlan: fix error return code in vxlan_fdb_append 2022-04-27 13:50:47 +02:00
xen-netfront.c