From 1d21306785392e997099362fbc863b050fe359da Mon Sep 17 00:00:00 2001 From: "Ondrej Zajicek (work)" Date: Sat, 29 Apr 2017 00:36:35 +0200 Subject: Minor fixes --- sysdep/bsd/krt-sock.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'sysdep/bsd/krt-sock.c') diff --git a/sysdep/bsd/krt-sock.c b/sysdep/bsd/krt-sock.c index c65cba65..d353d629 100644 --- a/sysdep/bsd/krt-sock.c +++ b/sysdep/bsd/krt-sock.c @@ -146,8 +146,9 @@ krt_capable(rte *e) { rta *a = e->attrs; + /* XXXX device routes are broken */ return - ((a->dest == RTD_UNICAST && !a->nh.next) /* No multipath support */ + ((a->dest == RTD_UNICAST && ipa_nonzero(a->nh.gw) && !a->nh.next) /* No multipath support */ #ifdef RTF_REJECT || a->dest == RTD_UNREACHABLE #endif @@ -254,7 +255,7 @@ krt_send_route(struct krt_proto *p, int cmd, rte *e) af = AF_INET6; break; default: - log(L_ERR "KRT: Not sending VPN route %N to kernel", net->n.addr); + log(L_ERR "KRT: Not sending route %N to kernel", net->n.addr); return -1; } @@ -299,6 +300,7 @@ krt_send_route(struct krt_proto *p, int cmd, rte *e) sockaddr_fill(&gate, ipa_is_ip4(i->addr->ip) ? AF_INET : AF_INET6, i->addr->ip, NULL, 0); msg.rtm.rtm_addrs |= RTA_GATEWAY; + break; } default: -- cgit v1.2.3