mlxsw: Extract classification of router-related events to a helper
authorPetr Machata <petrm@nvidia.com>
Wed, 2 Mar 2022 16:31:26 +0000 (18:31 +0200)
committerDavid S. Miller <davem@davemloft.net>
Thu, 3 Mar 2022 10:37:23 +0000 (10:37 +0000)
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>
drivers/net/ethernet/mellanox/mlxsw/spectrum.c

index 4880521b11a7267dc7aff84a1d96f340c648ce1d..10f32deea1582b99f5474dd4d4695441960a75f6 100644 (file)
@@ -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);