struct route_map_index *index;
struct route_map_rule *rule;
- vty_out(vty, "%s:\n", frr_protonameinst);
+ vty_out(vty, "route-map: %s Invoked: %" PRIu64 "\n",
+ map->name, map->applied);
for (index = map->head; index; index = index->next) {
- vty_out(vty, "route-map %s, %s, sequence %d\n", map->name,
- route_map_type_str(index->type), index->pref);
+ vty_out(vty, " %s, sequence %d Invoked %" PRIu64 "\n",
+ route_map_type_str(index->type), index->pref,
+ index->applied);
/* Description */
if (index->description)
{
struct route_map *map;
+ vty_out(vty, "%s:\n", frr_protonameinst);
+
if (name) {
map = route_map_lookup_by_name(name);
if (map == NULL)
return RMAP_DENYMATCH;
+ map->applied++;
for (index = map->head; index; index = index->next) {
/* Apply this index. */
+ index->applied++;
ret = route_map_apply_match(&index->match_list, prefix, type,
object);
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)
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)