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.