ECMP/multipath support

Andrew Lemin andrew.lemin at monitorsoft.com
Fri Oct 1 15:13:52 CEST 2010


Hi Ondrej,
Thanks for your quick response.

For us ECMP is important as we load balance connections to remote customer sites across different ISPs for redundancy and performance.

In many parts of the world, including here, cheap high speed WAN connections are simply not available and so we have to aggregate the bandwidth of many small links to achieve the overall required capacities etc.

Each of our edge firewalls, each hosting unique VPNs to all our customers, advertise their available VPNs to our core router performing multipath and running BIRD.

We would not mind if ECMP routes were restricted to a single protocol type (as in my previous example you can see we run two RIP instances, one on each outside interface), however I do believe that for a complete solution ECMP should be supported for all routes regardless of source.

>       1) adding special route type for a multipath route with multiple gw addresses. This wouldn't be hard, it is consistent with a way how Linux kernel >    handles multipath and works well with OSPF, but it will not allow to 'merge' routes from different protocols (a multipath route would have to be originated by one protocol).

This sounds simpler to implement, but will probably be far too restrictive.

>       2) allow BIRD kernel protocol to scan all equal-best routes to one destination and 'merge' these to a multipath route for kernel.
>       This would be harder to implement, esp. because BIRD would not allow more routes to the same destination from one protocol in one routing table. But it is probably more natural way for a user.

This is a much better solution :)

I am aware of the limitation that BIRD does not allow more routes to the same destination from one protocol 'instance' in one routing table, and it is for this reason that we run two instances of RIP on different interfaces instead of one instance on all outbound interfaces.

If you had two nexthop gateways on a common interface could you not just run two protocol instances each set to only listen for routes from each of the IP's of each nexthop gateway?


We are restricted to using RIP due to our edge firewalls being Draytek devices. With the exception of high end firewalls, most SMB firewall devices only support RIP.


Thanks for your time.
Regards, Andy.


-----Original Message-----
From: Ondrej Zajicek [mailto:santiago at crfreenet.org]
Sent: 01 October 2010 13:19
To: Andrew Lemin
Cc: Vincent Bernat; bird-users at trubka.network.cz
Subject: Re: ECMP/multipath support

On Fri, Oct 01, 2010 at 10:40:58AM +0100, Andrew Lemin wrote:
>    Hi Vincent,
>
>    This is something that we have also been after for some time too, and I
>    know that Securepoint (a company who implement BIRD in their
>    firewall/router product have also approached the bird team about), however
>    there does not seem to be any resources available in the BIRD team at the
>    moment willing to look into this despite how important it is.

Is ECMP really much important? It seems to me that it is useful only in limited number of cases (like having two parallel lines with similar capacities in a network). I would expect that redundancy is usually solved by having generally denser network graph (where ECMP is more likey a random coincidence). But it seems that it is also a feature that is most often asked for.


I see two possibilities how to implement ECMP in BIRD:

1) adding special route type for a multipath route with multiple gw addresses. This wouldn't be hard, it is consistent with a way how Linux kernel handles multipath and works well with OSPF, but it will not allow to 'merge' routes from different protocols (a multipath route would have to be originated by one protocol).

2) allow BIRD kernel protocol to scan all equal-best routes to one destination and 'merge' these to a multipath route for kernel.
This would be harder to implement, esp. because BIRD would not allow more routes to the same destination from one protocol in one routing table. But it is probably more natural way for a user.


What protocols are you thinking about with regard to ECMP?
ECMP in OSPF would work OK, ECMP in BGP probably would not work either, i am not sure about RIP.


--
Elen sila lumenn' omentielvo

Ondrej 'SanTiago' Zajicek (email: santiago at crfreenet.org) OpenPGP encrypted e-mails preferred (KeyID 0x11DEADC3, wwwkeys.pgp.net) "To err is human -- to blame it on a computer is even more so."

Monitor Computer Systems Limited
Company Registration Number: NI 17805
Registered Office: 3 Pine Crest, Holywood, North Down, Northern Ireland BT18 9ED



More information about the Bird-users mailing list