summaryrefslogtreecommitdiffstats
path: root/if-bsd.c
diff options
context:
space:
mode:
authorRoy Marples <roy@marples.name>2016-11-23 19:15:41 +0000
committerRoy Marples <roy@marples.name>2016-11-23 19:15:41 +0000
commit2d134de3b35aa48d132d23ad2391252df5c4c645 (patch)
tree6a96f61529217775dee2f580006481fbbe8e9a47 /if-bsd.c
parentfb7ef64c08a6d89000110f9e14177a55c8a89967 (diff)
downloaddhcpcd-2d134de3b35aa48d132d23ad2391252df5c4c645.tar.xz
Fix adding subnet routes without a source address on OpenBSD.
Diffstat (limited to 'if-bsd.c')
-rw-r--r--if-bsd.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/if-bsd.c b/if-bsd.c
index 3cfba2d3..5d8b2db4 100644
--- a/if-bsd.c
+++ b/if-bsd.c
@@ -419,11 +419,12 @@ if_route(unsigned char cmd, const struct rt *rt)
bool netmask_bcast = sa_is_allones(&rt->rt_netmask);
rtm->rtm_flags |= RTF_UP;
- rtm->rtm_addrs |= RTA_GATEWAY | RTA_IFP;
+ rtm->rtm_addrs |= RTA_GATEWAY;
if (!(rtm->rtm_flags & RTF_REJECT) &&
!sa_is_loopback(&rt->rt_gateway))
{
- rtm->rtm_addrs |= RTA_IFP;
+ if (!gateway_unspec)
+ rtm->rtm_addrs |= RTA_IFP;
if (!sa_is_unspecified(&rt->rt_ifa))
rtm->rtm_addrs |= RTA_IFA;
}