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>
This commit is contained in:
Maryam Tahhan 2015-07-20 13:28:29 +01:00 committed by Thomas Monjalon
parent 4558b74377
commit 3c47efd90d

View 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*/