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
F108434331: D34846.id104781.diff
Fri, Jan 24, 5:56 PM
Unknown Object (File)
Thu, Dec 26, 7:51 PM
Unknown Object (File)
Dec 25 2024, 7:58 PM
Unknown Object (File)
Dec 5 2024, 8:01 PM
Unknown Object (File)
Oct 23 2024, 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

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.