Finally remove the kernel lock from IPv6 neighbor discovery. ND6
authorbluhm <bluhm@openbsd.org>
Sat, 13 May 2023 16:27:59 +0000 (16:27 +0000)
committerbluhm <bluhm@openbsd.org>
Sat, 13 May 2023 16:27:59 +0000 (16:27 +0000)
commitf46db49ea177dce006ce4265bb710da9838b67e7
tree2f5c706a57217f89fcbf071b1adad7cd7c0f7c63
parent55055d619d36cc45f8c6891404c51cd405214e86
Finally remove the kernel lock from IPv6 neighbor discovery.  ND6
entries in rt_llinfo are protected either by exclusive netlock or
the ND6 mutex.  The performance critical lookup path in nd6_resolve()
uses shared netlock, but is not lockless.  In contrast to ARP it
grabs the mutex also in the common case.
tested by Hrvoje Popovski; with and OK kn@
sys/netinet6/nd6.c