ethtool: add FEC bins histogram report

IEEE 802.3ck-2022 defines counters for FEC bins and 802.3df-2024
clarifies it a bit further. Implement reporting interface through as
addition to FEC stats available in ethtool. Drivers can leave bin
counter uninitialized if per-lane values are provided. In this case the
core will recalculate summ for the bin.

Signed-off-by: Vadim Fedorenko <vadim.fedorenko@linux.dev>
Reviewed-by: Aleksandr Loktionov <aleksandr.loktionov@intel.com>
Link: https://patch.msgid.link/20250924124037.1508846-2-vadim.fedorenko@linux.dev
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
Vadim Fedorenko
2025-09-24 12:40:33 +00:00
committed by Jakub Kicinski
parent fbb8bc4080
commit cc2f081299
15 changed files with 186 additions and 13 deletions

View File

@@ -1219,6 +1219,30 @@ attribute-sets:
name: udp-ports
type: nest
nested-attributes: tunnel-udp
-
name: fec-hist
attr-cnt-name: --ethtool-a-fec-hist-cnt
attributes:
-
name: pad
type: pad
-
name: bin-low
type: u32
doc: Low bound of FEC bin (inclusive)
-
name: bin-high
type: u32
doc: High bound of FEC bin (inclusive)
-
name: bin-val
type: uint
doc: Error count in the bin (optional if per-lane values exist)
-
name: bin-val-per-lane
type: binary
sub-type: u64
doc: An array of per-lane error counters in the bin (optional)
-
name: fec-stat
attr-cnt-name: __ethtool-a-fec-stat-cnt
@@ -1242,6 +1266,11 @@ attribute-sets:
name: corr-bits
type: binary
sub-type: u64
-
name: hist
type: nest
multi-attr: True
nested-attributes: fec-hist
-
name: fec
attr-cnt-name: __ethtool-a-fec-cnt