linux_dsm_epyc7002/drivers/net/ethernet/mellanox
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
..
mlx4 net/mlx4: suppress 'may be used uninitialized' warning 2017-04-20 13:19:21 -04:00
mlx5/core net/mlx5: E-Switch, Avoid redundant memory allocation 2017-04-30 16:03:21 +03:00
mlxsw mlxsw: spectrum_router: Simplify VRF enslavement 2017-05-01 11:47:58 -04:00
Kconfig mlxsw: Introduce Mellanox switch driver core 2015-07-30 00:04:59 -07:00
Makefile mlxsw: Introduce Mellanox switch driver core 2015-07-30 00:04:59 -07:00