Page MenuHomeFreeBSD

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

Authored by krzysztof.galazka_intel.com on Aug 12 2019, 8:33 AM.

Details

Reviewers
marius
erj
Group Reviewers
Intel Networking
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 OK
Unit
No Unit 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.