* Because ap->dadcounter is always increamented,
* a different address is generated. */
/* XXX Cache DAD counter per prefix/id/ssid? */
- if (ifp->options->options & DHCPCD_SLAACPRIVATE &&
- ap->dadcounter < IDGEN_RETRIES)
- {
+ if (ifp->options->options & DHCPCD_SLAACPRIVATE) {
+ if (ap->dadcounter >= IDGEN_RETRIES) {
+ syslog(LOG_ERR,
+ "%s: unable to obtain a"
+ " stable private address",
+ ifp->name);
+ goto try_script;
+ }
syslog(LOG_INFO, "%s: deleting address %s",
ifp->name, ap->saddr);
if (if_deladdress6(ap) == -1 &&
}
}
+try_script:
if (!wascompleted) {
TAILQ_FOREACH(rap, ifp->ctx->ipv6->ra_routers, next) {
if (rap->iface != ifp)