Debugging down BFD sessions - unknown session id

David Petera david.petera at nic.cz
Tue Aug 6 15:17:11 CEST 2024


Hello Nico,

thanks for bringing this issue with multiple declaration of BFD 
protocols up.

The problem happening is that BFD protocol in BIRD works by default on 
all interfaces and the listed interfaces only modify options for them 
specifically.
So the sessions are not assigned to protocols based on the listed 
interfaces.
Furthermore multiple declared BFD protocols use the same socket for 
communication.

That means that in your case the bfd1 protocol took all the sessions and 
then it is fighting for packets with bfd2 on the same socket.

Currently, having multiple BFD protocols is not supported in BIRD.
You are, of course, right that this behavior should be described in the 
documentation and we will do so.

PS: BFD config with the desired outcome should be the following:

protocol bfd {
   interface "o*" {
     interval 500 ms;
     idle tx interval 2 s;
   };
   interface "i*" {
     interval 500 ms;
     idle tx interval 2 s;
   };
   # openvpn
   interface "tun*" {
     interval 500 ms;
     idle tx interval 2 s;
   };
   # transfer
   interface "eth0" {
     interval 500 ms;
     idle tx interval 2 s;
   };
}


Thank you for the report,
David

-- 
– David Petera (he/him) | BIRD Tech Support | CZ.NIC, z.s.p.o.



More information about the Bird-users mailing list