mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH net-next v6 0/4] rtnetlink: dump link-layer multicast addresses
@ 2026-09-21 23:59 Yuyang Huang
  2026-09-21 23:59 ` [PATCH net-next v6 1/4] netlink: specs: rt-addr: fix the type of target-netnsid Yuyang Huang
                   ` (3 more replies)
  0 siblings, 4 replies; 7+ messages in thread
From: Yuyang Huang @ 2026-09-21 23:59 UTC (permalink / raw)
  To: Yuyang Huang
  Cc: Andrew Lunn, David S. Miller, David Ahern, Donald Hunter,
	Eric Dumazet, Ido Schimmel, Jacob Keller, Jakub Kicinski,
	Kuniyuki Iwashima, Nicolas Dichtel, Nikolaos Gkarlis,
	Paolo Abeni, Sabrina Dubroca, Shuah Khan, Simon Horman,
	Stanislav Fomichev, linux-kernel, linux-kselftest, netdev

"ip maddr show" prints link-layer, IPv4 and IPv6 entries. The IPv4 and
IPv6 ones come over netlink today, with IFA_MC_USERS for the user count.
The link-layer list, dev->mc, is only exported via /proc/net/dev_mcast,
so iproute2 and other users still parse procfs for it.

This series adds the AF_PACKET family to RTM_GETMULTICAST so that the
link-layer multicast addresses are reported the same way. Patch 2 dumps
dev->mc in the ifaddrmsg format of the IPv4 and IPv6 dumps: IFA_MULTICAST
carries the address, IFA_MC_USERS the reference count and a new
IFA_F_GLOBAL flag marks entries added explicitly, the "static" column of
/proc/net/dev_mcast. ifa_index limits the dump to one device and
IFA_TARGET_NETNSID selects another netns. Patches 1 and 3 update the
rt-addr spec and patch 4 adds a selftest.

AF_PACKET dumps returned -EOPNOTSUPP before, so iproute2 can keep the
procfs fallback for older kernels. The iproute2 side is ready and will
be posted once this is in.

Changes in v6:
- Move the dump to net/core/dev_addr_lists.c next to the dev->mc
  helpers
- Stamp cb->seq from dev_base_seq and check dump consistency
- Let an unexpected dump error propagate instead of skipping
- Check for an address only present in the peer netns in the
  target-netnsid selftest, the peer and local ifindex can be equal
- Document the ifa-index filter and the zero header fields in the spec

Changes in v5:
- Filter the target-netnsid selftest dump by ifa-index, a new netns
  also contains the fallback tunnel devices

Changes in v4:
- Reset the resume offset when the device the dump stopped at is gone
- Use a tracked netns reference (put_net_track)
- Say ifa-family must be set in the spec doc, drop the AF_UNSPEC remark
- Close the netlink socket and guard the checks in the selftest
- Drop the Fixes tag

Changes in v3:
- Report the static bit as a new IFA_F_GLOBAL flag in IFA_FLAGS
  instead of IFA_F_PERMANENT
- Support IFA_TARGET_NETNSID and test it
- Describe global_use accurately, it is also set by dev_mc_add_excl()
- Fix the target-netnsid type in the rt-addr spec, as its own patch

Changes in v2:
- Always validate the request header, not only with strict checking
- Use a single "with" statement in the selftest (ruff)

Yuyang Huang (4):
  netlink: specs: rt-addr: fix the type of target-netnsid
  net: add AF_PACKET multicast dumps
  netlink: specs: rt-addr: document AF_PACKET multicast dumps
  selftests: net: test AF_PACKET multicast dumps

 Documentation/netlink/specs/rt-addr.yaml |  19 ++-
 include/linux/netdevice.h                |   1 +
 include/uapi/linux/if_addr.h             |   1 +
 net/core/dev_addr_lists.c                | 177 +++++++++++++++++++++++
 net/core/rtnetlink.c                     |   2 +
 tools/testing/selftests/net/rtnetlink.py |  73 +++++++++-
 6 files changed, 268 insertions(+), 5 deletions(-)

-- 
2.43.0


^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2026-09-22  8:44 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-09-21 23:59 [PATCH net-next v6 0/4] rtnetlink: dump link-layer multicast addresses Yuyang Huang
2026-09-21 23:59 ` [PATCH net-next v6 1/4] netlink: specs: rt-addr: fix the type of target-netnsid Yuyang Huang
2026-09-21 23:59 ` [PATCH net-next v6 2/4] net: add AF_PACKET multicast dumps Yuyang Huang
2026-09-22  7:20   ` Nicolas Dichtel
2026-09-22  8:44     ` Yuyang Huang
2026-09-21 23:59 ` [PATCH net-next v6 3/4] netlink: specs: rt-addr: document " Yuyang Huang
2026-09-21 23:59 ` [PATCH net-next v6 4/4] selftests: net: test " Yuyang Huang

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®