From: Ondrej Zajicek (work) Date: Wed, 20 Jul 2016 13:55:45 +0000 (+0200) Subject: Babel: Immediately update hello interval on interface reconfigure X-Git-Tag: v1.6.1~19 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=13a31a4001e02ea7c84d26cbeaaa9fea816736f7;p=thirdparty%2Fbird.git Babel: Immediately update hello interval on interface reconfigure An interface reconfiguration may change both the hello and update intervals. An update interval change is immediately put into effect, while a hello interval change is not. This also updates the hello interval immediately (if the new interval is shorter than the old one), and sends a hello to notify peers of the change. Signed-off-by: Toke Høiland-Jørgensen --- diff --git a/proto/babel/babel.c b/proto/babel/babel.c index 8164f2f3c..9d73a2642 100644 --- a/proto/babel/babel.c +++ b/proto/babel/babel.c @@ -1590,6 +1590,9 @@ babel_reconfigure_iface(struct babel_proto *p, struct babel_iface *ifa, struct b ifa->cf = new; + if (ifa->next_hello > (now + new->hello_interval)) + ifa->next_hello = now + (random() % new->hello_interval) + 1; + if (ifa->next_regular > (now + new->update_interval)) ifa->next_regular = now + (random() % new->update_interval) + 1;