]> git.proxmox.com Git - mirror_frr.git/blobdiff - ospf6d/ospf6_main.c
*: use rb-trees to store interfaces instead of sorted linked-lists
[mirror_frr.git] / ospf6d / ospf6_main.c
index e582737f940e9f16c1ca2a2b702b72e7352cf5f0..2a6e56deb6cbcb80eb9ea5cb862dbc4eacd50895 100644 (file)
@@ -79,7 +79,7 @@ struct thread_master *master;
 
 static void __attribute__((noreturn)) ospf6_exit(int status)
 {
-       struct listnode *node;
+       struct vrf *vrf = vrf_lookup_by_id(VRF_DEFAULT);
        struct interface *ifp;
 
        frr_early_fini();
@@ -89,7 +89,7 @@ static void __attribute__((noreturn)) ospf6_exit(int status)
 
        bfd_gbl_exit();
 
-       for (ALL_LIST_ELEMENTS_RO(vrf_iflist(VRF_DEFAULT), node, ifp))
+       RB_FOREACH (ifp, if_name_head, &vrf->ifaces_by_name)
                if (ifp->info != NULL)
                        ospf6_interface_delete(ifp->info);