mirror of https://gitee.com/openkylin/linux.git
mlxsw: spectrum_switchdev: Use generic mc flood function
Use the generic mc flood function to decide whether to flood mc to a port when mc is being enabled / disabled. Move this function in the file to avoid forward declaration. Signed-off-by: Nogah Frankel <nogahf@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
2e3496cd34
commit
218a8f8a63
|
@ -742,6 +742,14 @@ static int mlxsw_sp_port_attr_mrouter_set(struct mlxsw_sp_port *mlxsw_sp_port,
|
|||
return 0;
|
||||
}
|
||||
|
||||
static bool mlxsw_sp_mc_flood(const struct mlxsw_sp_bridge_port *bridge_port)
|
||||
{
|
||||
const struct mlxsw_sp_bridge_device *bridge_device;
|
||||
|
||||
bridge_device = bridge_port->bridge_device;
|
||||
return !bridge_device->multicast_enabled ? true : bridge_port->mrouter;
|
||||
}
|
||||
|
||||
static int mlxsw_sp_port_mc_disabled_set(struct mlxsw_sp_port *mlxsw_sp_port,
|
||||
struct switchdev_trans *trans,
|
||||
struct net_device *orig_dev,
|
||||
|
@ -770,7 +778,7 @@ static int mlxsw_sp_port_mc_disabled_set(struct mlxsw_sp_port *mlxsw_sp_port,
|
|||
|
||||
list_for_each_entry(bridge_port, &bridge_device->ports_list, list) {
|
||||
enum mlxsw_sp_flood_type packet_type = MLXSW_SP_FLOOD_TYPE_MC;
|
||||
bool member = mc_disabled ? true : bridge_port->mrouter;
|
||||
bool member = mlxsw_sp_mc_flood(bridge_port);
|
||||
|
||||
err = mlxsw_sp_bridge_port_flood_table_set(mlxsw_sp_port,
|
||||
bridge_port,
|
||||
|
@ -829,14 +837,6 @@ static int mlxsw_sp_port_attr_set(struct net_device *dev,
|
|||
return err;
|
||||
}
|
||||
|
||||
static bool mlxsw_sp_mc_flood(const struct mlxsw_sp_bridge_port *bridge_port)
|
||||
{
|
||||
const struct mlxsw_sp_bridge_device *bridge_device;
|
||||
|
||||
bridge_device = bridge_port->bridge_device;
|
||||
return !bridge_device->multicast_enabled ? true : bridge_port->mrouter;
|
||||
}
|
||||
|
||||
static int
|
||||
mlxsw_sp_port_vlan_fid_join(struct mlxsw_sp_port_vlan *mlxsw_sp_port_vlan,
|
||||
struct mlxsw_sp_bridge_port *bridge_port)
|
||||
|
|
Loading…
Reference in New Issue