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.