diff options
author | rgirada <rgirada@vmware.com> | 2020-05-18 07:02:34 +0200 |
---|---|---|
committer | rgirada <rgirada@vmware.com> | 2020-05-18 07:02:34 +0200 |
commit | 04e94d3929829c79e097f9b0d435da02cc6322f1 (patch) | |
tree | 4119f9e0b36113f3060e6cdce08a9aaffe133242 /ospfd/ospf_zebra.c | |
parent | ospfd: Route-tag is not set to external lsas when applying with rmap (diff) | |
download | frr-04e94d3929829c79e097f9b0d435da02cc6322f1.tar.xz frr-04e94d3929829c79e097f9b0d435da02cc6322f1.zip |
ospfd: Restoring the original tag in external lsas
Description:
When a routemap applied to set a tag, all the permitted routes are
refreshed with new tag, but when a different route map applied with
a different action still the same tag persits in the external route.
The actual tag received from zebra is expected to be set back to the
routes here. Corrected this behaviour by restoring a original tag
received from zebra.
Signed-off-by: Rajesh Girada <rgirada@vmware.com>
Diffstat (limited to 'ospfd/ospf_zebra.c')
-rw-r--r-- | ospfd/ospf_zebra.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/ospfd/ospf_zebra.c b/ospfd/ospf_zebra.c index f3f54f7b5..e8e2fbeaa 100644 --- a/ospfd/ospf_zebra.c +++ b/ospfd/ospf_zebra.c @@ -726,7 +726,10 @@ int ospf_redistribute_check(struct ospf *ospf, struct external_info *ei, save_values = ei->route_map_set; ospf_reset_route_map_set_values(&ei->route_map_set); + saved_tag = ei->tag; + /* Resetting with original route tag */ + ei->tag = ei->orig_tag; /* apply route-map if needed */ red = ospf_redist_lookup(ospf, type, instance); |