[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20200911234932.ncrmapwpqjnphdv5@skbuf>
Date: Sat, 12 Sep 2020 02:49:32 +0300
From: Vladimir Oltean <olteanv@...il.com>
To: Jakub Kicinski <kuba@...nel.org>
Cc: davem@...emloft.net, netdev@...r.kernel.org, mkubecek@...e.cz,
michael.chan@...adcom.com, tariqt@...dia.com, saeedm@...dia.com,
alexander.duyck@...il.com, andrew@...n.ch
Subject: Re: [PATCH net-next v2 0/8] ethtool: add pause frame stats
On Fri, Sep 11, 2020 at 04:28:45PM -0700, Jakub Kicinski wrote:
> Hi!
>
> This is the first (small) series which exposes some stats via
> the corresponding ethtool interface. Here (thanks to the
> excitability of netlink) we expose pause frame stats via
> the same interfaces as ethtool -a / -A.
>
> In particular the following stats from the standard:
> - 30.3.4.2 aPAUSEMACCtrlFramesTransmitted
> - 30.3.4.3 aPAUSEMACCtrlFramesReceived
>
> 4 real drivers are converted, hopefully the semantics match
> the standard.
>
> v2:
> - netdevsim: add missing static
> - bnxt: fix sparse warning
> - mlx5: address Saeed's comments
>
> Jakub Kicinski (8):
> ethtool: add standard pause stats
> docs: net: include the new ethtool pause stats in the stats doc
> netdevsim: add pause frame stats
> selftests: add a test for ethtool pause stats
> bnxt: add pause frame stats
> ixgbe: add pause frame stats
> mlx5: add pause frame stats
> mlx4: add pause frame stats
>
> Documentation/networking/ethtool-netlink.rst | 11 ++
> Documentation/networking/statistics.rst | 57 ++++++++-
> .../net/ethernet/broadcom/bnxt/bnxt_ethtool.c | 17 +++
> .../net/ethernet/intel/ixgbe/ixgbe_ethtool.c | 11 ++
> .../net/ethernet/mellanox/mlx4/en_ethtool.c | 19 +++
> .../net/ethernet/mellanox/mlx4/mlx4_stats.h | 12 ++
> .../ethernet/mellanox/mlx5/core/en_ethtool.c | 9 ++
> .../net/ethernet/mellanox/mlx5/core/en_rep.c | 9 ++
> .../ethernet/mellanox/mlx5/core/en_stats.c | 29 +++++
> .../ethernet/mellanox/mlx5/core/en_stats.h | 3 +
> drivers/net/netdevsim/Makefile | 2 +-
> drivers/net/netdevsim/ethtool.c | 64 +++++++++++
> drivers/net/netdevsim/netdev.c | 1 +
> drivers/net/netdevsim/netdevsim.h | 11 ++
> include/linux/ethtool.h | 26 +++++
> include/uapi/linux/ethtool_netlink.h | 18 ++-
> net/ethtool/pause.c | 57 ++++++++-
> .../drivers/net/netdevsim/ethtool-pause.sh | 108 ++++++++++++++++++
> 18 files changed, 456 insertions(+), 8 deletions(-)
> create mode 100644 drivers/net/netdevsim/ethtool.c
> create mode 100755 tools/testing/selftests/drivers/net/netdevsim/ethtool-pause.sh
>
> --
> 2.26.2
>
DSA used to override the "ethtool -S" callback of the host port, and
append its own CPU port counters to that.
So you could actually see pause frames transmitted by the host port and
received by the switch's CPU port:
# ethtool -S eno2 | grep pause
MAC rx valid pause frames: 1339603152
MAC tx valid pause frames: 0
p04_rx_pause: 0
p04_tx_pause: 1339603152
With this new command what's the plan?
Thanks,
-Vladimir
Powered by blists - more mailing lists