mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-08-21 14:39:30 -04:00
net: ipv6: report multicast group user count
The previous patch added IFA_MC_USERS and emits it for IPv4 multicast groups. Add the same snapshot attribute to IPv6 RTM_GETMULTICAST replies and entry-lifecycle notifications, carrying ifmcaddr6::mca_users. This makes the multicast rtnetlink ABI symmetric across IPv4 and IPv6 and gives userspace the same user count that /proc/net/igmp6 exposes. Signed-off-by: Yuyang Huang <sigefriedhyy@gmail.com> Reviewed-by: Vadim Fedorenko <vadim.fedorenko@linux.dev> Reviewed-by: Ido Schimmel <idosch@nvidia.com> Link: https://patch.msgid.link/20260630110207.37841-3-sigefriedhyy@gmail.com Signed-off-by: Paolo Abeni <pabeni@redhat.com>
This commit is contained in:
committed by
Paolo Abeni
parent
7cb8198761
commit
e1d0f3f083
@@ -5264,6 +5264,7 @@ int inet6_fill_ifmcaddr(struct sk_buff *skb,
|
||||
|
||||
put_ifaddrmsg(nlh, 128, IFA_F_PERMANENT, scope, ifindex);
|
||||
if (nla_put_in6_addr(skb, IFA_MULTICAST, &ifmca->mca_addr) < 0 ||
|
||||
nla_put_u32(skb, IFA_MC_USERS, READ_ONCE(ifmca->mca_users)) < 0 ||
|
||||
put_cacheinfo(skb, ifmca->mca_cstamp, READ_ONCE(ifmca->mca_tstamp),
|
||||
INFINITY_LIFE_TIME, INFINITY_LIFE_TIME) < 0) {
|
||||
nlmsg_cancel(skb, nlh);
|
||||
|
||||
@@ -908,6 +908,7 @@ static void inet6_ifmcaddr_notify(struct net_device *dev,
|
||||
|
||||
skb = nlmsg_new(NLMSG_ALIGN(sizeof(struct ifaddrmsg)) +
|
||||
nla_total_size(sizeof(struct in6_addr)) +
|
||||
nla_total_size(sizeof(u32)) +
|
||||
nla_total_size(sizeof(struct ifa_cacheinfo)),
|
||||
GFP_KERNEL);
|
||||
if (!skb)
|
||||
|
||||
Reference in New Issue
Block a user