diff options
author | Alexander Bluhm <bluhm@cvs.openbsd.org> | 2015-12-02 16:35:54 +0000 |
---|---|---|
committer | Alexander Bluhm <bluhm@cvs.openbsd.org> | 2015-12-02 16:35:54 +0000 |
commit | 15fa9af265edc7ee6515998bc6d7a9569a896f43 (patch) | |
tree | ca17d3899f70960aef21a4d68ad66da39ef14422 /sys/netinet6/nd6.c | |
parent | f0a004ba8a87e9ca6577ba721ab81ac1a46cf63c (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.c | 4 |
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); |