summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnuradha Karuppiah <anuradhak@cumulusnetworks.com>2018-10-12 08:43:19 -0700
committerDonald Sharp <sharpd@cumulusnetworks.com>2018-10-31 06:23:32 -0400
commit3e3aa88e5fbd6a19e37b7c211013b8dc73d61ef7 (patch)
tree342ff7299862647186573b669eaac0487a56e98a
parente98e4b8899a696e13bcfcc8fa25b3546c1f4c244 (diff)
bgpd: perform route selection again when the local path is deleted
This is needed to install the remote dst when a more preferred local path is removed. Ticket: CM-22685 Reviewed By: CCR-7936 Signed-off-by: Anuradha Karuppiah <anuradhak@cumulusnetworks.com>
-rw-r--r--bgpd/bgp_evpn.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/bgpd/bgp_evpn.c b/bgpd/bgp_evpn.c
index 574ece8cc5..945094a671 100644
--- a/bgpd/bgp_evpn.c
+++ b/bgpd/bgp_evpn.c
@@ -1921,8 +1921,10 @@ static int delete_evpn_route(struct bgp *bgp, struct bgpevpn *vpn,
/* Delete route entry in the VNI route table. This can just be removed.
*/
delete_evpn_route_entry(bgp, afi, safi, rn, &pi);
- if (pi)
+ if (pi) {
bgp_path_info_reap(rn, pi);
+ evpn_route_select_install(bgp, vpn, rn);
+ }
bgp_unlock_node(rn);
return 0;