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 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 |




[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