From dbd353ededd0539a823110dd5fa20a1f7e441a5f Mon Sep 17 00:00:00 2001 From: Katerina Kubecova Date: Thu, 4 Sep 2025 10:56:44 +0200 Subject: [PATCH] BGP: Fixing an unlikely situation, when listening socket is created too late. closes #298 --- proto/bgp/bgp.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/proto/bgp/bgp.c b/proto/bgp/bgp.c index aaf8c96c3..62bae0cc0 100644 --- a/proto/bgp/bgp.c +++ b/proto/bgp/bgp.c @@ -1174,6 +1174,15 @@ bgp_connect_timeout(timer *t) if (p->p.proto_state == PS_START) { bgp_close_conn(conn); + + LOCK_DOMAIN(rtable, bgp_listen_domain); + if (p->listen.sock->sk == NULL) + { + log(L_WARN "%s: Creating listening socket takes suspiciously long. Reentering connect timeout."); + bgp_start_timer(p, conn->connect_timer, p->cf->connect_delay_time); + } + UNLOCK_DOMAIN(rtable, bgp_listen_domain); + bgp_connect(p); } else -- 2.47.3