changeset 4446:bc634fb95df4 draft

Merge branch 'master' into rbtree
author Roy Marples <roy@marples.name>
date Wed, 17 Apr 2019 08:15:30 +0000
parents 8a09e7a73a5a (current diff) b232fd763431 (diff)
children d571747108e9
files src/ipv4.c
diffstat 1 files changed, 7 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/ipv4.c	Tue Apr 16 22:45:13 2019 +0100
+++ b/src/ipv4.c	Wed Apr 17 08:15:30 2019 +0000
@@ -432,7 +432,7 @@
 }
 
 bool
-inet_getroutes(struct dhcpcd_ctx *ctx, rb_tree_t *routes)
+inet_getroutes(struct dhcpcd_ctx *ctx, rb_tree_t *routes, rb_tree_t *kroutes)
 {
 	struct interface *ifp;
 #ifdef IPV4LL
@@ -457,7 +457,11 @@
 	/* If there is no default route, see if we can use an IPv4LL one. */
 	memset(&def, 0, sizeof(def));
 	def.rt_dest.sa_family = AF_INET;
+	def.rt_netmask.sa_family = AF_INET;
 	have_default = (rb_tree_find_node(routes, &def) != NULL);
+	if (!have_default)
+		have_default = (rb_tree_find_node(kroutes, &def) != NULL);
+
 	if (!have_default) {
 		TAILQ_FOREACH(ifp, ctx->ifaces, next) {
 			if (ifp->active &&
@@ -465,6 +469,8 @@
 				break;
 		}
 	}
+#else
+	UNUSED(kroutes);
 #endif
 
 	return true;