summaryrefslogtreecommitdiff
path: root/isisd/isis_route.h
diff options
context:
space:
mode:
Diffstat (limited to 'isisd/isis_route.h')
-rw-r--r--isisd/isis_route.h12
1 files changed, 9 insertions, 3 deletions
diff --git a/isisd/isis_route.h b/isisd/isis_route.h
index 4eac79b8..5adea229 100644
--- a/isisd/isis_route.h
+++ b/isisd/isis_route.h
@@ -30,6 +30,7 @@ struct isis_nexthop6
{
unsigned int ifindex;
struct in6_addr ip6;
+ struct in6_addr router_address6;
unsigned int lock;
};
#endif /* HAVE_IPV6 */
@@ -38,13 +39,15 @@ struct isis_nexthop
{
unsigned int ifindex;
struct in_addr ip;
+ struct in_addr router_address;
unsigned int lock;
};
struct isis_route_info
{
-#define ISIS_ROUTE_FLAG_ZEBRA_SYNC 0x01
-#define ISIS_ROUTE_FLAG_ACTIVE 0x02
+#define ISIS_ROUTE_FLAG_ACTIVE 0x01 /* active route for the prefix */
+#define ISIS_ROUTE_FLAG_ZEBRA_SYNCED 0x02 /* set when route synced to zebra */
+#define ISIS_ROUTE_FLAG_ZEBRA_RESYNC 0x04 /* set when route needs to sync */
u_char flag;
u_int32_t cost;
u_int32_t depth;
@@ -59,6 +62,9 @@ struct isis_route_info *isis_route_create (struct prefix *prefix,
struct list *adjacencies,
struct isis_area *area, int level);
-int isis_route_validate (struct thread *thread);
+void isis_route_validate (struct isis_area *area);
+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 */