diff options
author | Ondrej Zajicek (work) <santiago@crfreenet.org> | 2018-05-03 16:55:11 +0200 |
---|---|---|
committer | Ondrej Zajicek (work) <santiago@crfreenet.org> | 2018-05-03 16:55:11 +0200 |
commit | 70fab17837dbb4c5848681e4c6b9b90891891130 (patch) | |
tree | dbb9bbd89407c03e552bec34933441582c0eec85 /proto/babel/config.Y | |
parent | 23b079043bea5899b49a750c4616aff5b332c50d (diff) |
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.
Diffstat (limited to 'proto/babel/config.Y')
-rw-r--r-- | proto/babel/config.Y | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/proto/babel/config.Y b/proto/babel/config.Y index 7adfb4bb..205b4e4f 100644 --- a/proto/babel/config.Y +++ b/proto/babel/config.Y @@ -25,7 +25,7 @@ CF_DECLS CF_KEYWORDS(BABEL, INTERFACE, METRIC, RXCOST, HELLO, UPDATE, INTERVAL, PORT, TYPE, WIRED, WIRELESS, RX, TX, BUFFER, PRIORITY, LENGTH, CHECK, LINK, NEXT, HOP, IPV4, IPV6, BABEL_METRIC, SHOW, INTERFACES, NEIGHBORS, - ENTRIES) + ENTRIES, RANDOMIZE, ROUTER, ID) CF_GRAMMAR @@ -42,6 +42,7 @@ babel_proto_item: proto_item | proto_channel | INTERFACE babel_iface + | RANDOMIZE ROUTER ID bool { BABEL_CFG->randomize_router_id = $4; } ; babel_proto_opts: |