git: 8de48df35c3b - main - ixgbe: Do not count L3/L4 checksum errors as input errors

From: Andrew Gallatin <gallatin_at_FreeBSD.org>
Date: Thu, 02 Feb 2023 15:17:25 UTC
The branch main has been updated by gallatin:

URL: https://cgit.FreeBSD.org/src/commit/?id=8de48df35c3bf4800176b7aa54c75a01864d458b

commit 8de48df35c3bf4800176b7aa54c75a01864d458b
Author:     Andrew Gallatin <gallatin@FreeBSD.org>
AuthorDate: 2023-02-02 15:02:44 +0000
Commit:     Andrew Gallatin <gallatin@FreeBSD.org>
CommitDate: 2023-02-02 15:14:12 +0000

    ixgbe: Do not count L3/L4 checksum errors as input errors
    
    NIC input errors have traditionally indicated problems at the link
    level (crc errors, runts, etc).  People tend to build monitoring
    infrastructure  around such errors in order to monitor for bad network
    hardware. When L3/L4 checksum errors are included in the category of
    input errors, it breaks such monitoring, as these errors can originate
    anywhere on the internet, and do not necessarily indicate faulty
    local network hardware.
    
    Reviewed by: erj, glebius
    Differential Revision: https://reviews.freebsd.org/D38346
    Sponsored by: Netflix
---
 sys/dev/ixgbe/if_ix.c | 5 -----
 sys/dev/ixgbe/ixgbe.h | 1 -
 2 files changed, 6 deletions(-)

diff --git a/sys/dev/ixgbe/if_ix.c b/sys/dev/ixgbe/if_ix.c
index 4f6faeec4296..8df0e59a8346 100644
--- a/sys/dev/ixgbe/if_ix.c
+++ b/sys/dev/ixgbe/if_ix.c
@@ -1577,19 +1577,14 @@ ixgbe_update_stats_counters(struct ixgbe_softc *sc)
 	 * Aggregate following types of errors as RX errors:
 	 * - CRC error count,
 	 * - illegal byte error count,
-	 * - checksum error count,
 	 * - missed packets count,
 	 * - length error count,
 	 * - undersized packets count,
 	 * - 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 +
-	    (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 */
diff --git a/sys/dev/ixgbe/ixgbe.h b/sys/dev/ixgbe/ixgbe.h
index 0f81a0a2c2da..83a51b4d15e7 100644
--- a/sys/dev/ixgbe/ixgbe.h
+++ b/sys/dev/ixgbe/ixgbe.h
@@ -507,7 +507,6 @@ struct ixgbe_softc {
     "\nSum of the following RX errors counters:\n" \
     " * CRC errors,\n" \
     " * illegal byte error count,\n" \
-    " * checksum error count,\n" \
     " * missed packet count,\n" \
     " * length error count,\n" \
     " * undersized packets count,\n" \