On Tue, Jun 20, 2000 at 01:47:47AM +0200, Martin Mares wrote:
Hello!
This is something i neglect - I have seen bird delete the local ethernet route but continuing to try to add routes to gateways on the net unreachable due to deletion of the route and the kernel refusing to add the route because of destination unreachable.
Unless something got terribly misconfigured, BIRD should never do such a thing -- device routes have absolutely the highest preference and nothing should make BIRD remove them or replace them by anything else.
But if you dont have a device statement in the config (as i had) there is no "device" routes in the bird process and it deletes those from the kernel.
Which system configuration did it happen with? linux-20 or linux-22? (Unless you need to run an old kernel, I recommend using the latter one since the old BSD-ish interface to the routing tables is somewhat fishy.) With linux-22 BIRD surely doesn't even touch any device routes in kernel tables and it lets the kernel itself take care of them. The linux-20 configuration could in theory have such problems, because it does a lot of magic things when synchronizing the routing tables and it probably isn't tested well as machines running 2.0 kernels are very rare here.
Kernel 2.2.16
Is the problem reproducable? I would be very interested in a test case where it deterministically happens.
It is - It was a combination of not having a direct statement in the config and a device not capable of split-horizon and reannouncing the "directly" connected ethernet. Bird than took the announcement and deleted the original direct route and tried to replace it with the route to the buggy device which that failed because it wasnt reachable anymore. Flo -- Florian Lohoff flo@rfc822.org +49-waiting-4-telekom "If you're not having fun right now, you're wasting your time."