From: Roy Marples Date: Wed, 17 Apr 2019 08:15:30 +0000 (+0000) Subject: Merge branch 'master' into rbtree X-Git-Tag: v8.0.0~50 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d502ca6d82b446fbe9f5a53574351a7cc81f4f0d;p=thirdparty%2Fdhcpcd.git Merge branch 'master' into rbtree --- d502ca6d82b446fbe9f5a53574351a7cc81f4f0d diff --cc src/ipv4.c index 4877b7ec,df106e80..9f50329a --- a/src/ipv4.c +++ b/src/ipv4.c @@@ -432,7 -424,7 +432,7 @@@ inet_routerhostroute(rb_tree_t *routes } bool - inet_getroutes(struct dhcpcd_ctx *ctx, rb_tree_t *routes) -inet_getroutes(struct dhcpcd_ctx *ctx, struct rt_head *routes) ++inet_getroutes(struct dhcpcd_ctx *ctx, rb_tree_t *routes, rb_tree_t *kroutes) { struct interface *ifp; #ifdef IPV4LL @@@ -457,7 -449,9 +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; - have_default = (rt_find(routes, &def) != NULL); ++ def.rt_netmask.sa_family = AF_INET; + have_default = (rb_tree_find_node(routes, &def) != NULL); + if (!have_default) - have_default = (rt_find(&ctx->kroutes, &def) != NULL); ++ have_default = (rb_tree_find_node(kroutes, &def) != NULL); ++ if (!have_default) { TAILQ_FOREACH(ifp, ctx->ifaces, next) { if (ifp->active && @@@ -465,6 -459,6 +469,8 @@@ break; } } ++#else ++ UNUSED(kroutes); #endif return true;