summaryrefslogtreecommitdiffstats
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
commite19698faa8257d55d2f24887e591ba1525c818f5 (patch)
tree6a96f61529217775dee2f580006481fbbe8e9a47
parentcc9d9bf8014e58c5702016a7a10dd0adb38c60d1 (diff)
downloaddhcpcd-e19698faa8257d55d2f24887e591ba1525c818f5.tar.xz
Fix adding subnet routes without a source address on OpenBSD.
-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;
}