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)
May 17 2024, 7:21 PM
Unknown Object (File)
May 3 2024, 9:28 AM
Unknown Object (File)
Apr 30 2024, 5:24 AM
Unknown Object (File)
Dec 23 2023, 1:05 AM
Unknown Object (File)
Jul 9 2023, 5:14 PM
Unknown Object (File)
Jul 9 2023, 4:58 PM
Unknown Object (File)
Jun 13 2023, 6:52 PM
Unknown Object (File)
Jun 3 2023, 5:08 PM

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 Not Applicable
Unit
Tests Not Applicable

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.