From 49cc9e7b64473f5ebc3a3e117a44dce3389d02df Mon Sep 17 00:00:00 2001 From: Rafael Zalamena Date: Thu, 30 May 2019 15:14:50 -0300 Subject: [PATCH] bfdd: implement configuration reload Reload configuration on SIGHUP using the northbound. Signed-off-by: Rafael Zalamena --- bfdd/bfdd.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/bfdd/bfdd.c b/bfdd/bfdd.c index 5a6089f384..5657744f75 100644 --- a/bfdd/bfdd.c +++ b/bfdd/bfdd.c @@ -39,6 +39,9 @@ struct thread_master *master; /* BFDd privileges */ static zebra_capabilities_t _caps_p[] = {ZCAP_BIND, ZCAP_SYS_ADMIN, ZCAP_NET_RAW}; +/* BFD daemon information. */ +static struct frr_daemon_info bfdd_di; + void socket_close(int *s) { if (*s <= 0) @@ -78,6 +81,14 @@ static void sigterm_handler(void) exit(0); } +static void sighup_handler(void) +{ + zlog_info("SIGHUP received"); + + /* Reload config file. */ + vty_read_config(NULL, bfdd_di.config_file, config_default); +} + static struct quagga_signal_t bfd_signals[] = { { .signal = SIGUSR1, @@ -91,6 +102,10 @@ static struct quagga_signal_t bfd_signals[] = { .signal = SIGINT, .handler = &sigterm_handler, }, + { + .signal = SIGHUP, + .handler = &sighup_handler, + }, }; static const struct frr_yang_module_info *bfdd_yang_modules[] = {