Hi all, Version: 1.4.0-3+precise+1 OS: Ubuntu 12.04 LTS It seems it is possible to create a situation like this: <snip> Neighbor caps: refresh AS4 Session: external multihop AS4 Source address: 82.94.230.130 Hold timer: 46/60 Keepalive timer: 56/80 Note the hold timer versus keepalive timer! This happens when the other side (in this case a JunOS box) configures a hold-time of 60 seconds. This results in endless session flapping because the BIRD box will not send Keepalives in a timely fashion. There is the BIRD configuration: template bgp peers { local as 199036; multihop; hold time 240; startup hold time 240; connect retry time 120; keepalive time 80; start delay time 5; error forget time 0; source address 82.94.230.130; import all; export none; } RFC 4271 Section 4.4 states "BGP does not use any TCP-based, keep-alive mechanism to determine if peers are reachable. Instead, KEEPALIVE messages are exchanged between peers often enough not to cause the Hold Timer to expire." While it is not strong RFC vocabulary, it is my interpretation that it would be more robust if the Keepalive Timer defaults to Hold Timer divided by three, when the Hold Timer is smaller than 3 times the configured Keepalive Timer. Is this expected behaviour or a bug? Kind regards, Job