[PATCH v2] Babel: Immediately update hello interval on interface reconfigure.
Toke Høiland-Jørgensen
toke at toke.dk
Wed Jul 20 14:05:20 CEST 2016
Ondrej Zajicek <santiago at crfreenet.org> writes:
> On Wed, Jul 20, 2016 at 11:51:28AM +0200, Toke Høiland-Jørgensen wrote:
>>
>>
>> On 20 July 2016 11:46:08 CEST, Ondrej Zajicek <santiago at crfreenet.org> wrote:
>> >On Tue, Jul 19, 2016 at 06:34:44PM +0200, Toke Høiland-Jørgensen wrote:
>> >> @@ -1538,8 +1541,10 @@ babel_reconfigure_iface(struct babel_proto *p,
>> >struct babel_iface *ifa, struct b
>> >> if (new->check_link != old->check_link)
>> >> babel_iface_update_state(ifa);
>> >>
>> >> - if (ifa->up)
>> >> + if (ifa->up) {
>> >> + babel_send_hello(ifa, 0)
>> >> babel_iface_kick_timer(ifa);
>> >> + }
>> >
>> >Is there a reason to send Hello immediately? If hello_interval is
>> >increased, it is applied only after the already scheduled Hello is
>> >sent.
>
>> Only consistency: in the current code, changes to the update interval
>> are applied immediately, but changes to the hello interval are not. This
>
> Yes, i understand this. My question meant why also to send Hello immediately,
> if the interval was already changed in the patch by this:
>
> + if (ifa->next_hello > (now + new->hello_interval))
> + ifa->next_hello = now + (random() % new->hello_interval) + 1;
>
> IMHO without the babel_send_hello(), you get more consistent behavior
> between Hellos and Updates, as both got rescheduled just by changing
> next_* variable, not immediately sent.
Yeah, you're right. My bad. Do you want me to send another patch, or can
you just drop the second half when applying it? :)
-Toke
More information about the Bird-users
mailing list