Babel in Bird
Ondrej Zajicek
santiago at crfreenet.org
Wed May 11 13:08:36 CEST 2016
On Thu, May 05, 2016 at 03:02:55PM +0200, Juliusz Chroboczek wrote:
> 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.
Yes, you are right, i missed this.
> 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.
Using random router-id seems like a good idea. Perhaps even an TLV that
describes 'nominal' configured router-id, so regular router-id could be
random, but routes could still contain configured router-id for admin
purposes. Unfortunately, Babel does not have support for something
like Opaque-LSA.
Could not help with this issue just to allow increasing seqnum by more
than 1 in reaction to recevied seqno request (3.8.1.2), to value
rcv_seqno+1 ?
--
Elen sila lumenn' omentielvo
Ondrej 'Santiago' Zajicek (email: santiago at 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."
More information about the Bird-users
mailing list