Commit 5648de0b authored by Jiri Pirko's avatar Jiri Pirko Committed by Paolo Abeni

devlink: introduce a helper for netlink multicast send

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: default avatarJiri Pirko <jiri@nvidia.com>
Signed-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
parent cddbff47
...@@ -217,8 +217,7 @@ static void devlink_notify(struct devlink *devlink, enum devlink_command cmd) ...@@ -217,8 +217,7 @@ static void devlink_notify(struct devlink *devlink, enum devlink_command cmd)
return; return;
} }
genlmsg_multicast_netns(&devlink_nl_family, devlink_net(devlink), devlink_nl_notify_send(devlink, msg);
msg, 0, DEVLINK_MCGRP_CONFIG, GFP_KERNEL);
} }
int devlink_nl_get_doit(struct sk_buff *skb, struct genl_info *info) 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, ...@@ -1013,8 +1012,7 @@ static void __devlink_flash_update_notify(struct devlink *devlink,
if (err) if (err)
goto out_free_msg; goto out_free_msg;
genlmsg_multicast_netns(&devlink_nl_family, devlink_net(devlink), devlink_nl_notify_send(devlink, msg);
msg, 0, DEVLINK_MCGRP_CONFIG, GFP_KERNEL);
return; return;
out_free_msg: out_free_msg:
......
...@@ -191,6 +191,13 @@ static inline bool devlink_nl_notify_need(struct devlink *devlink) ...@@ -191,6 +191,13 @@ static inline bool devlink_nl_notify_need(struct devlink *devlink)
DEVLINK_MCGRP_CONFIG); 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 */ /* Notify */
void devlink_notify_register(struct devlink *devlink); void devlink_notify_register(struct devlink *devlink);
void devlink_notify_unregister(struct devlink *devlink); void devlink_notify_unregister(struct devlink *devlink);
......
...@@ -509,8 +509,7 @@ static void devlink_recover_notify(struct devlink_health_reporter *reporter, ...@@ -509,8 +509,7 @@ static void devlink_recover_notify(struct devlink_health_reporter *reporter,
return; return;
} }
genlmsg_multicast_netns(&devlink_nl_family, devlink_net(devlink), msg, devlink_nl_notify_send(devlink, msg);
0, DEVLINK_MCGRP_CONFIG, GFP_KERNEL);
} }
void void
......
...@@ -150,8 +150,7 @@ static void devlink_linecard_notify(struct devlink_linecard *linecard, ...@@ -150,8 +150,7 @@ static void devlink_linecard_notify(struct devlink_linecard *linecard,
return; return;
} }
genlmsg_multicast_netns(&devlink_nl_family, devlink_net(devlink), devlink_nl_notify_send(devlink, msg);
msg, 0, DEVLINK_MCGRP_CONFIG, GFP_KERNEL);
} }
void devlink_linecards_notify_register(struct devlink *devlink) void devlink_linecards_notify_register(struct devlink *devlink)
......
...@@ -356,8 +356,7 @@ static void devlink_param_notify(struct devlink *devlink, ...@@ -356,8 +356,7 @@ static void devlink_param_notify(struct devlink *devlink,
return; return;
} }
genlmsg_multicast_netns(&devlink_nl_family, devlink_net(devlink), devlink_nl_notify_send(devlink, msg);
msg, 0, DEVLINK_MCGRP_CONFIG, GFP_KERNEL);
} }
static void devlink_params_notify(struct devlink *devlink, static void devlink_params_notify(struct devlink *devlink,
......
...@@ -525,8 +525,7 @@ static void devlink_port_notify(struct devlink_port *devlink_port, ...@@ -525,8 +525,7 @@ static void devlink_port_notify(struct devlink_port *devlink_port,
return; return;
} }
genlmsg_multicast_netns(&devlink_nl_family, devlink_net(devlink), msg, devlink_nl_notify_send(devlink, msg);
0, DEVLINK_MCGRP_CONFIG, GFP_KERNEL);
} }
static void devlink_ports_notify(struct devlink *devlink, static void devlink_ports_notify(struct devlink *devlink,
......
...@@ -159,8 +159,7 @@ static void devlink_rate_notify(struct devlink_rate *devlink_rate, ...@@ -159,8 +159,7 @@ static void devlink_rate_notify(struct devlink_rate *devlink_rate,
return; return;
} }
genlmsg_multicast_netns(&devlink_nl_family, devlink_net(devlink), msg, devlink_nl_notify_send(devlink, msg);
0, DEVLINK_MCGRP_CONFIG, GFP_KERNEL);
} }
void devlink_rates_notify_register(struct devlink *devlink) void devlink_rates_notify_register(struct devlink *devlink)
......
...@@ -242,8 +242,7 @@ static void devlink_nl_region_notify(struct devlink_region *region, ...@@ -242,8 +242,7 @@ static void devlink_nl_region_notify(struct devlink_region *region,
if (IS_ERR(msg)) if (IS_ERR(msg))
return; return;
genlmsg_multicast_netns(&devlink_nl_family, devlink_net(devlink), msg, devlink_nl_notify_send(devlink, msg);
0, DEVLINK_MCGRP_CONFIG, GFP_KERNEL);
} }
void devlink_regions_notify_register(struct devlink *devlink) void devlink_regions_notify_register(struct devlink *devlink)
......
...@@ -1188,8 +1188,7 @@ devlink_trap_group_notify(struct devlink *devlink, ...@@ -1188,8 +1188,7 @@ devlink_trap_group_notify(struct devlink *devlink,
return; return;
} }
genlmsg_multicast_netns(&devlink_nl_family, devlink_net(devlink), devlink_nl_notify_send(devlink, msg);
msg, 0, DEVLINK_MCGRP_CONFIG, GFP_KERNEL);
} }
void devlink_trap_groups_notify_register(struct devlink *devlink) void devlink_trap_groups_notify_register(struct devlink *devlink)
...@@ -1249,8 +1248,7 @@ static void devlink_trap_notify(struct devlink *devlink, ...@@ -1249,8 +1248,7 @@ static void devlink_trap_notify(struct devlink *devlink,
return; return;
} }
genlmsg_multicast_netns(&devlink_nl_family, devlink_net(devlink), devlink_nl_notify_send(devlink, msg);
msg, 0, DEVLINK_MCGRP_CONFIG, GFP_KERNEL);
} }
void devlink_traps_notify_register(struct devlink *devlink) void devlink_traps_notify_register(struct devlink *devlink)
...@@ -1727,8 +1725,7 @@ devlink_trap_policer_notify(struct devlink *devlink, ...@@ -1727,8 +1725,7 @@ devlink_trap_policer_notify(struct devlink *devlink,
return; return;
} }
genlmsg_multicast_netns(&devlink_nl_family, devlink_net(devlink), devlink_nl_notify_send(devlink, msg);
msg, 0, DEVLINK_MCGRP_CONFIG, GFP_KERNEL);
} }
void devlink_trap_policers_notify_register(struct devlink *devlink) void devlink_trap_policers_notify_register(struct devlink *devlink)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment