From: Roy Marples Date: Wed, 18 Nov 2015 21:22:15 +0000 (+0000) Subject: Fix adding host routes via a gateway on Linux. X-Git-Tag: v6.9.4~5 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b45d3d826b65d7d9e3e806104e8eae75f737ef9c;p=thirdparty%2Fdhcpcd.git Fix adding host routes via a gateway on Linux. --- diff --git a/if-linux.c b/if-linux.c index 34a021b3..64dee7c3 100644 --- a/if-linux.c +++ b/if-linux.c @@ -1374,9 +1374,8 @@ if_route(unsigned char cmd, const struct rt *rt) nlm.rt.rtm_dst_len = inet_ntocidr(rt->net); add_attr_l(&nlm.hdr, sizeof(nlm), RTA_DST, &rt->dest.s_addr, sizeof(rt->dest.s_addr)); - /* If a host route then don't add the gateway */ if (cmd == RTM_ADD || cmd == RTM_CHANGE) { - if (rt->net.s_addr != INADDR_BROADCAST) + if (rt->gate.s_addr != htonl(INADDR_ANY)) add_attr_l(&nlm.hdr, sizeof(nlm), RTA_GATEWAY, &rt->gate.s_addr, sizeof(rt->gate.s_addr)); if (rt->gate.s_addr != htonl(INADDR_LOOPBACK))