From: Maryam Tahhan <maryam.tahhan@intel.com>
Date: Mon, 20 Jul 2015 12:28:29 +0000 (+0100)
Subject: ixgbe: fix Rx error stats
X-Git-Tag: spdx-start~8656
X-Git-Url: http://git.droids-corp.org/?a=commitdiff_plain;h=3c47efd90d84af552e2cfbea31aad86182a5da0b;p=dpdk.git

ixgbe: fix Rx error stats

Bug fix to remove (rxnfgpc - hw_stats->gprc) which does not account
for phy errors.
hw_stats->gprc is the Number of good (non-erred) Rx packets (from the
network) that pass L2 filtering and has a legal length as defined by
LongPacketEnable. While rxnfgpc is the Number of good (non-erred with
legal length) Rx packets (from the network) regardless of packet
filtering and receive enablement. Thus hw_stats->gprc can be > rxnfgpc
and this calculation should be removed from the calculation of ierrors.
Validated with testpmd by sending packets to the interface without
forwarding enabled - packets should be dropped and the error counters
incremented.

Fixes: f6bf669b9900 ("ixgbe: account more Rx errors")

Signed-off-by: Maryam Tahhan <maryam.tahhan@intel.com>
Acked-by: Balazs Nemeth <balazs.nemeth@intel.com>
Acked-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
Tested-by: Marvin Liu <yong.liu@intel.com>
---

diff --git a/drivers/net/ixgbe/ixgbe_ethdev.c b/drivers/net/ixgbe/ixgbe_ethdev.c
index 3a8cff0b17..09fac2524e 100644
--- a/drivers/net/ixgbe/ixgbe_ethdev.c
+++ b/drivers/net/ixgbe/ixgbe_ethdev.c
@@ -2143,8 +2143,7 @@ ixgbe_dev_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *stats)
 	                  hw_stats->rfc +
 	                  hw_stats->rjc +
 	                  hw_stats->fccrc +
-	                  hw_stats->fclast +
-	                  (rxnfgpc - hw_stats->gprc); /* PHY Errors*/
+	                  hw_stats->fclast;
 
 	/* Tx Errors */
 	/*txdgpc: packets that are DMA'ed*/