Babel in Bird
Juliusz Chroboczek
jch at pps.univ-paris-diderot.fr
Thu May 5 15:02:55 CEST 2016
What you describe is perfectly correct.
> I have two questions w.r.t. this sequence of events:
> 1) How is router restart and seqnos supposed to be handled without
> waiting for route timeout?
It's worse than that, actually -- it's not the route timeout, it's the
source GC time.
The issue is a consequence of having a stateful loop-avoidance algorithm:
if the state is lost, the loop-avoidance algorithm gets confused, and only
recovers after the state has expired.
Babeld currently has two workarounds:
- it stores the current seqno on disk when it shuts down, so that it can
use the same seqno when it restarts;
- it can optionally draw a random router-id at startup, so that the old
and new states don't interfere.
It would be great to design a procedure to recover from this case without
a timeout, but I haven't given it much thought yet. So for now consider
it as a flaw in the protocol.
-- Juliusz
More information about the Bird-users
mailing list