changeset 4918:4a991b042e42 draft

Move some option finialisation so it's available globally.
author Roy Marples <roy@marples.name>
date Thu, 28 Nov 2019 12:09:50 +0000
parents c7d67a898092
children e869060a49dc
files src/dhcpcd.c src/if-options.c
diffstat 2 files changed, 15 insertions(+), 14 deletions(-) [+]
line wrap: on
line diff
--- a/src/dhcpcd.c	Thu Jan 02 11:14:13 2020 +0000
+++ b/src/dhcpcd.c	Thu Nov 28 12:09:50 2019 +0000
@@ -467,25 +467,11 @@
 		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 &&
--- a/src/if-options.c	Thu Jan 02 11:14:13 2020 +0000
+++ b/src/if-options.c	Thu Nov 28 12:09:50 2019 +0000
@@ -2231,6 +2231,21 @@
 		 * 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.