diff options
| author | rgirada <rgirada@vmware.com> | 2019-02-04 05:22:39 -0800 |
|---|---|---|
| committer | rgirada <rgirada@vmware.com> | 2019-02-04 05:22:39 -0800 |
| commit | 93d836e6fe498918c0a65217b6e868c47e419c09 (patch) | |
| tree | 4582144c827400c874598b4d9fe4737e974d5257 /ospfd/ospf_zebra.c | |
| parent | 54e80c7656779081bfb2dda62c157a6db87112b4 (diff) | |
ospfd: Added changes to track route-map usage
Made changes and updated the routemap applied counter in the following flows.
1.Increment the routemap applied counter when route map attached to a
redistribution list. The counter will be updated if the routemap exists.
2.Decrement when route map removed / modified from a redistribution list.
3.Increment/decrement when route map create/delete callback triggered.
Signed-off-by: RajeshGirada <rgirada@vmware.com>
Diffstat (limited to 'ospfd/ospf_zebra.c')
| -rw-r--r-- | ospfd/ospf_zebra.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/ospfd/ospf_zebra.c b/ospfd/ospf_zebra.c index a86800f901..ea2c492e18 100644 --- a/ospfd/ospf_zebra.c +++ b/ospfd/ospf_zebra.c @@ -983,17 +983,22 @@ int ospf_redistribute_check(struct ospf *ospf, struct external_info *ei, /* OSPF route-map set for redistribution */ void ospf_routemap_set(struct ospf_redist *red, const char *name) { - if (ROUTEMAP_NAME(red)) + if (ROUTEMAP_NAME(red)) { + route_map_counter_decrement(ROUTEMAP(red)); free(ROUTEMAP_NAME(red)); + } ROUTEMAP_NAME(red) = strdup(name); ROUTEMAP(red) = route_map_lookup_by_name(name); + route_map_counter_increment(ROUTEMAP(red)); } void ospf_routemap_unset(struct ospf_redist *red) { - if (ROUTEMAP_NAME(red)) + if (ROUTEMAP_NAME(red)) { + route_map_counter_decrement(ROUTEMAP(red)); free(ROUTEMAP_NAME(red)); + } ROUTEMAP_NAME(red) = NULL; ROUTEMAP(red) = NULL; |
