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 <o.rempel@xxxxxxxxxxxxxx> 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@xxxxxxxxxxxxxx> > > ... > > > +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. 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 |