linux_dsm_epyc7002/drivers/net
Ido Schimmel a69518cf0b mlxsw: spectrum_router: Avoid expensive lookup during route removal
In commit fc922bb0dd ("mlxsw: spectrum_router: Use one LPM tree for
all virtual routers") I increased the scale of supported VRFs by having
all of them share the same LPM tree.

In order to avoid look-ups for prefix lengths that don't exist, each
route removal would trigger an aggregation across all the active virtual
routers to see which prefix lengths are in use and which aren't and
structure the tree accordingly.

With the way the data structures are currently laid out, this is a very
expensive operation. When preformed repeatedly - due to the invocation
of the abort mechanism - and with enough VRFs, this can result in a hung
task.

For now, avoid this optimization until it can be properly re-added in
net-next.

Fixes: fc922bb0dd ("mlxsw: spectrum_router: Use one LPM tree for all virtual routers")
Signed-off-by: Ido Schimmel <idosch@mellanox.com>
Reported-by: David Ahern <dsa@cumulusnetworks.com>
Tested-by: David Ahern <dsa@cumulusnetworks.com>
Signed-off-by: Jiri Pirko <jiri@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2017-10-08 10:05:27 -07:00
..
appletalk
arcnet
bonding net: bonding: fix tlb_dynamic_lb default value 2017-09-12 20:58:12 -07:00
caif
can can: constify platform_device_id 2017-08-13 20:12:23 -07:00
cris
dsa net: dsa: mv88e6xxx: lock mutex when freeing IRQs 2017-09-28 10:28:24 -07:00
ethernet mlxsw: spectrum_router: Avoid expensive lookup during route removal 2017-10-08 10:05:27 -07:00
fddi net: defxx: constify eisa_device_id 2017-08-19 17:13:41 -07:00
fjes
hamradio
hippi
hyperv hv_netvsc: fix send buffer failure on MTU change 2017-09-21 15:17:16 -07:00
ieee802154 ieee802154: ca8210: Fix a potential NULL pointer dereference 2017-08-20 20:51:30 +02:00
ipvlan Merge git://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf-next 2017-09-03 17:08:42 -07:00
phy net: phy: Fix truncation of large IRQ numbers in phy_attached_print() 2017-09-21 20:35:17 -07:00
plip
ppp ppp: fix race in ppp device destruction 2017-10-06 10:16:34 -07:00
slip
team
usb rndis_host: support Novatel Verizon USB730L 2017-10-03 14:30:46 -07:00
vmxnet3
wan - For the randstruct plugin, enable automatic randomization of structures 2017-09-07 20:30:19 -07:00
wimax
wireless Merge ath-current from ath.git 2017-09-25 10:06:12 +03:00
xen-netback xen-netback: update ubuf_info initialization to anonymous union 2017-08-28 15:11:50 -07:00
dummy.c
eql.c
geneve.c geneve: use netlink_ext_ack for error reporting in rtnl operations 2017-08-11 13:45:02 -07:00
gtp.c
ifb.c
Kconfig x86/lguest: Remove lguest support 2017-08-24 09:57:28 +02:00
LICENSE.SRC
loopback.c
macsec.c macsec: add genl family module alias 2017-08-22 14:25:50 -07:00
macvlan.c macvlan: add offload features for encapsulation 2017-08-18 16:06:54 -07:00
macvtap.c
Makefile irda: move drivers/net/irda to drivers/staging/irda/drivers 2017-08-28 16:42:57 -07:00
mdio.c
mii.c
netconsole.c
nlmon.c
ntb_netdev.c
rionet.c
sb1000.c
Space.c
sungem_phy.c
tap.c tun/tap: use paren's with sizeof 2017-08-16 11:01:57 -07:00
tun.c tun: bail out from tun_get_user() if the skb is empty 2017-09-28 08:37:28 -07:00
veth.c
virtio_net.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-09-01 17:42:05 -07:00
vrf.c net: vrf: avoid gcc-4.6 warning 2017-09-15 14:22:21 -07:00
vsockmon.c
vxlan.c vxlan: factor out VXLAN-GPE next protocol 2017-08-29 15:16:52 -07:00
xen-netfront.c xen-netfront: be more drop monitor friendly 2017-08-30 15:56:16 -07:00