summaryrefslogtreecommitdiff
path: root/lib/routemap.h
diff options
context:
space:
mode:
Diffstat (limited to 'lib/routemap.h')
-rw-r--r--lib/routemap.h22
1 files changed, 22 insertions, 0 deletions
diff --git a/lib/routemap.h b/lib/routemap.h
index a193e32536..481b8c4a9a 100644
--- a/lib/routemap.h
+++ b/lib/routemap.h
@@ -142,6 +142,9 @@ struct route_map_index {
struct route_map_index *next;
struct route_map_index *prev;
+ /* Keep track how many times we've try to apply */
+ uint64_t applied;
+
QOBJ_FIELDS
};
DECLARE_QOBJ_TYPE(route_map_index)
@@ -163,6 +166,9 @@ struct route_map {
bool to_be_processed; /* True if modification isn't acted on yet */
bool deleted; /* If 1, then this node will be deleted */
+ /* How many times have we applied this route-map */
+ uint64_t applied;
+
QOBJ_FIELDS
};
DECLARE_QOBJ_TYPE(route_map)
@@ -283,6 +289,14 @@ extern void route_map_match_ip_next_hop_prefix_list_hook(int (*func)(
extern void route_map_no_match_ip_next_hop_prefix_list_hook(int (*func)(
struct vty *vty, struct route_map_index *index, const char *command,
const char *arg, route_map_event_t type));
+/* match ip next hop type */
+extern void route_map_match_ip_next_hop_type_hook(int (*func)(
+ struct vty *vty, struct route_map_index *index, const char *command,
+ const char *arg, route_map_event_t type));
+/* no match ip next hop type */
+extern void route_map_no_match_ip_next_hop_type_hook(int (*func)(
+ struct vty *vty, struct route_map_index *index, const char *command,
+ const char *arg, route_map_event_t type));
/* match ipv6 address */
extern void route_map_match_ipv6_address_hook(int (*func)(
struct vty *vty, struct route_map_index *index, const char *command,
@@ -299,6 +313,14 @@ extern void route_map_match_ipv6_address_prefix_list_hook(int (*func)(
extern void route_map_no_match_ipv6_address_prefix_list_hook(int (*func)(
struct vty *vty, struct route_map_index *index, const char *command,
const char *arg, route_map_event_t type));
+/* match ipv6 next-hop type */
+extern void route_map_match_ipv6_next_hop_type_hook(int (*func)(
+ struct vty *vty, struct route_map_index *index, const char *command,
+ const char *arg, route_map_event_t type));
+/* no match ipv6 next-hop type */
+extern void route_map_no_match_ipv6_next_hop_type_hook(int (*func)(
+ struct vty *vty, struct route_map_index *index, const char *command,
+ const char *arg, route_map_event_t type));
/* match metric */
extern void route_map_match_metric_hook(int (*func)(
struct vty *vty, struct route_map_index *index, const char *command,