[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <a68fb3e3-e461-4192-9c5c-d3b0864dbeb3@6wind.com>
Date: Thu, 21 Nov 2024 09:24:05 +0100
From: Nicolas Dichtel <nicolas.dichtel@...nd.com>
To: Yuyang Huang <yuyanghuang@...gle.com>
Cc: "David S. Miller" <davem@...emloft.net>,
Eric Dumazet <edumazet@...gle.com>, Jakub Kicinski <kuba@...nel.org>,
Paolo Abeni <pabeni@...hat.com>, Simon Horman <horms@...nel.org>,
David Ahern <dsahern@...nel.org>, roopa@...ulusnetworks.com,
jiri@...nulli.us, stephen@...workplumber.org, jimictw@...gle.com,
prohr@...gle.com, liuhangbin@...il.com, andrew@...n.ch,
netdev@...r.kernel.org, Maciej Żenczykowski
<maze@...gle.com>, Lorenzo Colitti <lorenzo@...gle.com>,
Patrick Ruddy <pruddy@...tta.att-mail.com>
Subject: Re: [PATCH net-next, v3] netlink: add IGMP/MLD join/leave
notifications
Le 21/11/2024 à 06:47, Yuyang Huang a écrit :
> This change introduces netlink notifications for multicast address
> changes. The following features are included:
> * Addition and deletion of multicast addresses are reported using
> RTM_NEWMULTICAST and RTM_DELMULTICAST messages with AF_INET and
> AF_INET6.
> * Two new notification groups: RTNLGRP_IPV4_MCADDR and
> RTNLGRP_IPV6_MCADDR are introduced for receiving these events.
>
> This change allows user space applications (e.g., ip monitor) to
> efficiently track multicast group memberships by listening for netlink
> events. Previously, applications relied on inefficient polling of
> procfs, introducing delays. With netlink notifications, applications
> receive realtime updates on multicast group membership changes,
> enabling more precise metrics collection and system monitoring.
>
> This change also unlocks the potential for implementing a wide range
> of sophisticated multicast related features in user space by allowing
> applications to combine kernel provided multicast address information
> with user space data and communicate decisions back to the kernel for
> more fine grained control. This mechanism can be used for various
> purposes, including multicast filtering, IGMP/MLD offload, and
> IGMP/MLD snooping.
>
> Cc: Maciej Żenczykowski <maze@...gle.com>
> Cc: Lorenzo Colitti <lorenzo@...gle.com>
> Co-developed-by: Patrick Ruddy <pruddy@...tta.att-mail.com>
> Signed-off-by: Patrick Ruddy <pruddy@...tta.att-mail.com>
> Link: https://lore.kernel.org/r/20180906091056.21109-1-pruddy@vyatta.att-mail.com
> Signed-off-by: Yuyang Huang <yuyanghuang@...gle.com>
net-next is currently closed, you will have to resubmit after the v6.13-rc1 is
out: https://patchwork.hopto.org/net-next.html
One comment below.
> ---
>
> Changelog since v2:
> - Use RT_SCOPE_UNIVERSE for both IGMP and MLD notification messages for
> consistency.
>
> Changelog since v1:
> - Implement MLD join/leave notifications.
> - Revise the comment message to make it generic.
> - Fix netdev/source_inline error.
> - Reorder local variables according to "reverse xmas tree” style.
>
> include/uapi/linux/rtnetlink.h | 8 +++++
> net/ipv4/igmp.c | 53 +++++++++++++++++++++++++++++++
> net/ipv6/mcast.c | 58 ++++++++++++++++++++++++++++++++++
> 3 files changed, 119 insertions(+)
>
> diff --git a/include/uapi/linux/rtnetlink.h b/include/uapi/linux/rtnetlink.h
> index db7254d52d93..92964a9d2388 100644
> --- a/include/uapi/linux/rtnetlink.h
> +++ b/include/uapi/linux/rtnetlink.h
> @@ -93,6 +93,10 @@ enum {
> RTM_NEWPREFIX = 52,
> #define RTM_NEWPREFIX RTM_NEWPREFIX
>
> + RTM_NEWMULTICAST,
RTM_NEWMULTICAST = 56
> +#define RTM_NEWMULTICAST RTM_NEWMULTICAST
> + RTM_DELMULTICAST,
> +#define RTM_DELMULTICAST RTM_DELMULTICAST
> RTM_GETMULTICAST = 58,
And you can probably remove this '= 58' to align to other families.
Regards,
Nicolas
Powered by blists - more mailing lists