bnxt: add more ethtool standard stats
authorJakub Kicinski <kuba@kernel.org>
Mon, 19 Apr 2021 20:02:42 +0000 (13:02 -0700)
committerDavid S. Miller <davem@davemloft.net>
Mon, 19 Apr 2021 23:22:23 +0000 (16:22 -0700)
Michael suggest a few more stats we can expose.

$ ethtool -S eth0 --groups eth-mac
Standard stats for eth0:
eth-mac-FramesTransmittedOK: 902623288966
eth-mac-FramesReceivedOK: 28727667047
eth-mac-FrameCheckSequenceErrors: 1
eth-mac-AlignmentErrors: 0
eth-mac-OutOfRangeLengthField: 0
$ ethtool -S eth0 | grep '\(fcs\|align\|oor\)'
     rx_fcs_err_frames: 1
     rx_align_err_frames: 0
     tx_fcs_err_frames: 0

Suggested-by: Michael Chan <michael.chan@broadcom.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c

index 8322523..3b66e30 100644 (file)
@@ -4020,6 +4020,12 @@ static void bnxt_get_eth_mac_stats(struct net_device *dev,
                BNXT_GET_RX_PORT_STATS64(rx, rx_good_frames);
        mac_stats->FramesTransmittedOK =
                BNXT_GET_TX_PORT_STATS64(tx, tx_good_frames);
+       mac_stats->FrameCheckSequenceErrors =
+               BNXT_GET_RX_PORT_STATS64(rx, rx_fcs_err_frames);
+       mac_stats->AlignmentErrors =
+               BNXT_GET_RX_PORT_STATS64(rx, rx_align_err_frames);
+       mac_stats->OutOfRangeLengthField =
+               BNXT_GET_RX_PORT_STATS64(rx, rx_oor_len_frames);
 }
 
 static void bnxt_get_eth_ctrl_stats(struct net_device *dev,