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
Unknown Object (File)
Wed, Oct 23, 5:34 PM
Unknown Object (File)
Oct 3 2024, 6:55 AM
Unknown Object (File)
Oct 2 2024, 8:03 AM
Unknown Object (File)
Oct 2 2024, 7:54 AM
Unknown Object (File)
Sep 30 2024, 5:02 AM
Unknown Object (File)
Sep 27 2024, 11:44 PM
Unknown Object (File)
Sep 27 2024, 12:41 AM
Unknown Object (File)
Sep 22 2024, 11:11 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.