linux-stable/drivers/net
Ido Schimmel 25cc72a338 mlxsw: spectrum: Forbid linking to devices that have uppers
The mlxsw driver relies on NETDEV_CHANGEUPPER events to configure the
device in case a port is enslaved to a master netdev such as bridge or
bond.

Since the driver ignores events unrelated to its ports and their
uppers, it's possible to engineer situations in which the device's data
path differs from the kernel's.

One example to such a situation is when a port is enslaved to a bond
that is already enslaved to a bridge. When the bond was enslaved the
driver ignored the event - as the bond wasn't one of its uppers - and
therefore a bridge port instance isn't created in the device.

Until such configurations are supported forbid them by checking that the
upper device doesn't have uppers of its own.

Fixes: 0d65fc1304 ("mlxsw: spectrum: Implement LAG port join/leave")
Signed-off-by: Ido Schimmel <idosch@mellanox.com>
Reported-by: Nogah Frankel <nogahf@mellanox.com>
Tested-by: Nogah Frankel <nogahf@mellanox.com>
Signed-off-by: Jiri Pirko <jiri@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2017-09-01 09:59:41 -07:00
..
appletalk
arcnet
bonding bonding: ratelimit failed speed/duplex update warning 2017-08-13 20:01:38 -07:00
caif
can
cris
dsa net: dsa: bcm_sf2: Fix number of CFP entries for BCM7278 2017-08-30 16:02:42 -07:00
ethernet mlxsw: spectrum: Forbid linking to devices that have uppers 2017-09-01 09:59:41 -07:00
fddi
fjes
hamradio
hippi
hyperv netvsc: fix deadlock betwen link status and removal 2017-08-24 21:59:08 -07:00
ieee802154
ipvlan ipvlan: Fix 64-bit statistics seqcount initialization 2017-08-01 20:06:07 -07:00
irda
phy Revert "net: phy: Correctly process PHY_HALTED in phy_stop_machine()" 2017-08-30 18:47:25 -07:00
plip
ppp ppp: fix xmit recursion detection on ppp channels 2017-08-08 21:06:11 -07:00
slip
team
usb cdc_ncm: flag the u-blox TOBY-L4 as wwan 2017-08-28 11:24:03 -07:00
vmxnet3
wan
wimax
wireless wl1251: add a missing spin_lock_init() 2017-08-31 13:11:15 -07:00
xen-netback
dummy.c
eql.c
geneve.c geneve: maximum value of VNI cannot be used 2017-08-09 22:41:04 -07:00
gtp.c gtp: Initialize 64-bit per-cpu stats correctly 2017-08-01 20:06:07 -07:00
ifb.c
Kconfig
LICENSE.SRC
loopback.c
macsec.c macsec: add genl family module alias 2017-08-22 14:25:50 -07:00
macvlan.c
macvtap.c
Makefile
mdio.c
mii.c
netconsole.c
nlmon.c
ntb_netdev.c
rionet.c
sb1000.c
Space.c
sungem_phy.c
tap.c
tun.c tun: handle register_netdevice() failures properly 2017-08-18 15:55:35 -07:00
veth.c
virtio_net.c virtio_net: be drop monitor friendly 2017-08-24 11:50:21 -07:00
vrf.c
vsockmon.c
vxlan.c
xen-netfront.c