BFD not recovering after link recovers

Alasdair Muckart alasdairmuckart at catalyst.net.nz
Mon Feb 1 20:07:51 CET 2021


Ondrej Zajicek <santiago at crfreenet.org> writes:

> On Wed, Jan 27, 2021 at 03:23:25PM +0000, 0.bgp at elloe.vision wrote:
>> We are setting up a container based proof of concept with IPv6 only using
>> ECMP, ANYCAST, BGP with BFP and Bird2 and I've hit a problem where BFD
>> doesn't recover after a local link goes down and comes back and are seeking
>> some advice as whether this is expected behaviour or a bug.
>
> Based on quick evaluation, seems to me that it is a combination of race
> condition in BIRD and systemd-networkd behavior. There is a condition in
> BIRD that when a BFD session is added during the time IP address on that
> link is added/removed, sometimes it fails to add the socket.

We see this as well. It seems to only affect IPv6. We have the
additional complication that the router ends up learning the linknet
address via OSPF on another path, which prevents BFD from ever
recovering.

We worked around it with check scripts which look for linknet addresses
that aren't in the routing table and add them, but it's ugly and still
causes outages.

-- 
Alasdair Muckart
Network Engineer
Catalyst IT - Expert Open Source Solutions
Mobile: +64 22 638 5141 | DDI: +64 4 897 7794 | www.catalyst.net.nz


More information about the Bird-users mailing list