From: Roy Marples Date: Sun, 31 May 2015 08:19:34 +0000 (+0000) Subject: Disable IP address waiting for pseudo interfaces, fixes [1972d664c2]. X-Git-Tag: v6.9.1~70 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c025e90b1f01f684278ecb6cdd62288ddf0f8003;p=thirdparty%2Fdhcpcd.git Disable IP address waiting for pseudo interfaces, fixes [1972d664c2]. --- diff --git a/dhcpcd.c b/dhcpcd.c index fa940c75..69254b20 100644 --- a/dhcpcd.c +++ b/dhcpcd.c @@ -407,20 +407,22 @@ configure_interface1(struct interface *ifp) if (ifo->metric != -1) ifp->metric = (unsigned int)ifo->metric; + /* If we're a psuedo interface, ensure we disable as much as we can */ + if (ifp->options->options & DHCPCD_PFXDLGONLY) + ifp->options->options &= + ~(DHCPCD_IPV4 | DHCPCD_IPV6RS | DHCPCD_WAITIP | DHCPCD_WAITIP6); + if (!(ifo->options & DHCPCD_IPV4)) - ifo->options &= ~(DHCPCD_DHCP | DHCPCD_IPV4LL); + ifo->options &= ~(DHCPCD_DHCP | DHCPCD_IPV4LL | DHCPCD_WAITIP4); if (!(ifo->options & DHCPCD_IPV6)) - ifo->options &= ~(DHCPCD_IPV6RS | DHCPCD_DHCP6); + ifo->options &= + ~(DHCPCD_IPV6RS | DHCPCD_DHCP6 | DHCPCD_WAITIP6); if (ifo->options & DHCPCD_SLAACPRIVATE && !(ifp->ctx->options & (DHCPCD_DUMPLEASE | DHCPCD_TEST))) ifo->options |= DHCPCD_IPV6RA_OWN; - /* If we're a psuedo interface, ensure we disable as much as we can */ - if (ifp->options->options & DHCPCD_PFXDLGONLY) - ifp->options->options &= ~(DHCPCD_IPV4 | DHCPCD_IPV6RS); - /* We want to disable kernel interface RA as early as possible. */ if (ifo->options & DHCPCD_IPV6RS && !(ifp->ctx->options & DHCPCD_DUMPLEASE))