ixgbe: fix Rx error stats
authorMaryam Tahhan <maryam.tahhan@intel.com>
Mon, 20 Jul 2015 12:28:29 +0000 (13:28 +0100)
committerThomas Monjalon <thomas.monjalon@6wind.com>
Thu, 23 Jul 2015 12:55:25 +0000 (14:55 +0200)
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>
drivers/net/ixgbe/ixgbe_ethdev.c

index 3a8cff0..09fac25 100644 (file)
@@ -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*/