mlxsw: Extract classification of router-related events to a helper
Several more events are coming in the following patches, and extending the if statement is getting awkward. Instead, convert it to a switch. Signed-off-by: Petr Machata <petrm@nvidia.com> Signed-off-by: Ido Schimmel <idosch@nvidia.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
9834e2467c
commit
c1de13f91e
1 changed files with 13 additions and 3 deletions
|
|
@ -4823,6 +4823,18 @@ static int mlxsw_sp_netdevice_vxlan_event(struct mlxsw_sp *mlxsw_sp,
|
|||
return 0;
|
||||
}
|
||||
|
||||
static bool mlxsw_sp_netdevice_event_is_router(unsigned long event)
|
||||
{
|
||||
switch (event) {
|
||||
case NETDEV_PRE_CHANGEADDR:
|
||||
case NETDEV_CHANGEADDR:
|
||||
case NETDEV_CHANGEMTU:
|
||||
return true;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
static int mlxsw_sp_netdevice_event(struct notifier_block *nb,
|
||||
unsigned long event, void *ptr)
|
||||
{
|
||||
|
|
@ -4847,9 +4859,7 @@ static int mlxsw_sp_netdevice_event(struct notifier_block *nb,
|
|||
else if (mlxsw_sp_netdev_is_ipip_ul(mlxsw_sp, dev))
|
||||
err = mlxsw_sp_netdevice_ipip_ul_event(mlxsw_sp, dev,
|
||||
event, ptr);
|
||||
else if (event == NETDEV_PRE_CHANGEADDR ||
|
||||
event == NETDEV_CHANGEADDR ||
|
||||
event == NETDEV_CHANGEMTU)
|
||||
else if (mlxsw_sp_netdevice_event_is_router(event))
|
||||
err = mlxsw_sp_netdevice_router_port_event(dev, event, ptr);
|
||||
else if (mlxsw_sp_is_vrf_event(event, ptr))
|
||||
err = mlxsw_sp_netdevice_vrf_event(dev, event, ptr);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue