summaryrefslogtreecommitdiff
path: root/isisd/isis_ldp_sync.h
diff options
context:
space:
mode:
authorKaren Schoener <karen@voltanet.io>2020-12-08 09:44:27 -0500
committerKaren Schoener <karen@volta.io>2020-12-09 08:41:42 -0500
commitcb135cc94303d2581987645f124bd6d4cecd80a6 (patch)
tree5dd374ddd2105b3a82439ec1c4e8ea686b5e55d0 /isisd/isis_ldp_sync.h
parentb64e1733746a2cabb5b25b283407c095fc1c8c3a (diff)
isisd, ospfd: IGPs detect LDP down via zapi client close message
When ldp-sync is configured, IGPs take action if the LDP process goes down. Currently, IGPs detect the LDP process is down if they do not receive a periodic 'hello' message from LDP within 1 second. Intermittently, this heartbeat mechanism causes false topotest failures. When the failure occurs, LDP is busy receiving messages from zebra for a few seconds. During this time, LDP does not send the expected periodic message. With this change, IGPs detect LDP down via zapi client close message. Signed-off-by: Karen Schoener <karen@voltanet.io>
Diffstat (limited to 'isisd/isis_ldp_sync.h')
-rw-r--r--isisd/isis_ldp_sync.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/isisd/isis_ldp_sync.h b/isisd/isis_ldp_sync.h
index 61ac946078..1b6058c5c9 100644
--- a/isisd/isis_ldp_sync.h
+++ b/isisd/isis_ldp_sync.h
@@ -20,6 +20,8 @@
#ifndef _ZEBRA_ISIS_LDP_SYNC_H
#define _ZEBRA_ISIS_LDP_SYNC_H
+#include "zclient.h"
+
/* Macro to log debug message */
#define ils_debug(...) \
do { \
@@ -36,6 +38,8 @@ extern void isis_ldp_sync_if_start(struct isis_circuit *circuit,
extern void isis_ldp_sync_if_remove(struct isis_circuit *circuit, bool remove);
extern void isis_ldp_sync_if_complete(struct isis_circuit *circuit);
extern void isis_ldp_sync_holddown_timer_add(struct isis_circuit *circuit);
+extern void
+isis_ldp_sync_handle_client_close(struct zapi_client_close_info *info);
extern void isis_ldp_sync_hello_timer_add(void);
extern void isis_ldp_sync_ldp_fail(struct isis_circuit *circuit);
extern int isis_ldp_sync_state_update(struct ldp_igp_sync_if_state state);