net: hns3: fix a statistics issue about l3l4 checksum error
authorYufeng Mo <moyufeng@huawei.com>
Fri, 28 Jun 2019 11:50:15 +0000 (19:50 +0800)
committerDavid S. Miller <davem@davemloft.net>
Fri, 28 Jun 2019 16:39:49 +0000 (09:39 -0700)
The frame column is based on rx_crc_errors and rx_frame_errors. So
l3l4 checksum error should not be counted by rx_crc_errors. Instead,
l3l4 checksum error should be counted in ifconfig error column.

Fixes: d3ec4ef66937 ("net: hns3: refactor the statistics updating for netdev")
Signed-off-by: Yufeng Mo <moyufeng@huawei.com>
Signed-off-by: Peng Li <lipeng321@huawei.com>
Signed-off-by: Huazhong Tan <tanhuazhong@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/hisilicon/hns3/hns3_enet.c

index a5d46f0a50ccfc42a6629c8bfda6069af3837d72..37f28bdaf950023f385be5140cc3dc412d7e4633 100644 (file)
@@ -1494,8 +1494,8 @@ static void hns3_nic_get_stats64(struct net_device *netdev,
                        rx_drop += ring->stats.l2_err;
                        rx_errors += ring->stats.non_vld_descs;
                        rx_errors += ring->stats.l2_err;
+                       rx_errors += ring->stats.l3l4_csum_err;
                        rx_crc_errors += ring->stats.l2_err;
-                       rx_crc_errors += ring->stats.l3l4_csum_err;
                        rx_multicast += ring->stats.rx_multicast;
                        rx_length_errors += ring->stats.err_pkt_len;
                } while (u64_stats_fetch_retry_irq(&ring->syncp, start));