Page MenuHomeFreeBSD

ixl(4): Fix issues with MTU change while passing traffic
AbandonedPublic

Authored by pkubaj on Aug 12 2019, 8:33 AM.
Tags
None
Referenced Files
Unknown Object (File)
Sun, Mar 17, 6:19 PM
Unknown Object (File)
Fri, Mar 1, 12:33 PM
Unknown Object (File)
Jan 28 2024, 6:21 AM
Unknown Object (File)
Jan 11 2024, 8:02 AM
Unknown Object (File)
Dec 26 2023, 9:11 AM
Unknown Object (File)
Dec 10 2023, 8:02 PM
Unknown Object (File)
Dec 6 2023, 1:59 AM
Unknown Object (File)
Nov 5 2023, 8:43 PM
Subscribers

Details

Summary

During (re)init setting the IFF_DRV_RUNNING flag after
enabling interrupts could lead to missing those asserted
immediately and blocking the queues. Set the flag first
to prevent that.

Driver did not check if LRO control structures were already
initialized and not freed them before allocating new ones.
It could lead to kernel panic under heavy RX traffic.
Also free the structures before deallocating RX rings
to avoid memory leak.

This patch is for stable/11 branch only as the ixl driver
in 12 and CURRENT uses iflib, where it is already fixed.

Test Plan

Respectfully requesting our Validation Team to verify the fix before committing.

Diff Detail

Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 31112
Build 28800: arc lint + arc unit

Event Timeline

Backported disable rings fix implemented by Eric Joyner in ixl-iflib version of the driver. It prevents queue hangs when interface is reconfigured while receiving heavy traffic.

In D21223#479325, @erj wrote:

@krzysztof.galazka_intel.com did this get tested yet?

*Bump* Did your new change get tested yet?

FreeBSD 11 is EoL.

pkubaj abandoned this revision.