diff options
Diffstat (limited to 'sys/netinet6/in6_ifattach.c')
-rw-r--r-- | sys/netinet6/in6_ifattach.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/sys/netinet6/in6_ifattach.c b/sys/netinet6/in6_ifattach.c index 93620c48377..7f812902a6b 100644 --- a/sys/netinet6/in6_ifattach.c +++ b/sys/netinet6/in6_ifattach.c @@ -1,4 +1,4 @@ -/* $OpenBSD: in6_ifattach.c,v 1.72 2014/07/01 19:37:07 benno Exp $ */ +/* $OpenBSD: in6_ifattach.c,v 1.73 2014/08/25 14:00:34 florian Exp $ */ /* $KAME: in6_ifattach.c,v 1.124 2001/07/18 08:32:51 jinmei Exp $ */ /* @@ -689,4 +689,13 @@ in6_ifdetach(struct ifnet *ifp) ifp->if_rdomain); rtfree(rt); } + + if (ifp->if_xflags & IFXF_AUTOCONF6) { + nd6_rs_timeout_count--; + if (nd6_rs_timeout_count == 0) + timeout_del(&nd6_rs_output_timer); + if (RS_LHCOOKIE(ifp) != NULL) + hook_disestablish(ifp->if_linkstatehooks, + RS_LHCOOKIE(ifp)); + } } |