summaryrefslogtreecommitdiff
path: root/zebra/zebra_routemap.c
diff options
context:
space:
mode:
authorDonald Sharp <sharpd@nvidia.com>2020-10-01 09:54:53 -0400
committerDonald Sharp <sharpd@nvidia.com>2021-01-15 19:34:33 -0500
commit54aeba3540c19e0126d78ea205fc29c9a7352d0e (patch)
treeb5b8bf68f74b800b1bcedf2598164f70a36c83ce /zebra/zebra_routemap.c
parent1866a6f65b17f033ad570db8455fc1a5aa8d1353 (diff)
zebra: Allow rib_update_table to receive a specified route type
When we need to cause a reprocessing of data the code currently marks all routes as needing to be looked at. Modify the rib_update_table code to allow us to specify a specific route type we only want to reprocess. At this point none of the code is behaving differently this is just setup for a future code change. Signed-off-by: Donald Sharp <sharpd@nvidia.com>
Diffstat (limited to 'zebra/zebra_routemap.c')
-rw-r--r--zebra/zebra_routemap.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/zebra/zebra_routemap.c b/zebra/zebra_routemap.c
index 020a1d9875..e99232d55f 100644
--- a/zebra/zebra_routemap.c
+++ b/zebra/zebra_routemap.c
@@ -267,7 +267,8 @@ static int ip_protocol_rm_add(struct zebra_vrf *zvrf, const char *rmap,
/* Process routes of interested address-families. */
table = zebra_vrf_table(afi, safi, zvrf->vrf->vrf_id);
if (table)
- rib_update_table(table, RIB_UPDATE_RMAP_CHANGE);
+ rib_update_table(table, RIB_UPDATE_RMAP_CHANGE,
+ ZEBRA_ROUTE_ALL);
}
return CMD_SUCCESS;
@@ -294,7 +295,8 @@ static int ip_protocol_rm_del(struct zebra_vrf *zvrf, const char *rmap,
/* Process routes of interested address-families. */
table = zebra_vrf_table(afi, safi, zvrf->vrf->vrf_id);
if (table)
- rib_update_table(table, RIB_UPDATE_RMAP_CHANGE);
+ rib_update_table(table, RIB_UPDATE_RMAP_CHANGE,
+ ZEBRA_ROUTE_ALL);
}
XFREE(MTYPE_ROUTE_MAP_NAME, PROTO_RM_NAME(zvrf, afi, rtype));
}
@@ -1494,7 +1496,8 @@ static void zebra_rib_table_rm_update(const char *rmap)
afi_ip = 1;
rib_update_table(
table,
- RIB_UPDATE_RMAP_CHANGE);
+ RIB_UPDATE_RMAP_CHANGE,
+ ZEBRA_ROUTE_ALL);
}
}
}
@@ -1523,7 +1526,8 @@ static void zebra_rib_table_rm_update(const char *rmap)
afi_ipv6 = 1;
rib_update_table(
table,
- RIB_UPDATE_RMAP_CHANGE);
+ RIB_UPDATE_RMAP_CHANGE,
+ ZEBRA_ROUTE_ALL);
}
}
}