linux/drivers/net/ethernet
Ido Schimmel 490f0542a7 mlxsw: spectrum_router: Clear offload indication from IPv6 nexthops on abort
Unlike IPv4, in IPv6 there is no unique structure to represent the
nexthop and both the route and nexthop information are squashed to the
same structure ('struct fib6_info'). In order to improve resource
utilization the driver consolidates identical nexthop groups to the same
internal representation of a nexthop group.

Therefore, when the offload indication of a nexthop changes, the driver
needs to iterate over all the linked fib6_info and toggle their offload
flag accordingly.

During abort, all the routes are removed from the device and unlinked
from their nexthop group. The offload indication is cleared just before
the group is destroyed, but by that time no fib6_info is linked to the
group and the offload indication remains set.

Fix this by clearing the offload indication just before dropping the
reference from the nexthop.

Fixes: ee5a0448e7 ("mlxsw: spectrum_router: Set hardware flags for routes")
Reported-by: Alex Kushnarov <alexanderk@mellanox.com>
Signed-off-by: Ido Schimmel <idosch@mellanox.com>
Acked-by: Jiri Pirko <jiri@mellanox.com>
Tested-by: Alex Kushnarov <alexanderk@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2020-02-07 18:47:01 +01:00
..
3com net: 3com: 3c59x: remove set but not used variable 'mii_reg1' 2020-01-08 12:40:03 -08:00
8390 netdev: pass the stuck queue to the timeout handler 2019-12-12 21:38:57 -08:00
adaptec netdev: pass the stuck queue to the timeout handler 2019-12-12 21:38:57 -08:00
aeroflex
agere net: convert suitable network drivers to use phy_do_ioctl 2020-01-21 10:50:41 +01:00
alacritech remove ioremap_nocache and devm_ioremap_nocache 2020-01-06 09:45:59 +01:00
allwinner net: convert suitable drivers to use phy_do_ioctl_running 2020-01-23 10:49:30 +01:00
alteon netdev: pass the stuck queue to the timeout handler 2019-12-12 21:38:57 -08:00
altera remove ioremap_nocache and devm_ioremap_nocache 2020-01-06 09:45:59 +01:00
amazon net: ena: remove set but not used variable 'rx_ring' 2019-12-27 16:32:40 -08:00
amd Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next 2020-01-28 16:02:33 -08:00
apm drivers: net: xgene: Fix the order of the arguments of 'alloc_etherdev_mqs()' 2020-01-27 11:23:13 +01:00
apple netdev: pass the stuck queue to the timeout handler 2019-12-12 21:38:57 -08:00
aquantia ioremap changes for 5.6 2020-01-27 13:03:00 -08:00
arc net: convert suitable drivers to use phy_do_ioctl_running 2020-01-23 10:49:30 +01:00
atheros Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next 2020-01-28 16:02:33 -08:00
aurora net: convert additional drivers to use phy_do_ioctl 2020-01-22 21:16:32 +01:00
broadcom net: systemport: Avoid RBUF stuck in Wake-on-LAN mode 2020-02-06 14:28:52 +01:00
brocade Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next 2020-01-28 16:02:33 -08:00
cadence net: macb: Limit maximum GEM TX length in TSO 2020-02-05 14:46:03 +01:00
calxeda netdev: pass the stuck queue to the timeout handler 2019-12-12 21:38:57 -08:00
cavium net: convert additional drivers to use phy_do_ioctl 2020-01-22 21:16:32 +01:00
chelsio cxgb4: Added tls stats prints. 2020-02-06 11:26:49 +01:00
cirrus netdev: pass the stuck queue to the timeout handler 2019-12-12 21:38:57 -08:00
cisco netdev: pass the stuck queue to the timeout handler 2019-12-12 21:38:57 -08:00
cortina Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2019-12-22 15:15:05 -08:00
davicom netdev: pass the stuck queue to the timeout handler 2019-12-12 21:38:57 -08:00
dec net: ethernet: dec: tulip: Fix length mask in receive length calculation 2020-02-05 14:21:31 +01:00
dlink netdev: pass the stuck queue to the timeout handler 2019-12-12 21:38:57 -08:00
emulex Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2019-12-22 15:15:05 -08:00
ezchip
faraday net: convert suitable network drivers to use phy_do_ioctl 2020-01-21 10:50:41 +01:00
freescale dpaa_eth: support all modes with rate adapting PHYs 2020-02-07 14:27:25 +01:00
fujitsu netdev: pass the stuck queue to the timeout handler 2019-12-12 21:38:57 -08:00
google Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2020-01-09 12:13:43 -08:00
hisilicon net: convert suitable drivers to use phy_do_ioctl_running 2020-01-23 10:49:30 +01:00
huawei Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2019-12-22 15:15:05 -08:00
i825xx Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next 2020-01-28 16:02:33 -08:00
ibm Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2019-12-22 15:15:05 -08:00
intel Merge branch '100GbE' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/next-queue 2020-01-26 11:38:10 +01:00
marvell net: mvneta: move rx_dropped and rx_errors in per-cpu stats 2020-02-06 11:29:38 +01:00
mediatek netdev: pass the stuck queue to the timeout handler 2019-12-12 21:38:57 -08:00
mellanox mlxsw: spectrum_router: Clear offload indication from IPv6 nexthops on abort 2020-02-07 18:47:01 +01:00
micrel netdev: pass the stuck queue to the timeout handler 2019-12-12 21:38:57 -08:00
microchip net: Introduce peer to peer one step PTP time stamping. 2019-12-25 19:51:34 -08:00
moxa
mscc net: mscc: ocelot: export ANA, DEV and QSYS registers to include/soc/mscc 2020-01-05 23:22:33 -08:00
myricom net: myri10ge: use skb_list_walk_safe helper for gso segments 2020-01-08 15:19:55 -08:00
natsemi Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next 2020-01-28 16:02:33 -08:00
neterion netdev: pass the stuck queue to the timeout handler 2019-12-12 21:38:57 -08:00
netronome Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next 2020-01-28 16:02:33 -08:00
ni net: of_get_phy_mode: Change API to solve int/unit warnings 2019-11-04 11:21:25 -08:00
nvidia netdev: pass the stuck queue to the timeout handler 2019-12-12 21:38:57 -08:00
nxp net: convert suitable drivers to use phy_do_ioctl_running 2020-01-23 10:49:30 +01:00
oki-semi Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2019-12-22 15:15:05 -08:00
packetengines netdev: pass the stuck queue to the timeout handler 2019-12-12 21:38:57 -08:00
pasemi
pensando ionic: fix rxq comp packet type mask 2020-01-31 08:43:05 -08:00
qlogic qed: Fix timestamping issue for L2 unicast ptp packets. 2020-02-05 15:19:34 +01:00
qualcomm net: convert suitable drivers to use phy_do_ioctl_running 2020-01-23 10:49:30 +01:00
rdc net: convert suitable network drivers to use phy_do_ioctl 2020-01-21 10:50:41 +01:00
realtek r8169: fix performance regression related to PCIe max read request size 2020-02-06 14:17:44 +01:00
renesas net: convert suitable drivers to use phy_do_ioctl_running 2020-01-23 10:49:30 +01:00
rocker ipv4: Remove old route notifications and convert listeners 2019-12-16 16:14:43 -08:00
samsung net: convert additional drivers to use phy_do_ioctl 2020-01-22 21:16:32 +01:00
seeq netdev: pass the stuck queue to the timeout handler 2019-12-12 21:38:57 -08:00
sfc Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next 2020-01-28 16:02:33 -08:00
sgi net: sgi: ioc3-eth: Remove leftover free_irq() 2020-02-05 13:53:54 +01:00
silan netdev: pass the stuck queue to the timeout handler 2019-12-12 21:38:57 -08:00
sis netdev: pass the stuck queue to the timeout handler 2019-12-12 21:38:57 -08:00
smsc Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next 2020-01-28 16:02:33 -08:00
socionext net: socionext: fix xdp_result initialization in netsec_process_rx 2020-01-27 11:05:42 +01:00
stmicro net: stmmac: update pci platform data to use phy_interface 2020-02-07 11:36:22 +01:00
sun net: sunvnet: use skb_list_walk_safe helper for gso segments 2020-01-08 15:19:55 -08:00
synopsys netdev: pass the stuck queue to the timeout handler 2019-12-12 21:38:57 -08:00
tehuti
ti Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next 2020-01-28 16:02:33 -08:00
toshiba net: convert suitable drivers to use phy_do_ioctl_running 2020-01-23 10:49:30 +01:00
tundra
via via-velocity: allow nesting of ethtool_ops begin() and complete() 2020-01-06 13:54:55 -08:00
wiznet netdev: pass the stuck queue to the timeout handler 2019-12-12 21:38:57 -08:00
xilinx Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next 2020-01-28 16:02:33 -08:00
xircom netdev: pass the stuck queue to the timeout handler 2019-12-12 21:38:57 -08:00
xscale net: ethernet: ixp4xx: Use parent dev for DMA pool 2020-01-12 12:59:53 -08:00
dnet.c net: convert suitable drivers to use phy_do_ioctl_running 2020-01-23 10:49:30 +01:00
dnet.h
ec_bhf.c
ethoc.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next 2020-01-28 16:02:33 -08:00
fealnx.c netdev: pass the stuck queue to the timeout handler 2019-12-12 21:38:57 -08:00
jme.c netdev: pass the stuck queue to the timeout handler 2019-12-12 21:38:57 -08:00
jme.h
Kconfig hp100: Move 100BaseVG AnyLAN driver to staging 2019-10-31 14:49:52 -07:00
korina.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next 2020-01-28 16:02:33 -08:00
lantiq_etop.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next 2020-01-28 16:02:33 -08:00
lantiq_xrx200.c
Makefile hp100: Move 100BaseVG AnyLAN driver to staging 2019-10-31 14:49:52 -07:00