Re: [PATCH net-next v4 2/5] ethtool: netlink: add ETHTOOL_MSG_MSE_GET and wire up PHY MSE access
From: Kory Maincent <kory.maincent@bootlin.com>
Date: 2025-08-21 09:59:35
Also in:
linux-doc, lkml
Hello Oleksij, Le Thu, 21 Aug 2025 11:10:58 +0200, Oleksij Rempel [off-list ref] a écrit :
Introduce the userspace entry point for PHY MSE diagnostics via
ethtool netlink. This exposes the core API added previously and
returns both configuration and one or more snapshots.
Userspace sends ETHTOOL_MSG_MSE_GET with an optional channel
selector. The reply carries:
- ETHTOOL_A_MSE_CONFIG: scale limits, timing, and supported
capability bitmask
- ETHTOOL_A_MSE_SNAPSHOT+: one or more snapshots, each tagged
with the selected channel
If no channel is requested, the kernel returns snapshots for all
supported selectors (per‑channel if available, otherwise WORST,
otherwise LINK). Requests for unsupported selectors fail with
-EOPNOTSUPP; link down returns -ENOLINK.
Changes:
- YAML: add attribute sets (mse, mse-config, 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>...
+MSE Configuration +----------------- + +This nested attribute contains the full configuration properties for the MSE +measurements + + =============================================== ====== ==================== + ETHTOOL_A_MSE_CONFIG_MAX_AVERAGE_MSE u32 max avg_mse scale + ETHTOOL_A_MSE_CONFIG_MAX_PEAK_MSE u32 max peak_mse scale + ETHTOOL_A_MSE_CONFIG_REFRESH_RATE_PS u64 sample rate (ps) + ETHTOOL_A_MSE_CONFIG_NUM_SYMBOLS u64 symbols per sample + ETHTOOL_A_MSE_CONFIG_SUPPORTED_CAPS bitset capability bitmask + =============================================== ====== ==================== +
Why did you remove the kernel doc identifiers to phy_mse_config? It was useful for the documentation.
+MSE Snapshot +------------ + +This nested attribute contains an atomic snapshot of MSE values for a specific +channel or for the link as a whole. + + =============================================== ====== ====================== + ETHTOOL_A_MSE_SNAPSHOT_CHANNEL u32 channel enum value + ETHTOOL_A_MSE_SNAPSHOT_AVERAGE_MSE u32 average MSE value + ETHTOOL_A_MSE_SNAPSHOT_PEAK_MSE u32 current peak MSE + ETHTOOL_A_MSE_SNAPSHOT_WORST_PEAK_MSE u32 worst-case peak MSE + =============================================== ======
Same question here for phy_mse_snapshot. Regards, -- Köry Maincent, Bootlin Embedded Linux and kernel engineering https://bootlin.com