From: Donatas Abraitis Date: Thu, 5 Sep 2024 09:35:51 +0000 (+0300) Subject: bgpd: Retry connecting to label manager if failed X-Git-Tag: base_10.2~125^2 X-Git-Url: https://git.puffer.fish/?a=commitdiff_plain;h=befffb2d51258fb43cbb9352c269570cd92f88ab;p=mirror%2Ffrr.git bgpd: Retry connecting to label manager if failed Fixes: https://github.com/FRRouting/frr/issues/16747 Signed-off-by: Donatas Abraitis --- 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)