mirror.osn.de :: Status

Status

Age (hh:mm:ss) of last commit: 00:45:55

Last commit message:

CVSROOT:	/cvs
Module name:	src
Changes by:	dlg@cvs.openbsd.org	2025/12/09 17:59:56
Modified files:
	sys/net        : pf.c 
Log message:
use an smr crit section to get the parent of carp interfaces.
pf maps packets "received" on carp interfaces back to the actual
interface it was received on and applies policy to that parent.
eg, if you have carp0 on top of em0, packets destined to the carp0
mac address, the network stack will think that the packets were
received by carp0. pf maps carp0 back to em0 and applies policy on
em0 though.
previously pf used if_get/if_put to do this lookup of the carp
parent, which is a couple of atomic ops on what can be a contended
cacheline for every packet destined for a carp interface. now the
lookup is done in an SMR critical section, against what will
hopefully be a shared cacheline.