ixgbe: fix Rx errors statistics for UDP checksum
authorHarry van Haaren <harry.van.haaren@intel.com>
Wed, 4 Nov 2015 16:14:43 +0000 (16:14 +0000)
committerThomas Monjalon <thomas.monjalon@6wind.com>
Wed, 4 Nov 2015 16:55:27 +0000 (17:55 +0100)
This patch removes l3_l4_xsum_errors from rx errors.

The reason to remove it is that UDP packets have an optional checksum, and
when not calculated the checksum field should be set to zero. When the
checksum is not calculated (zero-ed out), the hardware still counts a valid
UDP packet as an l3_l4_xsum_error.

This hardware issue is documented in 82599 errata, titled:
"Integrity Error Reported for IPv4/UDP Packets with Zero Checksum"

The solution is to remove l3_l4_xsum_errors from rx_errors, as discussed on
http://thread.gmane.org/gmane.comp.networking.dpdk.devel/25590/

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

Suggested-by: Martin Weiser <martin.weiser@allegro-packets.com>
Signed-off-by: Harry van Haaren <harry.van.haaren@intel.com>
drivers/net/ixgbe/ixgbe_ethdev.c

index c0dbf79..0b0bbcf 100644 (file)
@@ -2492,7 +2492,6 @@ ixgbe_dev_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *stats)
                          total_missed_rx +
                          hw_stats->illerrc +
                          hw_stats->errbc +
-                         hw_stats->xec +
                          hw_stats->rfc +
                          hw_stats->fccrc +
                          hw_stats->fclast;