From: Jakub Kicinski <kuba@kernel.org>
To: Andrew Lunn <andrew@lunn.ch>
Cc: davem@davemloft.net, netdev@vger.kernel.org, edumazet@google.com,
pabeni@redhat.com, corbet@lwn.net, hkallweit1@gmail.com,
linux@armlinux.org.uk, ecree.xilinx@gmail.com,
przemyslaw.kitszel@intel.com, kory.maincent@bootlin.com,
maxime.chevallier@bootlin.com, linux-doc@vger.kernel.org
Subject: Re: [RFC net-next 2/2] net: ethtool: add phy(dev) specific stats over netlink
Date: Thu, 29 Aug 2024 12:23:35 -0700 [thread overview]
Message-ID: <20240829122335.1dd1c052@kernel.org> (raw)
In-Reply-To: <056e03a1-ed13-40b0-b66d-755dd2760988@lunn.ch>
On Thu, 29 Aug 2024 20:47:04 +0200 Andrew Lunn wrote:
> > +/* Additional PHY statistics, not defined by IEEE */
> > +struct ethtool_phy_stats {
> > + /* Basic packet / byte counters are meant for PHY drivers */
> > + u64 rx_packets;
> > + u64 rx_bytes;
> > + u64 rx_error; /* TODO: we need to define here whether packet
> > + * counted here is also counted as rx_packets,
> > + * and whether it's passed to the MAC with some
> > + * error indication or MAC never sees it.
> > + */
> > + u64 tx_packets;
> > + u64 tx_bytes;
> > + u64 tx_error; /* TODO: same as for rx */
> > +};
>
> I'm not sure these are actually useful.
>
> adin.c:
> { "total_frames_checked_count", 0x940A, 0x940B }, /* hi + lo */
> { "length_error_frames_count", 0x940C },
> { "alignment_error_frames_count", 0x940D },
> { "symbol_error_count", 0x940E },
This one's IEEE, from patch 1.
> { "oversized_frames_count", 0x940F },
> { "undersized_frames_count", 0x9410 },
bunch of IEEE stats, but from the MAC space :S
> { "odd_nibble_frames_count", 0x9411 },
> { "odd_preamble_packet_count", 0x9412 },
> { "dribble_bits_frames_count", 0x9413 },
> { "false_carrier_events_count", 0x9414 },
These may be interesting?
> bcm-phy-lib.c:
> { "phy_receive_errors", -1, MII_BRCM_CORE_BASE12, 0, 16 },
matching rx errors
> { "phy_serdes_ber_errors", -1, MII_BRCM_CORE_BASE13, 8, 8 },
Dunno what BER errors is 🤔️
> { "phy_false_carrier_sense_errors", -1, MII_BRCM_CORE_BASE13, 0, 8 },
false carrier like in adin.c
> { "phy_local_rcvr_nok", -1, MII_BRCM_CORE_BASE14, 8, 8 },
> { "phy_remote_rcv_nok", -1, MII_BRCM_CORE_BASE14, 0, 8 },
nok is not okay ? ... 🤷️
> { "phy_lpi_count", MDIO_MMD_AN, BRCM_CL45VEN_EEE_LPI_CNT, 0, 16 },
Sounds standard :)
> icplus.c:
> { "phy_crc_errors", 1 },
> { "phy_symbol_errors", 11, },
Why the PHY wants to check CRC I can only guess, but the other one
is in patch 1.
... I think going thru them right now is not super useful.
> 802.3 does not define in PHY statistics, the same as it does not
> define any MAC statistics. As a result it is a wild west, vendors
> doing whatever they want.
I think IEEE does define the MIB including some counters. It just does
a shit job and defines very few.
> The exception is the Open Alliance, which have defined a number of
> different standards defining statistics which Automotive vendors can
> optionally follow.
>
> https://opensig.org/automotive-ethernet-specifications/
>
> These could be defined as either one or three groups, with the
> expectation more will be added later.
SG.
To be clear, I'm adding the pkt/error counters because Oleksij was
trying to add defines for these into linux/phy.h
https://lore.kernel.org/all/20240822115939.1387015-3-o.rempel@pengutronix.de/
You acked that which I read as an agreement that there's sufficient
commonality :)
I threw in the byte counters, perhaps unnecessarily. We can drop those
for sure.
prev parent reply other threads:[~2024-08-29 19:23 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-08-29 17:43 [RFC net-next 0/2] net: ethtool: add phy(dev) specific stats over netlink Jakub Kicinski
2024-08-29 17:43 ` [RFC net-next 1/2] net: ethtool: plumb PHY stats to PHY drivers Jakub Kicinski
2024-08-29 18:10 ` Oleksij Rempel
2024-08-29 19:13 ` Jakub Kicinski
2024-08-30 8:16 ` Maxime Chevallier
2024-08-30 18:30 ` Jakub Kicinski
2024-09-04 7:20 ` Maxime Chevallier
2024-09-04 8:05 ` Oleksij Rempel
2024-09-04 8:09 ` Maxime Chevallier
2024-09-02 15:08 ` Vladimir Oltean
2024-08-29 17:43 ` [RFC net-next 2/2] net: ethtool: add phy(dev) specific stats over netlink Jakub Kicinski
2024-08-29 18:47 ` Andrew Lunn
2024-08-29 19:23 ` Jakub Kicinski [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240829122335.1dd1c052@kernel.org \
--to=kuba@kernel.org \
--cc=andrew@lunn.ch \
--cc=corbet@lwn.net \
--cc=davem@davemloft.net \
--cc=ecree.xilinx@gmail.com \
--cc=edumazet@google.com \
--cc=hkallweit1@gmail.com \
--cc=kory.maincent@bootlin.com \
--cc=linux-doc@vger.kernel.org \
--cc=linux@armlinux.org.uk \
--cc=maxime.chevallier@bootlin.com \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=przemyslaw.kitszel@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).