[PATCH net-next v5 0/4] net: ethtool: Introduce ethnl dump helpers

Maxime Chevallier maxime.chevallier at bootlin.com
Thu Apr 10 05:33:45 PDT 2025


Hi everyone,

Here's another approach to get a better handling for ethnl dump when we
have phy-targetting commands.

Previous versions of that series introduced new ethnl ops for DUMP, but
only useful for PHY dump.

This series takes a step back and implements new perphy ops at the genl
level :
 ->start()
 ->dumpit()
 ->done()

This avoids having to flag commands that use filtered DUMPs, as this is
handled directly in the custom ->start(), and we can use our own dump
context without using dynamic allocs.

The drawback though is that this duplicates some logic from the
ethnl_default_xxx dump ops.

Patch 2 reworks the whole net/ethtool/phy.c to fallback to ethnl ops,
while patches 3 and 4 convert pse-pd and plca to this new dump method.

Let me know what you think,

Maxime

Changes in V5:
 - Move to a less generic approach, focusing only on the PHY case.

Changes in V4:
 - Don't grab rcu_read_lock when we already have a refcounter netdev on
   the filtered dump path (Paolo)
 - Move the dump_all stuff in a dedicated helper (Paolo)
 - Added patch 1 to set the dev in ctx->req_info

Changes in V3:
 - Fixed some typos and xmas tree issues
 - Added a missing check for EOPNOTSUPP in patch 1
 - Added missing kdoc
 - Added missing comments in phy_reply_size

Changes in V2:
 - Rebased on the netdev_lock work by Stanislav and the fixes from Eric
 - Fixed a bissectability issue
 - Fixed kdoc for the new ethnl ops and fields

V1: https://lore.kernel.org/netdev/20250305141938.319282-1-maxime.chevallier@bootlin.com/
V2: https://lore.kernel.org/netdev/20250308155440.267782-1-maxime.chevallier@bootlin.com/
V3: https://lore.kernel.org/netdev/20250313182647.250007-1-maxime.chevallier@bootlin.com/
V4: https://lore.kernel.org/netdev/20250324104012.367366-1-maxime.chevallier@bootlin.com/

Maxime Chevallier (4):
  net: ethtool: Introduce per-PHY DUMP operations
  net: ethtool: phy: Convert the PHY_GET command to generic phy dump
  net: ethtool: plca: Use per-PHY DUMP operations
  net: ethtool: pse-pd: Use per-PHY DUMP operations

 net/ethtool/netlink.c | 189 +++++++++++++++++++++--
 net/ethtool/netlink.h |   4 -
 net/ethtool/phy.c     | 342 ++++++++++++------------------------------
 3 files changed, 272 insertions(+), 263 deletions(-)

-- 
2.49.0




More information about the linux-arm-kernel mailing list