Mercurial > hg > dhcpcd
changeset 2975:4f153a979fd2 draft
Fix route finding on Linux.
| author | Roy Marples <roy@marples.name> |
|---|---|
| date | Mon, 02 Mar 2015 20:37:28 +0000 |
| parents | 1edbcf1a48ee |
| children | fe20a975aa48 |
| files | ipv4.c ipv6.c |
| diffstat | 2 files changed, 7 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/ipv4.c Mon Mar 02 20:20:43 2015 +0000 +++ b/ipv4.c Mon Mar 02 20:37:28 2015 +0000 @@ -338,9 +338,11 @@ return NULL; TAILQ_FOREACH(r, ctx->ipv4_kroutes, next) { if (rt->dest.s_addr == r->dest.s_addr && +#ifdef HAVE_ROUTE_METRIC + rt->iface == r->iface && + (!flags || rt->metric == r->metric) && +#else (!flags || rt->iface == r->iface) && -#ifdef HAVE_ROUTE_METRIC - (!flags || rt->metric == r->metric) && #endif rt->net.s_addr == r->net.s_addr) return r;
--- a/ipv6.c Mon Mar 02 20:20:43 2015 +0000 +++ b/ipv6.c Mon Mar 02 20:37:28 2015 +0000 @@ -1741,7 +1741,10 @@ if (IN6_ARE_ADDR_EQUAL(&rt->dest, &r->dest) && (!flags || rt->iface == r->iface) && #ifdef HAVE_ROUTE_METRIC + rt->iface == r->iface && (!flags || rt->metric == r->metric) && +#else + (!flags || rt->iface == r->iface) && #endif IN6_ARE_ADDR_EQUAL(&rt->net, &r->net)) return r;
