Mercurial > hg > dhcpcd
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)
