summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Stapp <mjs.ietf@gmail.com>2024-09-05 08:21:54 -0400
committerGitHub <noreply@github.com>2024-09-05 08:21:54 -0400
commit7fef8d39b55cc205ee9a9f0c31dfa3d03c8532a0 (patch)
treeed87beb61bcabedc710d0c413b58e08a66d64b59
parent4f185c5c9d0efe8d046aa361868e1e97108de192 (diff)
parentbefffb2d51258fb43cbb9352c269570cd92f88ab (diff)
Merge pull request #16749 from opensourcerouting/fix/issue_16747
bgpd: Retry connecting to label manager if failed
-rw-r--r--bgpd/bgp_zebra.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/bgpd/bgp_zebra.c b/bgpd/bgp_zebra.c
index 6e2efabf8f..718dc2de06 100644
--- a/bgpd/bgp_zebra.c
+++ b/bgpd/bgp_zebra.c
@@ -3583,14 +3583,17 @@ void bgp_if_init(void)
hook_register_prio(if_del, 0, bgp_if_delete_hook);
}
-static void bgp_start_label_manager(struct event *start)
+static bool bgp_zebra_label_manager_ready(void)
{
- bgp_zebra_label_manager_connect();
+ return (zclient_sync->sock > 0);
}
-static bool bgp_zebra_label_manager_ready(void)
+static void bgp_start_label_manager(struct event *start)
{
- return (zclient_sync->sock > 0);
+ if (!bgp_zebra_label_manager_ready() &&
+ !bgp_zebra_label_manager_connect())
+ event_add_timer(bm->master, bgp_start_label_manager, NULL, 1,
+ &bm->t_bgp_start_label_manager);
}
static bool bgp_zebra_label_manager_connect(void)