kernel - Fix several IPV6 issues
authorMatthew Dillon <dillon@apollo.backplane.com>
Mon, 18 Jul 2011 22:02:26 +0000 (15:02 -0700)
committerMatthew Dillon <dillon@apollo.backplane.com>
Mon, 18 Jul 2011 22:02:26 +0000 (15:02 -0700)
commitf884afc578303ab662bba5f90d9b7b8dd773883d
tree75ab264adabd48639931faa64734ab39468b52e6
parent6e9c08674f7055f843113ddf9e181ec05ca764fd
kernel - Fix several IPV6 issues

* Replace old critical sections with a lock around global structures,
  primarily the default route list for IPV6.  This fixes numerous MP
  races.

* Use rtrequest*_global() instead of rtrequest*() and remove user route
  socket notification (the rtrequest*_global() code should do the
  notification).  This fixes several issues with the per-cpu route table
  getting out of sync and triggering panics, and also appears to fix
  several connectivity issues.

Reported-by: Francois Tigeot <ftigeot@wolfpond.org>
sys/netinet6/nd6.c
sys/netinet6/nd6.h
sys/netinet6/nd6_nbr.c
sys/netinet6/nd6_rtr.c