non-practical keepalive setting?

Job Snijders job at instituut.net
Sun Mar 23 14:50:02 CET 2014


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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 859 bytes
Desc: not available
URL: <http://trubka.network.cz/pipermail/bird-users/attachments/20140323/59d6e1cb/attachment.asc>


More information about the Bird-users mailing list