ECMP/multipath support
Andrew Lemin
andrew.lemin at monitorsoft.com
Mon Oct 4 17:55:12 CEST 2010
Hi,
>> 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).
>I don't see this as a limitation. To the best of my knowledge, each
>protocol having a different administrative distance, this is also how it
>works with other routing solutions. A route from BGP and a route from
>OSPF cannot be combined into a single ECMP route.
I agree. I didn't want to get into the conversation because I know you guys are fully aware of all this.
As you say, it is not really appropriate for routes provided by different routing protocols to have the same weight. It could be suggested that each protocol implementation could have a weight associated with it that is a function of the protocols administrative distance etc.
>> 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.
>I don't know any use case for this.
As long as multipath is implemented in the RIP protocol too, then go for the first method as it is the proper place for it. We NEED ECMP in RIP though. Please.. :)
The point I was trying to make is by adding the functionality to the kernel protocol you only have to update one segment of code instead of having to update all the protocols.
The vast majority of SMB firewalls and VPN concentrators etc only support RIP, hence our position..
>> 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.
>We use ECMP with OSPF here. Unlike Andrew, both routes are strictly the
>same. We use this as layer 3 redundancy and aggregation. Aggregation is
>pretty important too. With two routers, aggregation allows to handle
>temporary bursts of traffic. You cannot rely on aggregation to handle
>permanently more traffic because if one of them fails, you cannot handle
>your original traffic. There is also the use case of three or more
>routers. You can allow one to fail but you still need the traffic to be
>load balanced on the two remaining ones.
Agree :)
>I have some knowledge on how ECMP routes work with netlink interface and
>can offer to try to implement this in BIRD if we agree on what is the
>best place to implement this. However, I have no knowledge on BIRD
>internals and on how ECMP work with OS other than Linux.
I am also happy to offer whatever I can to add multipath to BIRD.
Thanks for all your thoughts and time.
Cheers, Andy.
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