summaryrefslogtreecommitdiff
path: root/sys/netinet6/nd6_nbr.c
diff options
context:
space:
mode:
authorMarkus Friedl <markus@cvs.openbsd.org>2008-11-25 12:11:46 +0000
committerMarkus Friedl <markus@cvs.openbsd.org>2008-11-25 12:11:46 +0000
commitd773af5009dd3bda5ac659f8a49a399a950cfbe9 (patch)
tree3b01d77ed6d6268de15cb7118078a19d547ad6cf /sys/netinet6/nd6_nbr.c
parent6e975ccd45f058f67d5fc4be2f54b49f1e378170 (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.c7
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