rtnl: add helper to check if a notification is needed
Building on the rtnl_has_listeners helper, add the rtnl_notify_needed helper to check if we can bail out early in the notification routines. Reviewed-by: Jiri Pirko <jiri@nvidia.com> Reviewed-by: Simon Horman <horms@kernel.org> Signed-off-by: Victor Nogueira <victor@mojatatu.com> Signed-off-by: Pedro Tammela <pctammela@mojatatu.com> Link: https://lore.kernel.org/r/20231208192847.714940-3-pctammela@mojatatu.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
parent
c5e2a97344
commit
8439109b76
|
@ -137,4 +137,19 @@ static inline int rtnl_has_listeners(const struct net *net, u32 group)
|
|||
return netlink_has_listeners(rtnl, group);
|
||||
}
|
||||
|
||||
/**
|
||||
* rtnl_notify_needed - check if notification is needed
|
||||
* @net: Pointer to the net namespace
|
||||
* @nlflags: netlink ingress message flags
|
||||
* @group: rtnl group
|
||||
*
|
||||
* Based on the ingress message flags and rtnl group, returns true
|
||||
* if a notification is needed, false otherwise.
|
||||
*/
|
||||
static inline bool
|
||||
rtnl_notify_needed(const struct net *net, u16 nlflags, u32 group)
|
||||
{
|
||||
return (nlflags & NLM_F_ECHO) || rtnl_has_listeners(net, group);
|
||||
}
|
||||
|
||||
#endif /* __LINUX_RTNETLINK_H */
|
||||
|
|
Loading…
Reference in New Issue