#include "ospf6d.h"
#include "ospf6_top.h"
#include "ospf6_message.h"
+#include "ospf6_network.h"
#include "ospf6_asbr.h"
#include "ospf6_lsa.h"
#include "ospf6_interface.h"
frr_early_fini();
- if (ospf6)
+ if (ospf6) {
ospf6_delete(ospf6);
+ ospf6 = NULL;
+ }
bfd_gbl_exit();
ospf6_asbr_terminate();
ospf6_lsa_terminate();
+ ospf6_serv_close();
/* reverse access_list_init */
access_list_reset();
},
};
+static const struct frr_yang_module_info *const ospf6d_yang_modules[] = {
+ &frr_interface_info,
+};
+
FRR_DAEMON_INFO(ospf6d, OSPF6, .vty_port = OSPF6_VTY_PORT,
.proghelp = "Implementation of the OSPFv3 routing protocol.",
.signals = ospf6_signals,
.n_signals = array_size(ospf6_signals),
- .privs = &ospf6d_privs, )
+ .privs = &ospf6d_privs, .yang_modules = ospf6d_yang_modules,
+ .n_yang_modules = array_size(ospf6d_yang_modules), )
/* Main routine of ospf6d. Treatment of argument and starting ospf finite
state machine is handled here. */
exit(1);
}
+ /* OSPF6 master init. */
+ ospf6_master_init();
+
/* thread master */
master = frr_init();
- vrf_init(NULL, NULL, NULL, NULL);
+ vrf_init(NULL, NULL, NULL, NULL, NULL);
access_list_init();
prefix_list_init();