summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorvivek <vivek@cumulusnetworks.com>2018-04-04 09:43:14 -0700
committerDonald Sharp <sharpd@cumulusnetworks.com>2018-04-25 12:39:16 -0400
commit82e7e75db12d9ca69a15226f28c79b5548c75894 (patch)
treeda06a19bcbf80d64422fec7e7b5d691f1a4b2ed2
parentcc5a6ddd066d15d79ecc1a2d8f48a3ce9d592ed7 (diff)
bgpd: Fix route-leak/L3VPN delete of redistributed routes
Ensure that when a route redistributed into a VRF is subsequently deleted, it is properly removed from the VPN table (if exported) so that it can be removed from other VRFs and withdrawn from L3VPN peers. Ticket: CM-20345 Signed-off-by: Vivek Venkatraman <vivek@cumulusnetworks.com>
-rw-r--r--bgpd/bgp_mplsvpn.c9
1 files changed, 2 insertions, 7 deletions
diff --git a/bgpd/bgp_mplsvpn.c b/bgpd/bgp_mplsvpn.c
index fb15f90c28..7c6a3a37f8 100644
--- a/bgpd/bgp_mplsvpn.c
+++ b/bgpd/bgp_mplsvpn.c
@@ -858,14 +858,9 @@ void vpn_leak_from_vrf_withdraw(struct bgp *bgp_vpn, /* to */
info_vrf->type, info_vrf->sub_type);
}
- if (info_vrf->type != ZEBRA_ROUTE_BGP) {
- if (debug)
- zlog_debug("%s: wrong type %d", __func__,
- info_vrf->type);
- return;
- }
if (info_vrf->sub_type != BGP_ROUTE_NORMAL
- && info_vrf->sub_type != BGP_ROUTE_STATIC) {
+ && info_vrf->sub_type != BGP_ROUTE_STATIC
+ && info_vrf->sub_type != BGP_ROUTE_REDISTRIBUTE) {
if (debug)
zlog_debug("%s: wrong sub_type %d", __func__,