From 70fab17837dbb4c5848681e4c6b9b90891891130 Mon Sep 17 00:00:00 2001 From: "Ondrej Zajicek (work)" Date: Thu, 3 May 2018 16:55:11 +0200 Subject: [PATCH] Babel: Add option to randomize router ID When a Babel node restarts, it loses its sequence number, which can cause its routes to be rejected by peers until the state is cleared out by other nodes in the network (which can take on the order of minutes). There are two ways to fix this: Having stable storage to keep the sequence number across restarts, or picking a different router ID each time. This implements the latter, by introducing a new option that will cause BIRD to randomize a high 32 bits of router ID every time it starts up. This avoids the problem at the cost of not having stable router IDs in the network. Thanks to Toke Hoiland-Jorgensen for the patch. --- doc/bird.sgml | 10 ++++++++++ proto/babel/babel.c | 11 +++++++++++ proto/babel/babel.h | 1 + proto/babel/config.Y | 3 ++- 4 files changed, 24 insertions(+), 1 deletion(-) diff --git a/doc/bird.sgml b/doc/bird.sgml index 1191fa03..ae308d4c 100644 --- a/doc/bird.sgml +++ b/doc/bird.sgml @@ -1691,6 +1691,7 @@ supports the following per-interface configuration options: protocol babel [] { ipv4 { }; ipv6 [sadr] { }; + randomize router id ; interface { type ; rxcost ; @@ -1713,6 +1714,15 @@ protocol babel [] {