add a mutex to struct pf_state and init it.
authordlg <dlg@openbsd.org>
Fri, 11 Nov 2022 15:02:31 +0000 (15:02 +0000)
committerdlg <dlg@openbsd.org>
Fri, 11 Nov 2022 15:02:31 +0000 (15:02 +0000)
commit3eb75377085e55d6e66bc0814c3359f206dc2264
tree7aad46767c3f6f5b988a83e850fbcc88bdae1d44
parent538a0e866115defba8e28dcb263e7982e116901a
add a mutex to struct pf_state and init it.

nothing is protected by it yet but it will allow us to provide
consistent updates to individual states without relying on a global
lock. getting that right between the packet processing in pf itself,
pfsync, the pf purge code, the ioctl paths, etc is not worth the
required contortions.

while pf_state does grow, it doesn't use more cachelines on machines
where we will want to run in parallel with a lot of states.

stolen from and ok sashan@
sys/net/pf.c
sys/net/pfvar_priv.h