From 1a65e3aef9be0193fe591cbbfd09009cfd521206 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 7c75978c5..629b50007 100644 --- a/proto/bgp/bgp.c +++ b/proto/bgp/bgp.c @@ -1629,6 +1629,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