aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sys/dev/ixgbe/if_ix.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/sys/dev/ixgbe/if_ix.c b/sys/dev/ixgbe/if_ix.c
index e36bea228058..c985e89b4cca 100644
--- a/sys/dev/ixgbe/if_ix.c
+++ b/sys/dev/ixgbe/if_ix.c
@@ -1585,8 +1585,12 @@ ixgbe_update_stats_counters(struct ixgbe_softc *sc)
* - fragmented packets count,
* - oversized packets count,
* - jabber count.
+ *
+ * Ignore XEC errors for 82599 to workaround errata about
+ * UDP frames with zero checksum.
*/
- IXGBE_SET_IERRORS(sc, stats->crcerrs + stats->illerrc + stats->xec +
+ IXGBE_SET_IERRORS(sc, stats->crcerrs + stats->illerrc +
+ (hw->mac.type != ixgbe_mac_82599EB ? stats->xec : 0) +
stats->mpc[0] + stats->rlec + stats->ruc + stats->rfc + stats->roc +
stats->rjc);
} /* ixgbe_update_stats_counters */