Date: Thu, 17 Nov 2022 20:14:54 GMT From: "Andrey V. Elsukov" <ae@FreeBSD.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Subject: git: daf3d88ac184 - stable/13 - ixgbe: workaround errata about UDP frames with zero checksum Message-ID: <202211172014.2AHKEswA038367@gitrepo.freebsd.org>
next in thread | raw e-mail | index | archive | help
The branch stable/13 has been updated by ae: URL: https://cgit.FreeBSD.org/src/commit/?id=daf3d88ac1849c9a6c5f05d2a663c7fe57453b37 commit daf3d88ac1849c9a6c5f05d2a663c7fe57453b37 Author: Andrey V. Elsukov <ae@FreeBSD.org> AuthorDate: 2022-11-10 09:34:40 +0000 Commit: Andrey V. Elsukov <ae@FreeBSD.org> CommitDate: 2022-11-17 20:13:43 +0000 ixgbe: workaround errata about UDP frames with zero checksum Intel 82599 has errata related to IPv4 UDP frames with zero checksum. It reports such datagrams with L4 integrity errors in IXGBE_XEC register. And after afb1aa4e6df2 commit such errors are reported via IFCOUNTER_IERRORS. This confuses users, since actually all frames are handled correctly by the system. To workaround the problem, let's ignore the XEC register value for 82599 cards for now. PR: 266048 Discussed with: erj Sponsored by: Yandex LLC (cherry picked from commit 8526120ad41ca47367b43f8f4459e0fa61285571) --- sys/dev/ixgbe/if_ix.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) 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 */
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202211172014.2AHKEswA038367>