BGP: connect delay timer vs connect retry timer
Ondrej Zajicek
santiago at crfreenet.org
Tue Aug 29 14:15:39 CEST 2023
On Mon, Aug 28, 2023 at 05:02:40PM +0530, Bala Sajja wrote:
> Hi,
> It seems where BGP connect retry timer to be kicked in use cases
> also, connect delay timer gets kicked in. In the below function,
> though bgp_setup_conn(p, conn) sets connect_timer to connect retry
> timer, later it's over written by bgp_start_timer(conn->connect_timer,
> delay) which sets connect_timer to connect delay timer. Is this right
> ? Could we make the connect retry timer work properly ?
Hi
I am not sure what do you mean. The timer connect_timer is used for two
purposes, for connect_delay_time before we try to connnect (in the state
BS_ACTIVE), and for connect_retry_time while we try to connect (in the
state BS_CONNECT). The first is initialized in bgp_active(), the second
in bgp_connect(). The call bgp_setup_conn(p, conn) just allocates the
timer, but it does not sets it to any interval.
>
> bgp_active(struct bgp_proto *p)
> {
> int delay = MAX(1, p->cf->connect_delay_time);
> struct bgp_conn *conn = &p->outgoing_conn;
>
> BGP_TRACE(D_EVENTS, "Connect delayed by %d seconds", delay);
> bgp_setup_conn(p, conn);
> bgp_conn_set_state(conn, BS_ACTIVE);
> bgp_start_timer(conn->connect_timer, delay);
> }
--
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