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