[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20210414034454.1970967-1-kuba@kernel.org>
Date: Tue, 13 Apr 2021 20:44:48 -0700
From: Jakub Kicinski <kuba@...nel.org>
To: davem@...emloft.net
Cc: netdev@...r.kernel.org, michael.chan@...adcom.com,
saeedm@...dia.com, leon@...nel.org, ecree.xilinx@...il.com,
habetsm.xilinx@...il.com, f.fainelli@...il.com, andrew@...n.ch,
mkubecek@...e.cz, ariela@...dia.com,
Jakub Kicinski <kuba@...nel.org>
Subject: [PATCH net-next 0/6] ethtool: add standard FEC statistics
Hi!
This set adds uAPI for reporting standard FEC statistics, and
implements it in a handful of drivers.
The statistics are taken from the IEEE standard, with one
extra seemingly popular but not standard statistics added.
The implementation is similar to that of the pause frame
statistics, user requests the stats by setting a bit
(ETHTOOL_FLAG_STATS) in the common ethtool header of
ETHTOOL_MSG_FEC_GET.
Since standard defines the statistics per lane what's
reported is both total and per-lane counters:
# ethtool -I --show-fec eth0
FEC parameters for eth0:
Configured FEC encodings: None
Active FEC encoding: None
Statistics:
corrected_blocks: 256
Lane 0: 255
Lane 1: 1
uncorrectable_blocks: 145
Lane 0: 128
Lane 1: 17
The driver implementations are compile-tested only.
I'm also guessing the semantics, so careful review
from maintainers would be much appreciated!
Jakub Kicinski (6):
ethtool: move ethtool_stats_init
ethtool: fec_prepare_data() - jump to error handling
ethtool: add FEC statistics
bnxt: implement ethtool::get_fec_stats
sfc: ef10: implement ethtool::get_fec_stats
mlx5: implement ethtool::get_fec_stats
Documentation/networking/ethtool-netlink.rst | 21 +++++
Documentation/networking/statistics.rst | 2 +
.../net/ethernet/broadcom/bnxt/bnxt_ethtool.c | 15 ++++
.../ethernet/mellanox/mlx5/core/en_ethtool.c | 9 +++
.../ethernet/mellanox/mlx5/core/en_stats.c | 28 ++++++-
.../ethernet/mellanox/mlx5/core/en_stats.h | 2 +
drivers/net/ethernet/sfc/ef10.c | 17 ++++
drivers/net/ethernet/sfc/ethtool.c | 10 +++
drivers/net/ethernet/sfc/net_driver.h | 3 +
include/linux/ethtool.h | 46 +++++++++++
include/uapi/linux/ethtool_netlink.h | 14 ++++
net/ethtool/fec.c | 80 ++++++++++++++++++-
net/ethtool/pause.c | 6 --
13 files changed, 241 insertions(+), 12 deletions(-)
--
2.30.2
Powered by blists - more mailing lists