]> git.proxmox.com Git - mirror_frr.git/blobdiff - ospf6d/ospf6_main.c
zebra: Allow ns delete to happen after under/over flow checks
[mirror_frr.git] / ospf6d / ospf6_main.c
index 9a6729ee2a6aee8f820c43b95f92fa428234511a..046badc8248504b40847bd17787d236275fcf61a 100644 (file)
@@ -97,6 +97,14 @@ static void __attribute__((noreturn)) ospf6_exit(int status)
        ospf6_asbr_terminate();
        ospf6_lsa_terminate();
 
+       /* reverse access_list_init */
+       access_list_reset();
+
+       /* reverse prefix_list_init */
+       prefix_list_add_hook(NULL);
+       prefix_list_delete_hook(NULL);
+       prefix_list_reset();
+
        vrf_terminate();
 
        if (zclient) {
@@ -154,6 +162,10 @@ struct quagga_signal_t ospf6_signals[] = {
        },
 };
 
+static const struct frr_yang_module_info *ospf6d_yang_modules[] = {
+       &frr_interface_info,
+};
+
 FRR_DAEMON_INFO(ospf6d, OSPF6, .vty_port = OSPF6_VTY_PORT,
 
                .proghelp = "Implementation of the OSPFv3 routing protocol.",
@@ -161,7 +173,8 @@ FRR_DAEMON_INFO(ospf6d, OSPF6, .vty_port = OSPF6_VTY_PORT,
                .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. */
@@ -194,10 +207,13 @@ int main(int argc, char *argv[], char *envp[])
                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();