summaryrefslogtreecommitdiff
path: root/sys/netinet6/nd6.c
diff options
context:
space:
mode:
authorAlexander Bluhm <bluhm@cvs.openbsd.org>2015-12-02 16:35:54 +0000
committerAlexander Bluhm <bluhm@cvs.openbsd.org>2015-12-02 16:35:54 +0000
commit15fa9af265edc7ee6515998bc6d7a9569a896f43 (patch)
treeca17d3899f70960aef21a4d68ad66da39ef14422 /sys/netinet6/nd6.c
parentf0a004ba8a87e9ca6577ba721ab81ac1a46cf63c (diff)
When destroying an interface, we have to wait until all references
are not used anymore. This has to be done before any interface fields become invalid. As the route delete request cannot call if_get() anymore, pass down the interface. Split rtrequest_delete() into a separate function that may take an existing inteface. OK mpi@
Diffstat (limited to 'sys/netinet6/nd6.c')
-rw-r--r--sys/netinet6/nd6.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/netinet6/nd6.c b/sys/netinet6/nd6.c
index f4a216b401f..0c0da720fb3 100644
--- a/sys/netinet6/nd6.c
+++ b/sys/netinet6/nd6.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: nd6.c,v 1.174 2015/12/02 13:29:26 claudio Exp $ */
+/* $OpenBSD: nd6.c,v 1.175 2015/12/02 16:35:53 bluhm Exp $ */
/* $KAME: nd6.c,v 1.280 2002/06/08 19:52:07 itojun Exp $ */
/*
@@ -833,7 +833,7 @@ nd6_free(struct rtentry *rt, int gc)
* caches, and disable the route entry not to be used in already
* cached routes.
*/
- rtdeletemsg(rt, ifp->if_rdomain);
+ rtdeletemsg(rt, ifp, ifp->if_rdomain);
splx(s);
if_put(ifp);