diff options
| author | Roy Marples <roy@marples.name> | 2019-11-28 12:09:50 +0000 |
|---|---|---|
| committer | Roy Marples <roy@marples.name> | 2020-01-02 12:07:53 +0000 |
| commit | c94d4e0f62b30a52d3e6f19b7c844a9b8e417c94 (patch) | |
| tree | ac0801abb2e8892523977ea3df2b4d5f32da35ee | |
| parent | c95266be7384a6e87aa9c95332e695f0b8eca50f (diff) | |
| download | dhcpcd-c94d4e0f62b30a52d3e6f19b7c844a9b8e417c94.tar.xz | |
Move some option finialisation so it's available globally.
| -rw-r--r-- | src/dhcpcd.c | 14 | ||||
| -rw-r--r-- | src/if-options.c | 15 |
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. |
