#include "qobj.h"
#include "libfrr.h"
-#include "isisd/dict.h"
#include "isisd/isis_constants.h"
#include "isisd/isis_common.h"
#include "isisd/isis_flags.h"
#include "isisd/isis_te.h"
#include "isisd/isis_errors.h"
#include "isisd/isis_vty_common.h"
+#include "isisd/isis_bfd.h"
+#include "isisd/isis_lsp.h"
+#include "isisd/isis_mt.h"
+#include "isisd/fabricd.h"
/* Default configuration file name */
#define ISISD_DEFAULT_CONFIG "isisd.conf"
.vty_group = VTY_GROUP,
#endif
.caps_p = _caps_p,
- .cap_num_p = sizeof(_caps_p) / sizeof(*_caps_p),
+ .cap_num_p = array_size(_caps_p),
.cap_num_i = 0};
/* isisd options */
/*
* 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)
{
},
};
+
+static const struct frr_yang_module_info *isisd_yang_modules[] = {
+ &frr_interface_info,
+#ifndef FABRICD
+ &frr_isisd_info,
+#endif /* ifndef FABRICD */
+};
+
#ifdef FABRICD
FRR_DAEMON_INFO(fabricd, OPEN_FABRIC, .vty_port = FABRICD_VTY_PORT,
.signals = isisd_signals,
.n_signals = array_size(isisd_signals),
- .privs = &isisd_privs, )
+ .privs = &isisd_privs, .yang_modules = isisd_yang_modules,
+ .n_yang_modules = array_size(isisd_yang_modules), )
/*
* Main routine of isisd. Parse arguments and handle IS-IS state machine.
}
}
- vty_config_lockless();
/* thread master */
master = frr_init();
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();
isis_mpls_te_init();
+ lsp_init();
+ mt_init();
/* create the global 'isis' instance */
isis_new(1);
isis_zebra_init(master);
+ isis_bfd_init();
+ fabricd_init();
frr_config_fork();
frr_run(master);