changeset 4447:d571747108e9 draft

Forgot these from merge
author Roy Marples <roy@marples.name>
date Wed, 17 Apr 2019 08:17:07 +0000
parents bc634fb95df4
children a097141ec9c2
files src/ipv4.h src/route.c
diffstat 2 files changed, 5 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/src/ipv4.h	Wed Apr 17 08:15:30 2019 +0000
+++ b/src/ipv4.h	Wed Apr 17 08:17:07 2019 +0000
@@ -116,7 +116,7 @@
 uint32_t ipv4_getnetmask(uint32_t);
 int ipv4_hasaddr(const struct interface *);
 
-bool inet_getroutes(struct dhcpcd_ctx *, rb_tree_t *);
+bool inet_getroutes(struct dhcpcd_ctx *, rb_tree_t *, rb_tree_t *);
 
 #define STATE_ADDED		0x01
 #define STATE_FAKE		0x02
--- a/src/route.c	Wed Apr 17 08:15:30 2019 +0000
+++ b/src/route.c	Wed Apr 17 08:17:07 2019 +0000
@@ -585,18 +585,19 @@
 void
 rt_build(struct dhcpcd_ctx *ctx, int af)
 {
-	rb_tree_t kroutes, routes, added;
+	rb_tree_t routes, added, kroutes;
 	struct rt *rt, *rtn;
 	unsigned long long o;
 
-	rb_tree_init(&kroutes, &rt_compare_os_ops);
 	rb_tree_init(&routes, &rt_compare_list_ops);
 	rb_tree_init(&added, &rt_compare_os_ops);
+	rb_tree_init(&kroutes, &rt_compare_os_ops);
+	if_initrt(ctx, &kroutes, af);
 
 	switch (af) {
 #ifdef INET
 	case AF_INET:
-		if (!inet_getroutes(ctx, &routes))
+		if (!inet_getroutes(ctx, &routes, &kroutes))
 			goto getfail;
 		break;
 #endif
@@ -608,8 +609,6 @@
 #endif
 	}
 
-	if_initrt(ctx, &kroutes, af);
-
 	RB_TREE_FOREACH_SAFE(rt, &routes, rtn) {
 		if (rt->rt_dest.sa_family != af &&
 		    rt->rt_gateway.sa_family != af)