]> git.ipfire.org Git - thirdparty/dhcpcd.git/commitdiff
Disable IP address waiting for pseudo interfaces, fixes [1972d664c2].
authorRoy Marples <roy@marples.name>
Sun, 31 May 2015 08:19:34 +0000 (08:19 +0000)
committerRoy Marples <roy@marples.name>
Sun, 31 May 2015 08:19:34 +0000 (08:19 +0000)
dhcpcd.c

index fa940c75d7b5d7b27b956e8047a66e84d7a563a0..69254b201cd426e47749e317e8155a4b48f5dc73 100644 (file)
--- 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))