bgp keepalive & hold timers
Ondrej Zajicek
santiago at crfreenet.org
Wed Nov 9 18:05:27 CET 2022
On Wed, Nov 09, 2022 at 05:34:07PM +0100, Ondrej Zajicek via Bird-users wrote:
> The whole issue is a bit silly, as it is a result of too many knobs that
> sometimes does not make sense. Setting keepalive independently of hold
> time, when hold time is negotiated (so consistency cannot be validated in
> config-parse time), is just bad design. It would be better if keepalive
> could be defines as a fraction of negotiated hold time.
Thinking about it, perhaps a better approach would be to just scale the
keepalive timer based on (negotiated hold time / configured hold time).
I was against this approach in the past as my reading of RFC 4271 is that
the KeepaliveTime FSM attribute is initialized from the HoldTime FSM
attribute at the beginning, and later the HoldTime is negotiated, but
there is no mention of updating the KeepaliveTime (on the contrary, it
uses phrases like 'initial value of KeepaliveTimer').
But now i checked RFC 4273, and it pretty much supposes there is
keepalive scaling:
Time interval (in seconds) for the KeepAlive
timer established with the peer. The value
of this object is calculated by this BGP
speaker such that, when compared with
bgpPeerHoldTime, it has the same proportion
that bgpPeerKeepAliveConfigured has,
compared with bgpPeerHoldTimeConfigured.
Do you know whether other major BGP implementations use KeepAlive
scaling, or not?
--
Elen sila lumenn' omentielvo
Ondrej 'Santiago' Zajicek (email: santiago at crfreenet.org)
OpenPGP encrypted e-mails preferred (KeyID 0x11DEADC3, wwwkeys.pgp.net)
"To err is human -- to blame it on a computer is even more so."
More information about the Bird-users
mailing list