On Wed, Jun 22, 2011 at 12:27 PM, Julien Cristau <[email protected]> wrote: > On Wed, Jun 22, 2011 at 08:35:53 -0600, Dave Taht wrote: > >> In order to disrupt a flow less, babel could >> >> A) install a new route with a higher metric (priority) >> B) remove the old route >> C) install the new route again with the right metric (priority) >> D) Remove the new route with the higher metric >> >> instead, right now, when metrics are equal (which they usually are) it >> removes the route entirely, leaving a window where packets drop >> (particularly under load), then adds it again going to the right place. >> >> It SHOULD be easier than this, and perhaps babeld is working around an >> old bug in the kernel here, but I don't think so. The above is kind of >> crufty, and I hope it's just possible to combine C and D into one >> operation. >> > I believe this is indeed working around an old kernel bug. We needed to > make this work with some old 2.4.x kernel. A quick test on 2.6.32 > suggests that adding a two routes with the same metric and different > gateways works just fine now.
Awesome. When I had tried this last, about 2 years ago, I ended up with routes to nowhere getting stuck permanently sending things to localhost. Perhaps this was another bug entirely (or my bug) and/or has been fixed since then. It was very hard to trigger, but when triggered, babel got wedged and stayed wedged. (it was very hard to debug,too, as when a node got wedged, it rapidly went completely offline) I will try eliminating the current work-around logic, or trying something more robust, and see what happens on 3.0 and 2.6.37.6, which are what I'm using at the moment. > > Cheers, > Julien > -- Dave Täht SKYPE: davetaht US Tel: 1-239-829-5608 http://the-edge.blogspot.com _______________________________________________ Babel-users mailing list [email protected] http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/babel-users

