Page MenuHomeFreeBSD

pf: drain Ethernet rules cleanup before starting a new transaction
ClosedPublic

Authored by kp on Apr 8 2022, 5:23 PM.
Tags
None
Referenced Files
F94443520: D34846.id.diff
Tue, Sep 17, 8:24 AM
Unknown Object (File)
Mon, Sep 16, 2:49 AM
Unknown Object (File)
Sat, Sep 7, 10:00 AM
Unknown Object (File)
Wed, Sep 4, 8:06 AM
Unknown Object (File)
Sun, Sep 1, 2:17 AM
Unknown Object (File)
Sun, Aug 25, 6:41 AM
Unknown Object (File)
Wed, Aug 21, 4:17 PM
Unknown Object (File)
Jul 30 2024, 3:03 PM

Details

Summary

Inactive Ethernet rules get cleaned by a net_epoch callback. This
callback may still be pending when we try to start a new (pf rules)
transaction, causing it to fail.
This is especially likely to occur in scripted scenarios, such as the
regression tests.

Drain the epoch callbacks before starting a new transaction, ensuring
we've had the opportunity to clean up the inactive rules.

Sponsored by: Rubicon Communications, LLC ("Netgate")

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

kp requested review of this revision.Apr 8 2022, 5:23 PM
This revision was not accepted when it landed; it landed in state Needs Review.Apr 11 2022, 3:51 PM
This revision was automatically updated to reflect the committed changes.

Spot this while doing local MFC into stable/13 of 150486f6a940 .
Is this fix a candidate for stable/13 ?

In D34846#863624, @zlei wrote:

Spot this while doing local MFC into stable/13 of 150486f6a940 .
Is this fix a candidate for stable/13 ?

I believe the pf ethernet code isn't present in stable/13, so I wouldn't think this needs to be MFC'd.