Hi, I have the following configuration on one of my servers ("10.1.0.1"): *protocol bfd { interface "eth0" { min rx interval 200 ms; min tx interval 1000 ms; idle tx interval 1 s; multiplier 5; }; neighbor 10.1.0.2; neighbor 10.1.0.3; neighbor 10.1.0.4; ** ..... (here about 1000 records)* * neighbor 10.1.3.251;* * neighbor 10.1.3.252;* * neighbor 10.1.3.253;* * neighbor 10.1.3.254;* *}* And I configured the second server ("10.1.0.2") as a neighbor with the following config: *protocol bfd { interface "eth0" { min rx interval 200 ms; min tx interval 1000 ms; idle tx interval 1 s; multiplier 5; }; neighbor 10.1.0.1;}* For some reason I have random session expire events on the second server and BFD sessions get UP -> DOWN, DOWN -> UP events. *bird: bfd1: Session to 10.1.0.1 expiredbird: bfd1: Session to 10.1.0.1 changed state from Init to Downbird: bfd1: Session to 10.1.0.1 changed state from Down to Initbird: bfd1: Session to 10.1.0.1 expiredbird: bfd1: Session to 10.1.0.1 changed state from Init to Downbird: bfd1: Session to 10.1.0.1 changed state from Down to Init* This happens only if I specify a lot of neighbors in the config. For example the following config on first server ("10.1.0.1") works fine: *protocol bfd { interface "eth0" { min rx interval 200 ms; min tx interval 1000 ms; idle tx interval 1 s; multiplier 5; }; neighbor 10.1.0.2; neighbor 10.1.0.3;}* Looks like all BFD sessions are handled on a single thread. Could someone, please, confirm that BIRD isn't designed to handle a huge amount of BFD sessions simultaneously? Or possibly I can enable some options to handle this case in my env?