Re: [PATCH net-next v4 2/5] ethtool: netlink: add ETHTOOL_MSG_MSE_GET and wire up PHY MSE access

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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.

Regards,
-- 
Köry Maincent, Bootlin
Embedded Linux and kernel engineering
https://bootlin.com





[Index of Archives]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux FS]     [Yosemite Forum]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]

  Powered by Linux