mirror of https://gitee.com/openkylin/linux.git
mlxsw: spectrum_switchdev: Fix mrouter flag update
Update the value of the mrouter flag in struct mlxsw_sp_bridge_port when
it is being changed.
Fixes: c57529e1d5
("mlxsw: spectrum: Replace vPorts with Port-VLAN")
Signed-off-by: Nogah Frankel <nogahf@mellanox.com>
Reviewed-by: Ido Schimmel <idosch@mellanox.com>
Signed-off-by: Jiri Pirko <jiri@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
5160a153a0
commit
4eb6a3bdb4
|
@ -705,6 +705,7 @@ static int mlxsw_sp_port_attr_mc_router_set(struct mlxsw_sp_port *mlxsw_sp_port,
|
||||||
bool is_port_mc_router)
|
bool is_port_mc_router)
|
||||||
{
|
{
|
||||||
struct mlxsw_sp_bridge_port *bridge_port;
|
struct mlxsw_sp_bridge_port *bridge_port;
|
||||||
|
int err;
|
||||||
|
|
||||||
if (switchdev_trans_ph_prepare(trans))
|
if (switchdev_trans_ph_prepare(trans))
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -715,11 +716,17 @@ static int mlxsw_sp_port_attr_mc_router_set(struct mlxsw_sp_port *mlxsw_sp_port,
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
if (!bridge_port->bridge_device->multicast_enabled)
|
if (!bridge_port->bridge_device->multicast_enabled)
|
||||||
return 0;
|
goto out;
|
||||||
|
|
||||||
return mlxsw_sp_bridge_port_flood_table_set(mlxsw_sp_port, bridge_port,
|
err = mlxsw_sp_bridge_port_flood_table_set(mlxsw_sp_port, bridge_port,
|
||||||
MLXSW_SP_FLOOD_TYPE_MC,
|
MLXSW_SP_FLOOD_TYPE_MC,
|
||||||
is_port_mc_router);
|
is_port_mc_router);
|
||||||
|
if (err)
|
||||||
|
return err;
|
||||||
|
|
||||||
|
out:
|
||||||
|
bridge_port->mrouter = is_port_mc_router;
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int mlxsw_sp_port_mc_disabled_set(struct mlxsw_sp_port *mlxsw_sp_port,
|
static int mlxsw_sp_port_mc_disabled_set(struct mlxsw_sp_port *mlxsw_sp_port,
|
||||||
|
|
Loading…
Reference in New Issue