on-interface routes

Alexander V. Chernikov melifaro at yandex-team.ru
Mon Sep 17 14:51:11 CEST 2012


On 17.09.2012 17:06, Ondrej Zajicek wrote:
> On Mon, Sep 17, 2012 at 01:29:35PM +0600, Eugene M. Zheganin wrote:
>> Hi.
>>
>> Why bird touches on-interface routes ? Right now I have to create import
>> filters and prohibit importing of on-interface routes, because in case
>> of losing a link bird thinks that this route was added by it and deletes
>> it, making the network unuseable. Is there a way to tell it 'don't touch
>> on-interface routes' ?
>
> BIRD tries to not touch these routes, so it is strange that in your case
> these routes are removed.
>
> First, device routes (and their removal) are not exported to kernel
> unless 'device routes' option is active. But this can be circumvented
> when protocol tries to export 'regular' route (with next-hop) for the
> same network (this is probably what happened if you have OSPF and two
> routers connected to a network, one loses a link and tries to route to
> that network through the other router). Workaround for this is to have
> active 'direct' protocol, which generates local routes with higher
> priority, so any OSPF route for that prefix is not propagated to the
> kernel.
This workaround still has problems in case of direct* patterns 
reconfiguration.

Unfortunately, I can't think of any good bird-side patch to fix this in 
better way.

I'm planning to fix this in FreeBSD kernel, but it is a long story..

Can we update Direct protocol documentation to reflect this problem?

>
> Second, kernel protocol do not overwrite any non-BIRD route in kernel
> routing table. But AFAIK this works only on Linux, not in BSD.
> So i guess you use BSD?
Yes.
>





More information about the Bird-users mailing list