linux_dsm_epyc7002/drivers/net/ethernet/mellanox/mlxsw
Ido Schimmel b1e455260c mlxsw: spectrum_router: Simplify VRF enslavement
When a netdev is enslaved to a VRF master, its router interface (RIF)
needs to be destroyed (if exists) and a new one created using the
corresponding virtual router (VR).

>From the driver's perspective, the above is equivalent to an inetaddr
event sent for this netdev. Therefore, when a port netdev (or its
uppers) are enslaved to a VRF master, call the same function that
would've been called had a NETDEV_UP was sent for this netdev in the
inetaddr notification chain.

This patch also fixes a bug when a LAG netdev with an existing RIF is
enslaved to a VRF. Before this patch, each LAG port would drop the
reference on the RIF, but would re-join the same one (in the wrong VR)
soon after. With this patch, the corresponding RIF is first destroyed
and a new one is created using the correct VR.

Fixes: 7179eb5acd ("mlxsw: spectrum_router: Add support for VRFs")
Signed-off-by: Ido Schimmel <idosch@mellanox.com>
Reviewed-by: Jiri Pirko <jiri@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2017-05-01 11:47:58 -04:00
..
cmd.h mlxsw: pci: Remove unused bit 2017-03-08 23:17:38 -08:00
core_acl_flex_actions.c mlxsw: spectrum: Implement action to set FID 2017-04-20 15:32:30 -04:00
core_acl_flex_actions.h mlxsw: spectrum: Implement action to set FID 2017-04-20 15:32:30 -04:00
core_acl_flex_keys.c mlxsw: core: Introduce flexible keys support 2017-02-03 16:35:41 -05:00
core_acl_flex_keys.h mlxsw: spectrum: Add support for flower matches on VLAN ID, PCP 2017-03-09 18:35:35 -08: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: Query maximum number of ports from firmware 2017-03-24 13:53:28 -07:00
core.h mlxsw: Query maximum number of ports from firmware 2017-03-24 13:53:28 -07:00
emad.h mlxsw: Add interface to access registers and process events 2015-07-30 00:05:00 -07:00
i2c.c mlxsw: Fix mlxsw_i2c_write return value 2017-01-09 14:35:13 -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: Add helpers for getting pointer into payload for char buffer item 2017-02-03 16:35:38 -05:00
Kconfig mlxsw: add psample dependency for spectrum 2017-02-07 11:44:12 -05:00
Makefile mlxsw: spectrum: Add placeholder for dpipe 2017-03-28 17:11:54 -07: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: convert to pci_alloc_irq_vectors 2017-04-11 11:16:03 -04:00
pci.h mlxsw: switchib: Introduce SwitchIB and SwitchIB silicon driver 2016-10-30 16:50:17 -04:00
port.h mlxsw: Query maximum number of ports from firmware 2017-03-24 13:53:28 -07:00
reg.h mlxsw: reg: Add Router Interface Counter Register 2017-03-28 17:11:55 -07:00
resources.h mlxsw: spectrum: Support for counters on router interfaces 2017-03-28 17:11:55 -07:00
spectrum_acl_flex_keys.h mlxsw: spectrum: Add support for flower matches on VLAN ID, PCP 2017-03-09 18:35:35 -08:00
spectrum_acl_tcam.c mlxsw: spectrum_acl_tcam: Add support for retrieving TCAM entry activity 2017-03-12 23:50:14 -07:00
spectrum_acl.c mlxsw: spectrum: Implement action to set FID 2017-04-20 15:32:30 -04:00
spectrum_buffers.c mlxsw: spectrum: Query cell size from firmware 2017-03-24 13:53:29 -07:00
spectrum_cnt.c mlxsw: spectrum: Support for counters on router interfaces 2017-03-28 17:11:55 -07:00
spectrum_cnt.h mlxsw: spectrum: Support for counters on router interfaces 2017-03-28 17:11:55 -07:00
spectrum_dcb.c mlxsw: spectrum: Do not override PAUSE settings 2016-08-08 12:57:27 -07:00
spectrum_dpipe.c mlxsw: spectrum: Add Support for erif table entries access 2017-03-28 17:11:55 -07:00
spectrum_dpipe.h mlxsw: spectrum: Add definition for egress rif table 2017-03-28 17:11:54 -07:00
spectrum_flower.c mlxsw: spectrum_flower: Set dummy FID before forward action 2017-04-20 15:32:30 -04:00
spectrum_kvdl.c mlxsw: spectrum_kvdl: Cosmetic kvdl allocator API change 2017-03-25 19:56:15 -07:00
spectrum_router.c mlxsw: spectrum_router: Simplify VRF enslavement 2017-05-01 11:47:58 -04:00
spectrum_router.h mlxsw: spectrum_router: Add rif helper functions 2017-03-28 17:11:55 -07:00
spectrum_switchdev.c mlxsw: spectrum: Teach mlxsw_sp_port_vlan_set to accept any vlan range 2017-04-20 15:32:30 -04:00
spectrum.c mlxsw: spectrum_router: Simplify VRF enslavement 2017-05-01 11:47:58 -04:00
spectrum.h mlxsw: spectrum_router: Simplify VRF enslavement 2017-05-01 11:47:58 -04:00
switchib.c mlxsw: Change trap groups setting 2016-11-25 21:22:14 -05:00
switchx2.c mlxsw: Query maximum number of ports from firmware 2017-03-24 13:53:28 -07:00
trap.h mlxsw: spectrum: Add FID miss trap 2017-04-20 15:32:31 -04:00
txheader.h mlxsw: spectrum: Add initial support for Spectrum ASIC 2015-10-16 07:15:23 -07:00