Page MenuHomeFreeBSD

pf: remove pd_refs from pfsync
ClosedPublic

Authored by kp on Mar 24 2023, 8:42 AM.
Tags
None
Referenced Files
Unknown Object (File)
Thu, Oct 24, 3:54 AM
Unknown Object (File)
Fri, Oct 18, 7:45 AM
Unknown Object (File)
Fri, Oct 18, 7:45 AM
Unknown Object (File)
Fri, Oct 18, 7:45 AM
Unknown Object (File)
Fri, Oct 18, 7:45 AM
Unknown Object (File)
Fri, Oct 18, 7:25 AM
Unknown Object (File)
Oct 4 2024, 4:19 AM
Unknown Object (File)
Oct 3 2024, 2:58 AM

Details

Summary

It only served to complicate cleanup, and added no value.

While here drop packets in pfsync_defer_tmo() if we don't have a syncif,
rather than just leaving them on the queue.

Sponsored by: Rubicon Communications, LLC (Netgate)

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 50587
Build 47478: arc lint + arc unit

Event Timeline

kp requested review of this revision.Mar 24 2023, 8:42 AM
zlei added inline comments.
sys/netpfil/pf/if_pfsync.c
414

On clone destroy event, is it possible b is hold locked by other thread ?
Do we need lock for sync, or at least a memory fence ?

416

Do we need lock for sync, or at least a memory fence ?

So that TAILQ_FIRST will be safe.

1832

I think PF_STATE_LOCK() is needed.

sys/netpfil/pf/if_pfsync.c
416

Good catch. Mark also pointed that out in D39223. I'll fix it there.

1832

There are a number of locking issues around state accesses in pfsync. I don't intend to fix them in this commit.

This revision is now accepted and ready to land.Mar 27 2023, 9:52 PM
This revision was automatically updated to reflect the committed changes.