On Mon, Sep 17, 2012 at 08:05:56PM +0400, Alexander V. Chernikov wrote:
This workaround still has problems in case of direct* patterns reconfiguration.
What exact problem is in direct* pattern reconfiguration?
I guess there is a problem if there is some lower priority route with next hop, which is blocked by higher priority device route from direct protocol, which disappears for a while during reconfiguration. Is this what you mean? Yes. Typically all interfaces running OSPF suffers from this problem.
But just standalone direct protocol reconfiguration shouldn't cause problems (device route removal is blocked by kernel protocol). I haven't investigated this in details (despite I have several different configurations where this problem appears from time to time). I'll try to do this.
My point is that the problem could appear only if BOTH these conditions happen: 1) direct protocol is reconfiguring 2) OSPF[*] generates some non-direct route to directly connected ifaces (e.g. your router is not active for that net while another is, or your router loses link and check link is active. Or simply you have asymetric metrics). [*] or some other protocol, but OSPF is typical.
Can we update Direct protocol documentation to reflect this problem?
You mean that routes disappear for a moment during reconfiguration, so if they are used to protect kernel routes they should not be changed? Not exactly. Currently doc states ", in most cases it is not needed to have these device routes in BIRD routing table and to use the direct protocol.".
I'm talking about adding something like
The question is whether it is a good idea to have such device routes in BIRD routing table.
"You definitely want to add device routes if you're running *BSD. This is workaround for interface routes being removed when IGP route for the same network flaps."
s/OS/Linux/ kernel usually handles device routes for directly connected networks by itself so we don't need
OK BTW, the last sentence is not correct - for Linux it works because kernel protocol is currently written in such a way that it cannot overwrite non-BIRD route in kernel. Generally it is possible to overwrite these device routes and in (much) older versions of BIRD such problems happened in Linux too. -- Elen sila lumenn' omentielvo Ondrej 'SanTiago' Zajicek (email: santiago@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."