[PATCH 1/9] Adding configuration option --enable-sadr.

Dean dluga93 at gmail.com
Tue Mar 7 22:02:04 CET 2017

On 03/07/2017 09:51 PM, Toke Høiland-Jørgensen wrote:
> Dean <dluga93 at gmail.com> writes:
>> On 03/07/2017 09:23 PM, Toke Høiland-Jørgensen wrote:
>>   Basically, I want to do the opposite: We are going to have several
>>   (well, at least two) protocols that understand source-specific routing,
>>   so the nest data structures should work with both. And since Babel at
>>   least is perfectly happy to mix source-specific and regular routes (and
>>   will interoperate with an implementation that only supports the latter),
>>   the nest data structures and lookup functions shouldn't be hidden behind
>>   a configure switch (but the OSPF support might be I guess, unless you
>>   can make it run-time configurable without too much hassle).
>>   1. the fib_node structure having a couple more data fields. If a protocol
>>   doesn't use them, this data won't hurt it, right?
>>   Some data structure overhead is probably fine.
>>   2. fib_get, fib_find, fib_route, net_get, and net_find functions might
>>   do some more processing, but they should ultimately have the same
>>   behavior.
>>   Yeah, the behaviour for non-source-specific routes should be unchanged,
>>   and it should do something sensible when both types of routes exist.
>>   Haven't gotten around to thinking seriously about how I'd implement
>>   source-specific routing for Babel in Bird yet, so you're kinda breaking
>>   new ground here; but happy to be a voice in the background at least
>>   -Toke
>> Oh, I see what you mean. Since Babel works better with SADR, the nest
>> changes should be more focused on Babel, *then* OSPF should make use
>> of them. Instead of the other way around.
> Well, I'm mostly just trying to ensure that the changes you make to
> support SADR routing will be compatible with Babel, when I do get around
> to implementing it there as well. Would be silly if you go through a lot
> of effort of testing that everything works as it's supposed to, which
> then has to be redone because the implementation needs to be changed to
> support Babel as well. Better get it right the first time; so it needs
> to support the union of functionality of both protocols...
> But by all means, go ahead with your implementation rather than wait for
> me to get around to doing the Babel part. I think the main things to
> support would be (1) make the nest changes "always on" (i.e. not hidden
> behind a configure switch), and (2) make sure that SADR routes and
> non-SADR routes can coexist in the same routing table.
> Also, if you haven't already, I'd suggest reading section three of the
> Babel SADR draft:
> https://tools.ietf.org/html/draft-boutier-babel-source-specific-01#section-3
> Not sure how Bird can check for this, but if you're only supporting
> Linux IPV6_SUBTREES I guess it'll be fine...
> -Toke

> (2) make sure that SADR routes and non-SADR routes can coexist in the 
> same routing table.
Is that something that can be fixed in BIRD? Isn't it just a kernel problem?

More information about the Bird-users mailing list