Re: [Intel-wired-lan] [PATCH v1 iwl-next 1/2] igbvf: add lbtx_packets and lbtx_bytes to ethtool statistics

From: Paul Menzel
Date: Wed Aug 13 2025 - 04:21:23 EST


Dear Kohei,


Thank you for your patch.

Am 13.08.25 um 09:50 schrieb Kohei Enju:
Currently ethtool shows lbrx_packets and lbrx_bytes (Good RX
Packets/Octets loopback Count), but doesn't show the TX-side equivalents
(lbtx_packets and lbtx_bytes). Add visibility of those missing
statistics by adding them to ethtool statistics.

In addition, the order of lbrx_bytes and lbrx_packets is not consistent
with non-loopback statistics (rx_packets, rx_bytes). Therefore, align
the order by swapping positions of lbrx_bytes and lbrx_packets.

Tested on Intel Corporation I350 Gigabit Network Connection.

Before:
# ethtool -S ens5 | grep -E "x_(bytes|packets)"
rx_packets: 135
tx_packets: 106
rx_bytes: 16010
tx_bytes: 12451
lbrx_bytes: 1148
lbrx_packets: 12

After:
# ethtool -S ens5 | grep -E "x_(bytes|packets)"
rx_packets: 748
tx_packets: 304
rx_bytes: 81513
tx_bytes: 33698
lbrx_packets: 97
lbtx_packets: 109
lbrx_bytes: 12090
lbtx_bytes: 12401

Tested-by: Kohei Enju <enjuk@xxxxxxxxxx>

No need to resend, but I believe, you only add a Tested-by: tag, if the person differs from the author/Signed-off-by: tag.

Signed-off-by: Kohei Enju <enjuk@xxxxxxxxxx>
---
drivers/net/ethernet/intel/igbvf/ethtool.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/net/ethernet/intel/igbvf/ethtool.c b/drivers/net/ethernet/intel/igbvf/ethtool.c
index 773895c663fd..c6defc495f13 100644
--- a/drivers/net/ethernet/intel/igbvf/ethtool.c
+++ b/drivers/net/ethernet/intel/igbvf/ethtool.c
@@ -30,8 +30,10 @@ static const struct igbvf_stats igbvf_gstrings_stats[] = {
{ "rx_bytes", IGBVF_STAT(stats.gorc, stats.base_gorc) },
{ "tx_bytes", IGBVF_STAT(stats.gotc, stats.base_gotc) },
{ "multicast", IGBVF_STAT(stats.mprc, stats.base_mprc) },
- { "lbrx_bytes", IGBVF_STAT(stats.gorlbc, stats.base_gorlbc) },
{ "lbrx_packets", IGBVF_STAT(stats.gprlbc, stats.base_gprlbc) },
+ { "lbtx_packets", IGBVF_STAT(stats.gptlbc, stats.base_gptlbc) },
+ { "lbrx_bytes", IGBVF_STAT(stats.gorlbc, stats.base_gorlbc) },
+ { "lbtx_bytes", IGBVF_STAT(stats.gotlbc, stats.base_gotlbc) },
{ "tx_restart_queue", IGBVF_STAT(restart_queue, zero_base) },
{ "tx_timeout_count", IGBVF_STAT(tx_timeout_count, zero_base) },
{ "rx_long_byte_count", IGBVF_STAT(stats.gorc, stats.base_gorc) },

Reviewed-by: Paul Menzel <pmenzel@xxxxxxxxxxxxx>


Kind regards,

Paul