summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRoy Marples <roy@marples.name>2019-11-28 12:09:50 +0000
committerRoy Marples <roy@marples.name>2020-01-02 12:07:53 +0000
commitc94d4e0f62b30a52d3e6f19b7c844a9b8e417c94 (patch)
treeac0801abb2e8892523977ea3df2b4d5f32da35ee
parentc95266be7384a6e87aa9c95332e695f0b8eca50f (diff)
downloaddhcpcd-c94d4e0f62b30a52d3e6f19b7c844a9b8e417c94.tar.xz
Move some option finialisation so it's available globally.
-rw-r--r--src/dhcpcd.c14
-rw-r--r--src/if-options.c15
2 files changed, 15 insertions, 14 deletions
diff --git a/src/dhcpcd.c b/src/dhcpcd.c
index 8870b439..98e81218 100644
--- a/src/dhcpcd.c
+++ b/src/dhcpcd.c
@@ -467,25 +467,11 @@ configure_interface1(struct interface *ifp)
if (!(ifo->options & (DHCPCD_INFORM | DHCPCD_WANTDHCP)))
ifo->options |= DHCPCD_STATIC;
}
- if (!(ifo->options & DHCPCD_ARP) ||
- ifo->options & (DHCPCD_INFORM | DHCPCD_STATIC))
- ifo->options &= ~DHCPCD_IPV4LL;
if (ifo->metric != -1)
ifp->metric = (unsigned int)ifo->metric;
- if (!(ifo->options & DHCPCD_IPV4))
- ifo->options &= ~(DHCPCD_DHCP | DHCPCD_IPV4LL | DHCPCD_WAITIP4);
-
#ifdef INET6
- if (!(ifo->options & DHCPCD_IPV6))
- ifo->options &=
- ~(DHCPCD_IPV6RS | DHCPCD_DHCP6 | DHCPCD_WAITIP6);
-
- if (!(ifo->options & DHCPCD_IPV6RS))
- ifo->options &=
- ~(DHCPCD_IPV6RA_AUTOCONF | DHCPCD_IPV6RA_REQRDNSS);
-
/* We want to setup INET6 on the interface as soon as possible. */
if (ifp->active == IF_ACTIVE_USER &&
ifo->options & DHCPCD_IPV6 &&
diff --git a/src/if-options.c b/src/if-options.c
index 3c7c706e..f922cfc1 100644
--- a/src/if-options.c
+++ b/src/if-options.c
@@ -2231,6 +2231,21 @@ finish_config(struct if_options *ifo)
* guard should suffice */
ifo->options |= DHCPCD_VENDORRAW;
}
+
+ if (!(ifo->options & DHCPCD_ARP) ||
+ ifo->options & (DHCPCD_INFORM | DHCPCD_STATIC))
+ ifo->options &= ~DHCPCD_IPV4LL;
+
+ if (!(ifo->options & DHCPCD_IPV4))
+ ifo->options &= ~(DHCPCD_DHCP | DHCPCD_IPV4LL | DHCPCD_WAITIP4);
+
+ if (!(ifo->options & DHCPCD_IPV6))
+ ifo->options &=
+ ~(DHCPCD_IPV6RS | DHCPCD_DHCP6 | DHCPCD_WAITIP6);
+
+ if (!(ifo->options & DHCPCD_IPV6RS))
+ ifo->options &=
+ ~(DHCPCD_IPV6RA_AUTOCONF | DHCPCD_IPV6RA_REQRDNSS);
}
/* Handy routine to read very long lines in text files.