summaryrefslogtreecommitdiff
path: root/sysdep
diff options
context:
space:
mode:
authorOndrej Zajicek (work) <santiago@crfreenet.org>2017-12-08 15:59:44 +0100
committerOndrej Zajicek (work) <santiago@crfreenet.org>2017-12-08 16:00:33 +0100
commit517d05dff17e881b880ee4fd28a72e827c10e8c3 (patch)
tree66b4286fe0ce69c77d39f7c5edc160dd273353a3 /sysdep
parenteb95b5ec1a5c3bd4e57f3a134828f8de2875cb43 (diff)
Enable ECMP and Link detection by default
ECMP is not enabled on BSD, where it is not supported by BIRD.
Diffstat (limited to 'sysdep')
-rw-r--r--sysdep/bsd/krt-sock.c4
-rw-r--r--sysdep/linux/netlink.c2
2 files changed, 4 insertions, 2 deletions
diff --git a/sysdep/bsd/krt-sock.c b/sysdep/bsd/krt-sock.c
index c36ae558..604cd510 100644
--- a/sysdep/bsd/krt-sock.c
+++ b/sysdep/bsd/krt-sock.c
@@ -33,6 +33,7 @@
#include "lib/string.h"
#include "lib/socket.h"
+const int rt_default_ecmp = 0;
/*
* There are significant differences in multiple tables support between BSD variants.
@@ -145,9 +146,8 @@ krt_capable(rte *e)
{
rta *a = e->attrs;
- /* XXXX device routes are broken */
return
- ((a->dest == RTD_UNICAST && ipa_nonzero(a->nh.gw) && !a->nh.next) /* No multipath support */
+ ((a->dest == RTD_UNICAST && !a->nh.next) /* No multipath support */
#ifdef RTF_REJECT
|| a->dest == RTD_UNREACHABLE
#endif
diff --git a/sysdep/linux/netlink.c b/sysdep/linux/netlink.c
index 05c1fa8c..ca5c79a4 100644
--- a/sysdep/linux/netlink.c
+++ b/sysdep/linux/netlink.c
@@ -80,6 +80,8 @@ struct rtvia {
#define krt_ecmp6(p) ((p)->af == AF_INET6)
+const int rt_default_ecmp = 16;
+
/*
* Structure nl_parse_state keeps state of received route processing. Ideally,
* we could just independently parse received Netlink messages and immediately