Revert "Bug 8588 - NPE at at org.opendaylight.netvirt.fibmanager.VrfEntryListener... 96/58596/2
authorSam Hague <shague@redhat.com>
Fri, 9 Jun 2017 10:15:58 +0000 (10:15 +0000)
committerSam Hague <shague@redhat.com>
Sun, 11 Jun 2017 00:27:01 +0000 (00:27 +0000)
This reverts commit ac5934b1bd27697072755d3103cea400304611cc.

Change-Id: I11535985c096495ff259e8b923ad19cb92d63d39
Signed-off-by: Sam Hague <shague@redhat.com>
vpnservice/fibmanager/fibmanager-impl/src/main/java/org/opendaylight/netvirt/fibmanager/VrfEntryListener.java

index e0d82426677ffb5d92b9df232cbe87ac8ebad433..7e9c4e0b3ab18c1b86a83d2b61e7c038701bf0ed 100755 (executable)
@@ -422,7 +422,7 @@ public class VrfEntryListener extends AsyncDataTreeChangeListenerBase<VrfEntry,
             return;
         }
 
-        final List<BigInteger> localDpnIdList = createLocalFibEntry(vpnId, rd, vrfEntry);
+        final List<BigInteger> localDpnIdList = createLocalFibEntry(vpnInstance.getVpnId(), rd, vrfEntry);
         if (!localDpnIdList.isEmpty()) {
             if (vpnToDpnList != null) {
                 DataStoreJobCoordinator dataStoreCoordinator = DataStoreJobCoordinator.getInstance();
@@ -733,14 +733,11 @@ public class VrfEntryListener extends AsyncDataTreeChangeListenerBase<VrfEntry,
 
     private List<BigInteger> createLocalFibEntry(Long vpnId, String rd, VrfEntry vrfEntry) {
         List<BigInteger> returnLocalDpnId = new ArrayList<>();
+        Prefixes localNextHopInfo = FibUtil.getPrefixToInterface(dataBroker, vpnId, vrfEntry.getDestPrefix());
         String localNextHopIP = vrfEntry.getDestPrefix();
-        Prefixes localNextHopInfo = FibUtil.getPrefixToInterface(dataBroker, vpnId, localNextHopIP);
         String vpnName = FibUtil.getVpnNameFromId(dataBroker, vpnId);
         if (localNextHopInfo == null) {
-            if (vpnId == null || localNextHopIP == null) {
-                LOG.error("createLocalFibEntry: cannot get usedRds for vpn {} and Prefix {}", vpnId, localNextHopIP);
-            }
-            List<String> usedRds = VpnExtraRouteHelper.getUsedRds(dataBroker, vpnId, localNextHopIP);
+            List<String> usedRds = VpnExtraRouteHelper.getUsedRds(dataBroker, vpnId, vrfEntry.getDestPrefix());
             List<Routes> vpnExtraRoutes = VpnExtraRouteHelper.getAllVpnExtraRoutes(dataBroker,
                     vpnName, usedRds, localNextHopIP);
             //Is this fib route an extra route? If yes, get the nexthop which would be an adjacency in the vpn
@@ -760,7 +757,7 @@ public class VrfEntryListener extends AsyncDataTreeChangeListenerBase<VrfEntry,
                         List<String> nextHopAddressList = FibHelper.getNextHopListFromRoutePaths(vrfEntry);
                         synchronized (label.toString().intern()) {
                             LabelRouteInfo lri = getLabelRouteInfo(label);
-                            if (isPrefixAndNextHopPresentInLri(localNextHopIP, nextHopAddressList, lri)) {
+                            if (isPrefixAndNextHopPresentInLri(vrfEntry.getDestPrefix(), nextHopAddressList, lri)) {
                                 Optional<VpnInstanceOpDataEntry> vpnInstanceOpDataEntryOptional =
                                         FibUtil.getVpnInstanceOpData(dataBroker, rd);
                                 if (vpnInstanceOpDataEntryOptional.isPresent()) {