]> git.proxmox.com Git - mirror_frr.git/blobdiff - isisd/isis_route.h
sharpd: Allow sharpd to accept nexthop group as part of route install
[mirror_frr.git] / isisd / isis_route.h
index 82f37c29f23b41fe96f89db68da7d847475143cd..9d6858586be5d696be2cc4f045fbbfc0b17a52d9 100644 (file)
@@ -50,14 +50,26 @@ struct isis_route_info {
        struct list *nexthops6;
 };
 
-struct isis_route_info *isis_route_create(struct prefix *prefix, uint32_t cost,
+struct isis_route_info *isis_route_create(struct prefix *prefix,
+                                         struct prefix_ipv6 *src_p,
+                                         uint32_t cost,
                                          uint32_t depth,
                                          struct list *adjacencies,
-                                         struct isis_area *area, int level);
+                                         struct isis_area *area,
+                                         struct route_table *table);
 
-void isis_route_validate(struct isis_area *area);
+/* Walk the given table and install new routes to zebra and remove old ones.
+ * route status is tracked using ISIS_ROUTE_FLAG_ACTIVE */
+void isis_route_verify_table(struct isis_area *area,
+                            struct route_table *table);
+
+/* Same as isis_route_verify_table, but merge L1 and L2 routes before */
+void isis_route_verify_merge(struct isis_area *area,
+                            struct route_table *level1_table,
+                            struct route_table *level2_table);
+
+/* Unset ISIS_ROUTE_FLAG_ACTIVE on all routes. Used before running spf. */
 void isis_route_invalidate_table(struct isis_area *area,
                                 struct route_table *table);
-void isis_route_invalidate(struct isis_area *area);
 
 #endif /* _ZEBRA_ISIS_ROUTE_H */