]> git.proxmox.com Git - mirror_frr.git/blobdiff - isisd/isis_main.c
isisd: implement sighup handler
[mirror_frr.git] / isisd / isis_main.c
index cda3b2b3c5708ce57a4a8beb64ef76270574ebc9..9126e40d4233a0fd0d1dbbe47975cbc929812ecd 100644 (file)
@@ -107,12 +107,23 @@ static __attribute__((__noreturn__)) void terminate(int i)
 /*
  * Signal handlers
  */
-
+#ifdef FABRICD
 void sighup(void)
 {
-       zlog_notice("SIGHUP/reload is not implemented for isisd");
+       zlog_notice("SIGHUP/reload is not implemented for fabricd");
        return;
 }
+#else
+static struct frr_daemon_info isisd_di;
+void sighup(void)
+{
+       zlog_info("SIGHUP received");
+
+       /* Reload config file. */
+       vty_read_config(NULL, isisd_di.config_file, config_default);
+}
+
+#endif
 
 __attribute__((__noreturn__)) void sigint(void)
 {
@@ -151,8 +162,12 @@ struct quagga_signal_t isisd_signals[] = {
        },
 };
 
+
 static const struct frr_yang_module_info *isisd_yang_modules[] = {
        &frr_interface_info,
+#ifndef FABRICD
+       &frr_isisd_info,
+#endif /* ifndef FABRICD */
 };
 
 #ifdef FABRICD
@@ -217,6 +232,9 @@ int main(int argc, char **argv, char **envp)
        isis_init();
        isis_circuit_init();
        isis_vty_init();
+#ifndef FABRICD
+       isis_cli_init();
+#endif /* ifdef FABRICD */
        isis_spf_cmds_init();
        isis_redist_init();
        isis_route_map_init();