devlink: introduce a helper for netlink multicast send
authorJiri Pirko <jiri@nvidia.com>
Sat, 16 Dec 2023 12:29:56 +0000 (13:29 +0100)
committerPaolo Abeni <pabeni@redhat.com>
Tue, 19 Dec 2023 14:31:40 +0000 (15:31 +0100)
Introduce a helper devlink_nl_notify_send() so each object notification
function does not have to call genlmsg_multicast_netns() with the same
arguments.

Signed-off-by: Jiri Pirko <jiri@nvidia.com>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
net/devlink/dev.c
net/devlink/devl_internal.h
net/devlink/health.c
net/devlink/linecard.c
net/devlink/param.c
net/devlink/port.c
net/devlink/rate.c
net/devlink/region.c
net/devlink/trap.c

index 63fe3e02c928ca369a28529d5dfb6753c5626527..19dbf540748abbc07e32bf95f711d0c0b76a0cac 100644 (file)
@@ -217,8 +217,7 @@ static void devlink_notify(struct devlink *devlink, enum devlink_command cmd)
                return;
        }
 
-       genlmsg_multicast_netns(&devlink_nl_family, devlink_net(devlink),
-                               msg, 0, DEVLINK_MCGRP_CONFIG, GFP_KERNEL);
+       devlink_nl_notify_send(devlink, msg);
 }
 
 int devlink_nl_get_doit(struct sk_buff *skb, struct genl_info *info)
@@ -1013,8 +1012,7 @@ static void __devlink_flash_update_notify(struct devlink *devlink,
        if (err)
                goto out_free_msg;
 
-       genlmsg_multicast_netns(&devlink_nl_family, devlink_net(devlink),
-                               msg, 0, DEVLINK_MCGRP_CONFIG, GFP_KERNEL);
+       devlink_nl_notify_send(devlink, msg);
        return;
 
 out_free_msg:
index 510990de094e998abdfe3b755c6699e584570507..84dc9628d3f27fce4d76c825d5c70671553bd995 100644 (file)
@@ -191,6 +191,13 @@ static inline bool devlink_nl_notify_need(struct devlink *devlink)
                                  DEVLINK_MCGRP_CONFIG);
 }
 
+static inline void devlink_nl_notify_send(struct devlink *devlink,
+                                         struct sk_buff *msg)
+{
+       genlmsg_multicast_netns(&devlink_nl_family, devlink_net(devlink),
+                               msg, 0, DEVLINK_MCGRP_CONFIG, GFP_KERNEL);
+}
+
 /* Notify */
 void devlink_notify_register(struct devlink *devlink);
 void devlink_notify_unregister(struct devlink *devlink);
index 0795dcf22ca83483aaa97017a8aabda0b7a21037..1d59ec0202f6792e89a40b656f3c26ddfeb9e5b5 100644 (file)
@@ -509,8 +509,7 @@ static void devlink_recover_notify(struct devlink_health_reporter *reporter,
                return;
        }
 
-       genlmsg_multicast_netns(&devlink_nl_family, devlink_net(devlink), msg,
-                               0, DEVLINK_MCGRP_CONFIG, GFP_KERNEL);
+       devlink_nl_notify_send(devlink, msg);
 }
 
 void
index 45b36975ee6f82452c38a6e73efb5208a7298508..67f70a621d27d08f6b4ca658ac546213781a453e 100644 (file)
@@ -150,8 +150,7 @@ static void devlink_linecard_notify(struct devlink_linecard *linecard,
                return;
        }
 
-       genlmsg_multicast_netns(&devlink_nl_family, devlink_net(devlink),
-                               msg, 0, DEVLINK_MCGRP_CONFIG, GFP_KERNEL);
+       devlink_nl_notify_send(devlink, msg);
 }
 
 void devlink_linecards_notify_register(struct devlink *devlink)
index 7516b524ffb760ca5eb6158977576b88d82f3d9e..22bc3b50051897092526125e0c25f57cff340608 100644 (file)
@@ -356,8 +356,7 @@ static void devlink_param_notify(struct devlink *devlink,
                return;
        }
 
-       genlmsg_multicast_netns(&devlink_nl_family, devlink_net(devlink),
-                               msg, 0, DEVLINK_MCGRP_CONFIG, GFP_KERNEL);
+       devlink_nl_notify_send(devlink, msg);
 }
 
 static void devlink_params_notify(struct devlink *devlink,
index 32f4d0331e63d0439b11655e785936004d9848ca..758df3000a1bd1c451b31cfc65000e2ab68cf9fd 100644 (file)
@@ -525,8 +525,7 @@ static void devlink_port_notify(struct devlink_port *devlink_port,
                return;
        }
 
-       genlmsg_multicast_netns(&devlink_nl_family, devlink_net(devlink), msg,
-                               0, DEVLINK_MCGRP_CONFIG, GFP_KERNEL);
+       devlink_nl_notify_send(devlink, msg);
 }
 
 static void devlink_ports_notify(struct devlink *devlink,
index 0371a2dd3e0a634d22503d7c2a7cb690d7eefb41..7139e67e93aebf7f9b5435f4fc672d35f4331967 100644 (file)
@@ -159,8 +159,7 @@ static void devlink_rate_notify(struct devlink_rate *devlink_rate,
                return;
        }
 
-       genlmsg_multicast_netns(&devlink_nl_family, devlink_net(devlink), msg,
-                               0, DEVLINK_MCGRP_CONFIG, GFP_KERNEL);
+       devlink_nl_notify_send(devlink, msg);
 }
 
 void devlink_rates_notify_register(struct devlink *devlink)
index bf61312f64bdcf494901f222e80bf22afa008040..7319127c5913febb31ce18333302560d6991dc4d 100644 (file)
@@ -242,8 +242,7 @@ static void devlink_nl_region_notify(struct devlink_region *region,
        if (IS_ERR(msg))
                return;
 
-       genlmsg_multicast_netns(&devlink_nl_family, devlink_net(devlink), msg,
-                               0, DEVLINK_MCGRP_CONFIG, GFP_KERNEL);
+       devlink_nl_notify_send(devlink, msg);
 }
 
 void devlink_regions_notify_register(struct devlink *devlink)
index 3ca1ca7e2e64ea773e57d1f31dbe0b58b16da78d..5d18c7424df1afa86b108a02876e2d524fbf7144 100644 (file)
@@ -1188,8 +1188,7 @@ devlink_trap_group_notify(struct devlink *devlink,
                return;
        }
 
-       genlmsg_multicast_netns(&devlink_nl_family, devlink_net(devlink),
-                               msg, 0, DEVLINK_MCGRP_CONFIG, GFP_KERNEL);
+       devlink_nl_notify_send(devlink, msg);
 }
 
 void devlink_trap_groups_notify_register(struct devlink *devlink)
@@ -1249,8 +1248,7 @@ static void devlink_trap_notify(struct devlink *devlink,
                return;
        }
 
-       genlmsg_multicast_netns(&devlink_nl_family, devlink_net(devlink),
-                               msg, 0, DEVLINK_MCGRP_CONFIG, GFP_KERNEL);
+       devlink_nl_notify_send(devlink, msg);
 }
 
 void devlink_traps_notify_register(struct devlink *devlink)
@@ -1727,8 +1725,7 @@ devlink_trap_policer_notify(struct devlink *devlink,
                return;
        }
 
-       genlmsg_multicast_netns(&devlink_nl_family, devlink_net(devlink),
-                               msg, 0, DEVLINK_MCGRP_CONFIG, GFP_KERNEL);
+       devlink_nl_notify_send(devlink, msg);
 }
 
 void devlink_trap_policers_notify_register(struct devlink *devlink)