diff options
| author | Mark Stapp <mjs.ietf@gmail.com> | 2024-09-05 08:21:54 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-09-05 08:21:54 -0400 |
| commit | 7fef8d39b55cc205ee9a9f0c31dfa3d03c8532a0 (patch) | |
| tree | ed87beb61bcabedc710d0c413b58e08a66d64b59 | |
| parent | 4f185c5c9d0efe8d046aa361868e1e97108de192 (diff) | |
| parent | befffb2d51258fb43cbb9352c269570cd92f88ab (diff) | |
Merge pull request #16749 from opensourcerouting/fix/issue_16747
bgpd: Retry connecting to label manager if failed
| -rw-r--r-- | bgpd/bgp_zebra.c | 11 |
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) |
