Re: [PATCH net-next v4 2/5] ethtool: netlink: add ETHTOOL_MSG_MSE_GET and wire up PHY MSE access
From: Oleksij Rempel <o.rempel@pengutronix.de>
Date: 2025-08-21 10:16:04
Also in:
linux-doc, lkml
Hello Kory, On Thu, Aug 21, 2025 at 11:59:14AM +0200, Kory Maincent wrote:
Hello Oleksij, Le Thu, 21 Aug 2025 11:10:58 +0200, Oleksij Rempel [off-list ref] a écrit :quoted
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>...quoted
+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.quoted
+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.
I had following warnings: Documentation/networking/ethtool-netlink:2499: ./include/linux/phy.h:3: WARNING: Duplicate C declaration, also defined at kapi:892. Declaration is '.. c:struct:: phy_mse_config'. Documentation/networking/ethtool-netlink:2515: ./include/linux/phy.h:3: WARNING: Duplicate C declaration, also defined at kapi:915. Declaration is '.. c:struct:: phy_mse_snapshot' I didn't found proper was to solve it, so I removed them. -- Pengutronix e.K. | | Steuerwalder Str. 21 | http://www.pengutronix.de/ | 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |