BIRD and ECMP on Linux seems flaky
Arno Töll
arno.toell+bird at profitbricks.com
Tue Jan 12 17:04:35 CET 2016
Hi,
On Tue, Jan 12, 2016 at 12:09 AM, Wilco Baan Hofman <wilco at baanhofman.nl> wrote:
> In this case, the API is not symmetrical. You can set routes via the
> multipath structures, but the Linux kernel splits this up into separate
> routes internally, because with IPv6 you can now have multiple routes to
> the same destination that are not linked together (why? Maybe to
> remove/add one of the nexthops independently or something).
You are right. If I do
ip -6 route add fd57::1/128 nexthop via fc57::1 nexthop via fc57::2
I get:
root at ps:~# ip -6 route show
..
fd57::1 via fc57::2 dev eth0 metric 1024
fd57::1 via fc57::1 dev eth0 metric 1024
With IPv4 I get:
root at ps:~# ip route add 192.168.0.1/32 nexthop via 10.10.216.1 nexthop
via 10.10.216.2
root at ps:~# ip route show
...
192.168.0.1
nexthop via 10.10.216.1 dev eth0 weight 1
nexthop via 10.10.216.2 dev eth0 weight 1
This sucks. I suppose this is merely a Linux "feature", than a bug in
bird. Also, as I take it, there is no way around this in bird? That
means ECMP with bird on IPv6 is basically useless currently.
--
Arno Töll
GnuPG Key-ID: 0x9D80F36D
More information about the Bird-users
mailing list