From: Brett Creeley <brett.cree...@intel.com>

Currently we are only including illegal_bytes and rx_crc_errors in the
PF netdev's rx_error counter. There are many more causes of Rx errors
that the device supports and reports via Ethtool. Accumulate all Rx
errors in the PF netdev's rx_error counter.

Signed-off-by: Brett Creeley <brett.cree...@intel.com>
Tested-by: Andrew Bowers <andrewx.bow...@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirs...@intel.com>
---
 drivers/net/ethernet/intel/ice/ice_main.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/drivers/net/ethernet/intel/ice/ice_main.c 
b/drivers/net/ethernet/intel/ice/ice_main.c
index c2da3e1a2e17..93a42ff7496b 100644
--- a/drivers/net/ethernet/intel/ice/ice_main.c
+++ b/drivers/net/ethernet/intel/ice/ice_main.c
@@ -4295,7 +4295,13 @@ void ice_update_vsi_stats(struct ice_vsi *vsi)
        if (vsi->type == ICE_VSI_PF) {
                cur_ns->rx_crc_errors = pf->stats.crc_errors;
                cur_ns->rx_errors = pf->stats.crc_errors +
-                                   pf->stats.illegal_bytes;
+                                   pf->stats.illegal_bytes +
+                                   pf->stats.rx_len_errors +
+                                   pf->stats.rx_undersize +
+                                   pf->hw_csum_rx_error +
+                                   pf->stats.rx_jabber +
+                                   pf->stats.rx_fragments +
+                                   pf->stats.rx_oversize;
                cur_ns->rx_length_errors = pf->stats.rx_len_errors;
                /* record drops from the port level */
                cur_ns->rx_missed_errors = pf->stats.eth.rx_discards;
-- 
2.26.2

Reply via email to