diff options
author | Markus Friedl <markus@cvs.openbsd.org> | 2008-11-25 12:11:46 +0000 |
---|---|---|
committer | Markus Friedl <markus@cvs.openbsd.org> | 2008-11-25 12:11:46 +0000 |
commit | d773af5009dd3bda5ac659f8a49a399a950cfbe9 (patch) | |
tree | 3b01d77ed6d6268de15cb7118078a19d547ad6cf /sys/netinet6/nd6_nbr.c | |
parent | 6e975ccd45f058f67d5fc4be2f54b49f1e378170 (diff) |
delay /etc/netstart until IPv6-DAD (dup-address-detection) is completed.
ok fries, hshoexer, claudio
Diffstat (limited to 'sys/netinet6/nd6_nbr.c')
-rw-r--r-- | sys/netinet6/nd6_nbr.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/sys/netinet6/nd6_nbr.c b/sys/netinet6/nd6_nbr.c index 5b604f3825e..213929cca6c 100644 --- a/sys/netinet6/nd6_nbr.c +++ b/sys/netinet6/nd6_nbr.c @@ -1,4 +1,4 @@ -/* $OpenBSD: nd6_nbr.c,v 1.53 2008/10/01 21:17:06 claudio Exp $ */ +/* $OpenBSD: nd6_nbr.c,v 1.54 2008/11/25 12:11:45 markus Exp $ */ /* $KAME: nd6_nbr.c,v 1.61 2001/02/10 16:06:14 jinmei Exp $ */ /* @@ -1127,6 +1127,7 @@ nd6_dad_start(struct ifaddr *ifa, int *tick) } bzero(&dp->dad_timer_ch, sizeof(dp->dad_timer_ch)); TAILQ_INSERT_TAIL(&dadq, (struct dadq *)dp, dad_list); + ip6_dad_pending++; nd6log((LOG_DEBUG, "%s: starting DAD for %s\n", ifa->ifa_ifp->if_xname, ip6_sprintf(&ia->ia_addr.sin6_addr))); @@ -1181,6 +1182,7 @@ nd6_dad_stop(struct ifaddr *ifa) free(dp, M_IP6NDP); dp = NULL; IFAFREE(ifa); + ip6_dad_pending--; } static void @@ -1226,6 +1228,7 @@ nd6_dad_timer(struct ifaddr *ifa) free(dp, M_IP6NDP); dp = NULL; IFAFREE(ifa); + ip6_dad_pending--; goto done; } @@ -1279,6 +1282,7 @@ nd6_dad_timer(struct ifaddr *ifa) free(dp, M_IP6NDP); dp = NULL; IFAFREE(ifa); + ip6_dad_pending--; } } @@ -1318,6 +1322,7 @@ nd6_dad_duplicated(struct ifaddr *ifa) free(dp, M_IP6NDP); dp = NULL; IFAFREE(ifa); + ip6_dad_pending--; } static void |