From d034ac5496316a5a0efe051abb039a53ce7724de Mon Sep 17 00:00:00 2001 From: eswanit Date: Mon, 11 Jun 2018 10:57:48 +0530 Subject: [PATCH 1/1] Fix to advertise VRF routes from DC-GW VRF routes from DC-GW is not advertised to ODL primary RDs Previously, when some routes are advertised from DC-GW to quagga. since it was imported by a wrong RD which is not primary, destination prefix (advertised by DC-GW) in vrf-entry of fib was under wrong RD. This is fixed now by checking if RD equals primary RD (while advertising routes to quagga bgp), then send an import RTs list, otherwise send an empty list. Change-Id: I268e5da85df2c1115ef1549b1ff97514d31b4f58 Signed-off-by: eswanit --- .../netvirt/vpnmanager/VpnOpStatusListener.java | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/vpnmanager/impl/src/main/java/org/opendaylight/netvirt/vpnmanager/VpnOpStatusListener.java b/vpnmanager/impl/src/main/java/org/opendaylight/netvirt/vpnmanager/VpnOpStatusListener.java index 291c4516f5..509984056e 100644 --- a/vpnmanager/impl/src/main/java/org/opendaylight/netvirt/vpnmanager/VpnOpStatusListener.java +++ b/vpnmanager/impl/src/main/java/org/opendaylight/netvirt/vpnmanager/VpnOpStatusListener.java @@ -238,18 +238,17 @@ public class VpnOpStatusListener extends AsyncDataTreeChangeListenerBase importRTList = rd.equals(primaryRd) ? irtList : Collections.emptyList(); if (update.getType() == VpnInstanceOpDataEntry.Type.L2) { - bgpManager.addVrf(rd, irtList, ertList, AddressFamily.L2VPN); - } else { - bgpManager.deleteVrf(rd, false, AddressFamily.L2VPN); + bgpManager.addVrf(rd, importRTList, ertList, AddressFamily.L2VPN); } if (!original.isIpv4Configured() && update.isIpv4Configured()) { - bgpManager.addVrf(rd, irtList, ertList, AddressFamily.IPV4); + bgpManager.addVrf(rd, importRTList, ertList, AddressFamily.IPV4); } else if (original.isIpv4Configured() && !update.isIpv4Configured()) { bgpManager.deleteVrf(rd, false, AddressFamily.IPV4); } if (!original.isIpv6Configured() && update.isIpv6Configured()) { - bgpManager.addVrf(rd, irtList, ertList, AddressFamily.IPV6); + bgpManager.addVrf(rd, importRTList, ertList, AddressFamily.IPV6); } else if (original.isIpv6Configured() && !update.isIpv6Configured()) { bgpManager.deleteVrf(rd, false, AddressFamily.IPV6); } -- 2.36.6