]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
ethtool: netlink: add ETHTOOL_MSG_MSE_GET and wire up PHY MSE access
authorOleksij Rempel <o.rempel@pengutronix.de>
Mon, 27 Oct 2025 12:27:59 +0000 (13:27 +0100)
committerJakub Kicinski <kuba@kernel.org>
Tue, 4 Nov 2025 02:32:27 +0000 (18:32 -0800)
commite6e93fb01302e9b7a15d17f3b8a00eff8a601654
tree71e4dd0f0769fd3ccd52c50e744c4e1d4d126a2c
parentabcf6eef90c6e47efed62a7c233ffc1a6a90797e
ethtool: netlink: add ETHTOOL_MSG_MSE_GET and wire up PHY MSE access

Introduce the userspace entry point for PHY MSE diagnostics via
ethtool netlink. This exposes the core API added previously and
returns both capability information and one or more snapshots.

Userspace sends ETHTOOL_MSG_MSE_GET. The reply carries:
- ETHTOOL_A_MSE_CAPABILITIES: scale limits and timing information
- ETHTOOL_A_MSE_CHANNEL_* nests: one or more snapshots (per-channel
  if available, otherwise WORST, otherwise LINK)

Link down returns -ENETDOWN.

Changes:
  - YAML: add attribute sets (mse, mse-capabilities, mse-snapshot)
    and the mse-get operation
  - UAPI (generated): add ETHTOOL_A_MSE_* enums and message IDs,
    ETHTOOL_MSG_MSE_GET/REPLY
  - ethtool core: add net/ethtool/mse.c implementing the request,
    register genl op, and hook into ethnl dispatch
  - docs: document MSE_GET in ethtool-netlink.rst

The include/uapi/linux/ethtool_netlink_generated.h is generated
from Documentation/netlink/specs/ethtool.yaml.

Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de>
Link: https://patch.msgid.link/20251027122801.982364-3-o.rempel@pengutronix.de
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Documentation/netlink/specs/ethtool.yaml
Documentation/networking/ethtool-netlink.rst
include/uapi/linux/ethtool_netlink_generated.h
net/ethtool/Makefile
net/ethtool/mse.c [new file with mode: 0644]
net/ethtool/netlink.c
net/ethtool/netlink.h