Document the locking mechanism of the global variables in ARP code.
authorbluhm <bluhm@openbsd.org>
Wed, 28 Apr 2021 10:33:34 +0000 (10:33 +0000)
committerbluhm <bluhm@openbsd.org>
Wed, 28 Apr 2021 10:33:34 +0000 (10:33 +0000)
commit5bdbb3c9fc1506ea3bf6d7f3b2d808d168a023ec
tree7af049a0062a8c74d3eb6ebf308e5caa7a09f092
parent9d6122f62b6ed32d6c956e1d5269114b2f24ea14
Document the locking mechanism of the global variables in ARP code.
The global list of ARP llinfo is protected by net lock.  This is
not sufficent when we switch to shared netlock.  Add a mutex for
insertion and removal when net lock is not exclusive.  This is
needed if we want run IP output on multiple CPU.
Put an assertion for shared net lock into arp_rtrequest.
input mvs@; OK sashan@
sys/netinet/if_ether.c