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.
Signed-off-by: Maryam Tahhan <maryam.tahhan at intel.com> --- drivers/net/ixgbe/ixgbe_ethdev.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/drivers/net/ixgbe/ixgbe_ethdev.c b/drivers/net/ixgbe/ixgbe_ethdev.c index 3a8cff0..09fac25 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*/ -- 2.4.3