[Babel-users] FIX crash, run check_interfaces() based on netlink events

Juliusz Chroboczek jch at irif.fr
Wed Sep 19 00:10:28 BST 2018


> in https://github.com/jech/babeld/pull/16 I provided a small patch that
> fixes a crash on ipv6-only nodes

The issue, I believe, was with interfaces that don't have a link-local
address (yet) when they are being monitored over the local interface.  It
was triggered by your netlink patch -- since we now notice new interfaces
earlier, we have a good chance to notice them before they get a link-local
IPv6.

> and that schedules check_interfaces whenever babeld is notifies of
> changes by netlink.

That looks good, I've applied it with no changes.

Note that while this change significantly reduces the race condition, it
doesn't eliminate it completely: if an interface goes down and then
immediately back up, we might call check_interfaces after it has gone back
up, and hence not notice the transition.

The solution would be to flush all routes going through the interface
whenever we notice that it's gone down, even if it is now back up.

-- Juliusz



More information about the Babel-users mailing list