]> git.proxmox.com Git - mirror_frr.git/blobdiff - ospf6d/ospf6_spf.h
Merge pull request #5081 from pguibert6WIND/show_brief_doc
[mirror_frr.git] / ospf6d / ospf6_spf.h
index f294b8d34f33d9b747c2f77d7d66d7c964dfc39d..a387d40a577e1fbda46ede28370b8028658ea68c 100644 (file)
@@ -21,6 +21,7 @@
 #ifndef OSPF6_SPF_H
 #define OSPF6_SPF_H
 
+#include "typesafe.h"
 #include "ospf6_top.h"
 
 /* Debug option */
@@ -33,14 +34,17 @@ extern unsigned char conf_debug_ospf6_spf;
 #define IS_OSPF6_DEBUG_SPF(level)                                              \
        (conf_debug_ospf6_spf & OSPF6_DEBUG_SPF_##level)
 
+PREDECL_SKIPLIST_NONUNIQ(vertex_pqueue)
 /* Transit Vertex */
 struct ospf6_vertex {
        /* type of this vertex */
-       u_int8_t type;
+       uint8_t type;
 
        /* Vertex Identifier */
        struct prefix vertex_id;
 
+       struct vertex_pqueue_item pqi;
+
        /* Identifier String */
        char name[128];
 
@@ -51,16 +55,16 @@ struct ospf6_vertex {
        struct ospf6_lsa *lsa;
 
        /* Distance from Root (i.e. Cost) */
-       u_int32_t cost;
+       uint32_t cost;
 
        /* Router hops to this node */
-       u_char hops;
+       uint8_t hops;
 
        /* capability bits */
-       u_char capability;
+       uint8_t capability;
 
        /* Optional capabilities */
-       u_char options[3];
+       uint8_t options[3];
 
        /* For tree display */
        struct ospf6_vertex *parent;
@@ -136,7 +140,7 @@ static inline unsigned int ospf6_lsremove_to_spf_reason(struct ospf6_lsa *lsa)
 }
 
 extern void ospf6_spf_table_finish(struct ospf6_route_table *result_table);
-extern void ospf6_spf_calculation(u_int32_t router_id,
+extern void ospf6_spf_calculation(uint32_t router_id,
                                  struct ospf6_route_table *result_table,
                                  struct ospf6_area *oa);
 extern void ospf6_spf_schedule(struct ospf6 *ospf, unsigned int reason);