BFD neighbor reload issue

Winston Chen yoniorchen at gmail.com
Mon Sep 30 17:15:45 CEST 2019


Hi,


I am using BFD neighbor to config BFD sessions statically. I found that 
if I add/remove BFD neighbors in bird.conf  and ask bird to reload with 
HUP signal, bird cannot reload the configuration correctly.

Here is the BFD config I used to test. If I start bird with this 
configuration, then comment one of the neighbors and send HUP with kill 
to bird, bird simply says session reconfigured without remove the 
commented neighbor.

protocol bfd {
interface "*" {
         passive;
};

neighbor 172.17.0.2;
neighbor 172.17.0.3;
}

After digging into the code, I found that it looks like there is a bug 
in function bfd_reconfigure_neighbors. It loops to check neighbor in old 
and new configuration. There is a return in the block if 
(bfd_same_neighbor(nn, on)). If there is  neighbor existing in both new 
and old, reconfiguration might be skipped.

I tried to modify the code to make it work. And the attached patch is 
the one I got. Hopefully this is the proper way to solve the issue.


Regards.

Chen.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: fix-reload.patch
Type: text/x-patch
Size: 1260 bytes
Desc: not available
URL: <http://trubka.network.cz/pipermail/bird-users/attachments/20190930/39d79aa6/attachment.bin>


More information about the Bird-users mailing list