summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authordlg <dlg@openbsd.org>2015-09-27 04:27:57 +0000
committerdlg <dlg@openbsd.org>2015-09-27 04:27:57 +0000
commit835318a0bc74cee89826b83976fa2a89771da0f3 (patch)
tree2f0c5be9436915bb747c0c8750098b4955f35e38 /lib
parentsync (diff)
downloadwireguard-openbsd-835318a0bc74cee89826b83976fa2a89771da0f3.tar.xz
wireguard-openbsd-835318a0bc74cee89826b83976fa2a89771da0f3.zip
make carp_input mpsafe.
there are three data structures involved here: the list of carp interfaces on a parent interface (struct carp_if) is now accessed via the if_ih cookie. its lifetime is managed by the if_ih_insert and if_ih_remove calls. the second is the interfaces (struct carp_softc) in the list above. these has been moved from being access via a TAILQ to an SRPL. modifications to the list are serialised by the kernel lock. the third is the list of vhost entries (struct carp_vhost_entry). these used to be in a LIST on each carp_softc, but have been moved to being accessed vian an SRPL. modifications to the list are serialised by the kernel lock. written at l2k15 tested by mpi@ and hrvoje popovski ok mpi@
Diffstat (limited to 'lib')
0 files changed, 0 insertions, 0 deletions