This patch set introduces a unified and well-structured interface for reporting PHY statistics. Instead of relying on arbitrary strings in PHY drivers, this interface provides a consistent and structured way to expose PHY statistics to userspace via ethtool. The initial groundwork for this effort was laid by Jakub Kicinski, who contributed patches to plumb PHY statistics to drivers and added support for structured statistics in ethtool. Building on Jakub's work, I tested the implementation with several PHYs, addressed a few issues, and added support for statistics in two specific PHY drivers. changes are tracked in separate patches. Jakub Kicinski (2): net: ethtool: plumb PHY stats to PHY drivers net: ethtool: add support for structured PHY statistics Oleksij Rempel (6): ethtool: linkstate: migrate linkstate functions to support multi-PHY setups Documentation: networking: update PHY error counter diagnostics in twisted pair guide net: phy: introduce optional polling interface for PHY statistics ethtool: add helper to prevent invalid statistics exposure to userspace net: phy: dp83td510: add statistics support net: phy: dp83tg720: add statistics support .../twisted_pair_layer1_diagnostics.rst | 39 +++-- Documentation/networking/ethtool-netlink.rst | 1 + drivers/net/phy/dp83td510.c | 112 ++++++++++++ drivers/net/phy/dp83tg720.c | 161 ++++++++++++++++++ drivers/net/phy/phy.c | 20 +++ include/linux/ethtool.h | 39 +++++ include/linux/phy.h | 100 +++++++++++ include/uapi/linux/ethtool.h | 2 + include/uapi/linux/ethtool_netlink.h | 14 ++ net/ethtool/linkstate.c | 25 ++- net/ethtool/netlink.h | 1 + net/ethtool/stats.c | 54 ++++++ net/ethtool/strset.c | 5 + 13 files changed, 553 insertions(+), 20 deletions(-) -- 2.39.5