linux/drivers/net/ethernet/mellanox/mlxsw
Ido Schimmel a59b7e0246 mlxsw: spectrum_router: Correctly reallocate adjacency entries
mlxsw_sp_nexthop_group_mac_update() is called in one of two cases:

1) When the MAC of a nexthop needs to be updated
2) When the size of a nexthop group has changed

In the second case the adjacency entries for the nexthop group need to
be reallocated from the adjacency table. In this case we must write to
the entries the MAC addresses of all the nexthops that should be
offloaded and not only those whose MAC changed. Otherwise, these entries
would be filled with garbage data, resulting in packet loss.

Fixes: a7ff87acd9 ("mlxsw: spectrum_router: Implement next-hop routing")
Signed-off-by: Ido Schimmel <idosch@mellanox.com>
Signed-off-by: Jiri Pirko <jiri@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2017-01-24 13:42:45 -05:00
..
cmd.h mlxsw: cmd: Push resource query defines to cmd.h 2016-10-23 17:21:29 -04:00
core_hwmon.c mlxsw: core: Zero payload buffers for couple of registers 2016-10-30 16:50:17 -04:00
core_thermal.c mlxsw: core: Implement thermal zone 2016-11-22 10:04:19 -05:00
core.c mlxsw: core: Create an ordered workqueue for FIB offload 2016-12-03 19:29:35 -05:00
core.h mlxsw: core: Create an ordered workqueue for FIB offload 2016-12-03 19:29:35 -05:00
emad.h mlxsw: Add interface to access registers and process events 2015-07-30 00:05:00 -07:00
i2c.c mlxsw: Introduce support for I2C bus 2016-11-16 23:29:04 -05:00
i2c.h mlxsw: Introduce support for I2C bus 2016-11-16 23:29:04 -05:00
ib.h mlxsw: switchx2: Add IB port support 2016-10-30 16:50:17 -04:00
item.h mlxsw: item: Make char *buf arg constant for getters 2016-10-23 17:21:28 -04:00
Kconfig mlxsw: switchib: add MLXSW_PCI dependency 2016-11-29 20:36:25 -05:00
Makefile mlxsw: core: Implement thermal zone 2016-11-22 10:04:19 -05:00
minimal.c mlxsw: minimal: Add I2C support for Mellanox ASICs 2016-11-16 23:29:04 -05:00
pci_hw.h mlxsw: pci: Fix EQE structure definition 2017-01-12 09:25:55 -05:00
pci.c mlxsw: Add bus capability flag 2016-11-16 23:29:04 -05:00
pci.h mlxsw: switchib: Introduce SwitchIB and SwitchIB silicon driver 2016-10-30 16:50:17 -04:00
port.h mlxsw: switchib: Introduce SwitchIB and SwitchIB silicon driver 2016-10-30 16:50:17 -04:00
reg.h mlxsw: reg: Add QoS Policer Configuration Register 2016-11-25 21:22:14 -05:00
resources.h mlxsw: resources: Add maximum buffer size 2016-11-29 20:48:51 -05:00
spectrum_buffers.c mlxsw: spectrum_buffers: Limit size of pools 2016-11-29 20:48:51 -05:00
spectrum_dcb.c mlxsw: spectrum: Do not override PAUSE settings 2016-08-08 12:57:27 -07:00
spectrum_kvdl.c mlxsw: Introduce simplistic KVD linear area manager 2016-07-05 09:06:30 -07:00
spectrum_router.c mlxsw: spectrum_router: Correctly reallocate adjacency entries 2017-01-24 13:42:45 -05:00
spectrum_switchdev.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2016-11-15 10:54:36 -05:00
spectrum.c mlxsw: spectrum: Fix memory leak at skb reallocation 2017-01-12 09:25:55 -05:00
spectrum.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2016-11-15 10:54:36 -05:00
switchib.c mlxsw: Change trap groups setting 2016-11-25 21:22:14 -05:00
switchx2.c mlxsw: switchx2: Fix memory leak at skb reallocation 2017-01-12 09:25:55 -05:00
trap.h mlxsw: spectrum: Add BGP trap 2016-11-25 21:22:14 -05:00
txheader.h mlxsw: spectrum: Add initial support for Spectrum ASIC 2015-10-16 07:15:23 -07:00