diff options
author | Pedro Tammela <pctammela@mojatatu.com> | 2023-12-08 22:28:43 +0300 |
---|---|---|
committer | Jakub Kicinski <kuba@kernel.org> | 2023-12-12 05:52:57 +0300 |
commit | ddb6b284bdc32b6e218b3d90b5a745ea26620812 (patch) | |
tree | a1c5025b3d3cb5d7664e31e7d2c47535242133b8 | |
parent | 8439109b76a3c405808383bf9dd532fc4b9c2dbd (diff) | |
download | linux-ddb6b284bdc32b6e218b3d90b5a745ea26620812.tar.xz |
rtnl: add helper to send if skb is not null
This is a convenience helper for routines handling conditional rtnl
events, that is code that might send a notification depending on
rtnl_has_listeners/rtnl_notify_needed.
Instead of:
if (skb)
rtnetlink_send(...)
Use:
rtnetlink_maybe_send(...)
Reviewed-by: Jiri Pirko <jiri@nvidia.com>
Reviewed-by: Simon Horman <horms@kernel.org>
Signed-off-by: Pedro Tammela <pctammela@mojatatu.com>
Link: https://lore.kernel.org/r/20231208192847.714940-4-pctammela@mojatatu.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
-rw-r--r-- | include/linux/rtnetlink.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/include/linux/rtnetlink.h b/include/linux/rtnetlink.h index 0cbbbded0331..6a8543b34e2c 100644 --- a/include/linux/rtnetlink.h +++ b/include/linux/rtnetlink.h @@ -10,6 +10,13 @@ #include <uapi/linux/rtnetlink.h> extern int rtnetlink_send(struct sk_buff *skb, struct net *net, u32 pid, u32 group, int echo); + +static inline int rtnetlink_maybe_send(struct sk_buff *skb, struct net *net, + u32 pid, u32 group, int echo) +{ + return !skb ? 0 : rtnetlink_send(skb, net, pid, group, echo); +} + extern int rtnl_unicast(struct sk_buff *skb, struct net *net, u32 pid); extern void rtnl_notify(struct sk_buff *skb, struct net *net, u32 pid, u32 group, const struct nlmsghdr *nlh, gfp_t flags); |