[Bug 262024] em(4)/iflib handles bad packets incorrectly
Date: Thu, 17 Feb 2022 21:54:22 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=262024 Bug ID: 262024 Summary: em(4)/iflib handles bad packets incorrectly Product: Base System Version: CURRENT Hardware: Any OS: Any Status: New Severity: Affects Some People Priority: --- Component: kern Assignee: bugs@FreeBSD.org Reporter: erj@freebsd.org We saw an issue where the em(4) interface would flap repeatedly, and the root cause was that the SBP flag was enabled, causing the hardware to send bad packets to the driver. It appears that if the driver's isc_rxd_pkt_get() handler (e.g. in em here: https://cgit.freebsd.org/src/tree/sys/dev/e1000/em_txrx.c#n692) returns EBADMSG (because the hardware said the packet was bad), the iflib function that calls that will immediately jump to resetting the hardware. We don't think that this should be the case (especially if the driver is explicitly allowing bad packets) and think it should be changed. A previous bug report/commit changed the em(4) driver's default SBP setting to false, so that future users probably won't encounter this behavior unless they manually set it back to true. In this case we've seen it em(4) specifically, but it could affect other iflib-using drivers that allow hardware to forward bad packets to the driver. -- You are receiving this mail because: You are the assignee for the bug.