All of lore.kernel.org
 help / color / mirror / Atom feed
From: sashiko-bot@kernel.org
To: "Wei Fang" <wei.fang@nxp.com>
Cc: devicetree@vger.kernel.org, robh@kernel.org, conor+dt@kernel.org,
	imx@lists.linux.dev, Frank.Li@kernel.org
Subject: Re: [PATCH v8 net-next 15/15] net: dsa: netc: add support for ethtool private statistics
Date: Tue, 19 May 2026 08:25:40 +0000	[thread overview]
Message-ID: <20260519082540.A8F47C2BCF5@smtp.kernel.org> (raw)
In-Reply-To: <20260518082506.1318236-16-wei.fang@nxp.com>

Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Medium] The patch duplicates standard MAC statistics into the driver-private `ethtool -S` interface, violating networking subsystem guidelines.
--

commit 69ac5ab61c392e1560b98f2d827a22869f473c36
Author: Wei Fang <wei.fang@nxp.com>

net: dsa: netc: add support for ethtool private statistics

This commit implements the ethtool private statistics interface to expose
additional port-level and MAC-level counters. It adds string-based counters
for both the eMAC and pMAC.

> Note that although rtnl_link_stats64 provides some standard statistics
> such as rx octets, rx frame errors, rx dropped packets, and tx packets,
> these are overall port statistics. The NETC switch supports preemption
> on each port, and each port has two MACs (eMAC and pMAC). The driver
> private statistics are used to obtain statistics for each MAC, allowing
> users to perform analysis and debugging.

Does the standard struct ethtool_eth_mac_stats interface already provide a
native mechanism to report these exact metrics individually for the eMAC
and pMAC? 

The ETHTOOL_MAC_STATS_SRC_EMAC and ETHTOOL_MAC_STATS_SRC_PMAC source fields
appear to be designed for this exact purpose.

> diff --git a/drivers/net/dsa/netc/netc_ethtool.c b/drivers/net/dsa/netc/netc_ethtool.c
> index ac8940b5a85c6..e6028851a6d09 100644
> --- a/drivers/net/dsa/netc/netc_ethtool.c
> +++ b/drivers/net/dsa/netc/netc_ethtool.c
[ ... ]
> @@ -19,6 +19,50 @@ static const struct ethtool_rmon_hist_range netc_rmon_ranges[] = {
[ ... ]
> +static const struct netc_port_stat netc_emac_counters[] = {
> +	{ NETC_PM_ROCT(0),	"eMAC rx octets" },
> +	{ NETC_PM_RVLAN(0),	"eMAC rx VLAN frames" },
> +	{ NETC_PM_RERR(0),	"eMAC rx frame errors" },
> +	{ NETC_PM_RUCA(0),	"eMAC rx unicast frames" },
> +	{ NETC_PM_RDRP(0),	"eMAC rx dropped packets" },
> +	{ NETC_PM_RPKT(0),	"eMAC rx packets" },
> +	{ NETC_PM_TOCT(0),	"eMAC tx octets" },
> +	{ NETC_PM_TVLAN(0),	"eMAC tx VLAN frames" },
> +	{ NETC_PM_TFCS(0),	"eMAC tx FCS errors" },
> +	{ NETC_PM_TUCA(0),	"eMAC tx unicast frames" },
> +	{ NETC_PM_TPKT(0),	"eMAC tx packets" },
> +	{ NETC_PM_TUND(0),	"eMAC tx undersized packets" },
> +	{ NETC_PM_TIOCT(0),	"eMAC tx invalid octets" },
> +};

Are these counters duplicating metrics that already have a standard uAPI?

The networking subsystem guidelines state that stats with a standard uAPI
should not be duplicated in the ethtool -S interface.

Since the driver already implements netc_port_get_eth_mac_stats() to handle
the eMAC and pMAC sources, could these standard MAC statistics be provided
through that standardized interface rather than adding them as private
string-based counters?

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20260518082506.1318236-1-wei.fang@nxp.com?part=15

  reply	other threads:[~2026-05-19  8:25 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-05-18  8:24 [PATCH v8 net-next 00/15] Add preliminary NETC switch support for i.MX94 Wei Fang
2026-05-18  8:24 ` [PATCH v8 net-next 01/15] dt-bindings: net: dsa: update the description of 'dsa,member' property Wei Fang
2026-05-18  8:24 ` [PATCH v8 net-next 02/15] dt-bindings: net: dsa: add NETC switch Wei Fang
2026-05-19  8:25   ` sashiko-bot
2026-05-18  8:24 ` [PATCH v8 net-next 03/15] net: enetc: add pre-boot initialization for i.MX94 switch Wei Fang
2026-05-18  8:24 ` [PATCH v8 net-next 04/15] net: enetc: add basic operations to the FDB table Wei Fang
2026-05-18  8:24 ` [PATCH v8 net-next 05/15] net: enetc: add support for the "Add" operation to VLAN filter table Wei Fang
2026-05-18  8:24 ` [PATCH v8 net-next 06/15] net: enetc: add support for the "Update" operation to buffer pool table Wei Fang
2026-05-18  8:24 ` [PATCH v8 net-next 07/15] net: enetc: add support for "Add" and "Delete" operations to IPFT Wei Fang
2026-05-18  8:24 ` [PATCH v8 net-next 08/15] net: enetc: add multiple command BD rings support Wei Fang
2026-05-18  8:25 ` [PATCH v8 net-next 09/15] net: dsa: add NETC switch tag support Wei Fang
2026-05-19  8:25   ` sashiko-bot
2026-05-19  9:23     ` Wei Fang
2026-05-18  8:25 ` [PATCH v8 net-next 10/15] net: dsa: netc: introduce NXP NETC switch driver for i.MX94 Wei Fang
2026-05-19  8:25   ` sashiko-bot
2026-05-19  9:34     ` Wei Fang
2026-05-18  8:25 ` [PATCH v8 net-next 11/15] net: dsa: netc: add phylink MAC operations Wei Fang
2026-05-19  8:25   ` sashiko-bot
2026-05-19 10:00     ` Wei Fang
2026-05-18  8:25 ` [PATCH v8 net-next 12/15] net: dsa: netc: add FDB, STP, MTU, port setup and host flooding support Wei Fang
2026-05-19  8:25   ` sashiko-bot
2026-05-19  9:42     ` Wei Fang
2026-05-18  8:25 ` [PATCH v8 net-next 13/15] net: dsa: netc: initialize buffer pool table and implement flow-control Wei Fang
2026-05-18  8:25 ` [PATCH v8 net-next 14/15] net: dsa: netc: add support for the standardized counters Wei Fang
2026-05-19  8:25   ` sashiko-bot
2026-05-19 10:08     ` Wei Fang
2026-05-18  8:25 ` [PATCH v8 net-next 15/15] net: dsa: netc: add support for ethtool private statistics Wei Fang
2026-05-19  8:25   ` sashiko-bot [this message]
2026-05-19 10:07     ` Wei Fang
2026-05-21 11:10 ` [PATCH v8 net-next 00/15] Add preliminary NETC switch support for i.MX94 patchwork-bot+netdevbpf

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=20260519082540.A8F47C2BCF5@smtp.kernel.org \
    --to=sashiko-bot@kernel.org \
    --cc=Frank.Li@kernel.org \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=imx@lists.linux.dev \
    --cc=robh@kernel.org \
    --cc=sashiko-reviews@lists.linux.dev \
    --cc=wei.fang@nxp.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.