summaryrefslogtreecommitdiff
path: root/isisd/isis_route.h
diff options
context:
space:
mode:
authorDavid Lamparter <equinox@diac24.net>2012-04-16 18:24:40 +0200
committerDavid Lamparter <equinox@diac24.net>2012-04-16 18:24:43 +0200
commitd75318cc8de91d94649106f4ea3122d0d21ac9eb (patch)
tree6d7c674c4026bccd1384e60ee228d8d67750fbf7 /isisd/isis_route.h
parent6e493a44836d3b034ed3421e866878de3fbfcc5b (diff)
parent48d8bea8b7c83cf186460f711ab166455b5ed676 (diff)
isisd: merge osr/google-is-is
this is essentially half of a rewrite of isisd. please note that a lot of things are still broken and isisd is not ready for production use.
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 */