Add `tx_timeout_count` to ethtool statistics to provide visibility into
transmit timeout events, bringing igbvf in line with other Intel
ethernet drivers.

Currently `tx_timeout_count` is incremented in igbvf_watchdog_task() and
igbvf_tx_timeout() but is not exposed to userspace nor used elsewhere in
the driver.

Before:
  # ethtool -S ens5 | grep tx
       tx_packets: 43
       tx_bytes: 4408
       tx_restart_queue: 0

After:
  # ethtool -S ens5 | grep tx
       tx_packets: 41
       tx_bytes: 4241
       tx_restart_queue: 0
       tx_timeout_count: 0

Tested-by: Kohei Enju <[email protected]>
Signed-off-by: Kohei Enju <[email protected]>
---
 drivers/net/ethernet/intel/igbvf/ethtool.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/net/ethernet/intel/igbvf/ethtool.c 
b/drivers/net/ethernet/intel/igbvf/ethtool.c
index 83b97989a6bd..773895c663fd 100644
--- a/drivers/net/ethernet/intel/igbvf/ethtool.c
+++ b/drivers/net/ethernet/intel/igbvf/ethtool.c
@@ -33,6 +33,7 @@ static const struct igbvf_stats igbvf_gstrings_stats[] = {
        { "lbrx_bytes", IGBVF_STAT(stats.gorlbc, stats.base_gorlbc) },
        { "lbrx_packets", IGBVF_STAT(stats.gprlbc, stats.base_gprlbc) },
        { "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) },
        { "rx_csum_offload_good", IGBVF_STAT(hw_csum_good, zero_base) },
        { "rx_csum_offload_errors", IGBVF_STAT(hw_csum_err, zero_base) },
-- 
2.49.0

Reply via email to