From 118490f8c1b2c190440a73d56139ad26f0deb75b Mon Sep 17 00:00:00 2001 From: epgoraj Date: Mon, 8 Feb 2016 14:45:27 +0530 Subject: [PATCH] BUG:5179 Fixing the jenkins Merge Change-Id: I929d4e1aeb1ddb3ec75f9e0f43ca0106bf0bdf1e Signed-off-by: epgoraj --- .../elan/internal/ElanInterfaceManager.java | 3 +- .../itm/rpc/ItmManagerRpcService.java | 76 ++++++++++--------- 2 files changed, 41 insertions(+), 38 deletions(-) diff --git a/elanmanager/elanmanager-impl/src/main/java/org/opendaylight/vpnservice/elan/internal/ElanInterfaceManager.java b/elanmanager/elanmanager-impl/src/main/java/org/opendaylight/vpnservice/elan/internal/ElanInterfaceManager.java index c939d525..4413a3bb 100644 --- a/elanmanager/elanmanager-impl/src/main/java/org/opendaylight/vpnservice/elan/internal/ElanInterfaceManager.java +++ b/elanmanager/elanmanager-impl/src/main/java/org/opendaylight/vpnservice/elan/internal/ElanInterfaceManager.java @@ -19,6 +19,7 @@ import org.opendaylight.vpnservice.interfacemgr.globals.InterfaceInfo; import org.opendaylight.vpnservice.interfacemgr.globals.InterfaceInfo.InterfaceType; import org.opendaylight.vpnservice.interfacemgr.interfaces.IInterfaceManager; +import org.opendaylight.vpnservice.mdsalutil.NwConstants; import org.opendaylight.vpnservice.itm.globals.ITMConstants; import org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.list.Action; import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.tables.table.Flow; @@ -753,7 +754,7 @@ public class ElanInterfaceManager extends AbstractDataChangeListener> getInternalOrExternalInterfaceName( GetInternalOrExternalInterfaceNameInput input) { - RpcResultBuilder resultBld = null; + RpcResultBuilder resultBld = RpcResultBuilder.failed(); BigInteger srcDpn = input.getSourceDpid() ; IpAddress dstIp = input.getDestinationIp() ; - List meshedDpnList = ItmUtils.getTunnelMeshInfo(dataBroker) ; - // Look for external tunnels if not look for internal tunnel - for( DPNTEPsInfo teps : meshedDpnList) { - TunnelEndPoints firstEndPt = teps.getTunnelEndPoints().get(0) ; - if( dstIp.equals(firstEndPt.getIpAddress())) { - InstanceIdentifier path = InstanceIdentifier.create( - TunnelList.class) - .child(InternalTunnel.class, new InternalTunnelKey(srcDpn, teps.getDPNID())); - - Optional tnl = ItmUtils.read(LogicalDatastoreType.CONFIGURATION, path, dataBroker); - if( tnl != null && tnl.isPresent()) - { - InternalTunnel tunnel = tnl.get(); - GetInternalOrExternalInterfaceNameOutputBuilder output = new GetInternalOrExternalInterfaceNameOutputBuilder().setInterfaceName(tunnel.getTunnelInterfaceName() ); - resultBld = RpcResultBuilder.success(); - resultBld.withResult(output.build()) ; - }else { - //resultBld = RpcResultBuilder.failed(); - InstanceIdentifier path1 = InstanceIdentifier.create( - ExternalTunnelList.class) - .child(ExternalTunnel.class, new ExternalTunnelKey(dstIp, srcDpn)); - - Optional ext = ItmUtils.read(LogicalDatastoreType.CONFIGURATION, path1, dataBroker); - - if( ext != null && ext.isPresent()) - { - ExternalTunnel extTunnel = ext.get(); - GetInternalOrExternalInterfaceNameOutputBuilder output = new GetInternalOrExternalInterfaceNameOutputBuilder().setInterfaceName(extTunnel.getTunnelInterfaceName() ); - resultBld = RpcResultBuilder.success(); - resultBld.withResult(output.build()) ; - }else { - resultBld = RpcResultBuilder.failed(); - } - } - } - } + InstanceIdentifier path1 = InstanceIdentifier.create( + ExternalTunnelList.class) + .child(ExternalTunnel.class, new ExternalTunnelKey(dstIp, srcDpn)); + + Optional ext = ItmUtils.read(LogicalDatastoreType.CONFIGURATION, path1, dataBroker); + + if( ext != null && ext.isPresent()) + { + ExternalTunnel extTunnel = ext.get(); + GetInternalOrExternalInterfaceNameOutputBuilder output = new GetInternalOrExternalInterfaceNameOutputBuilder().setInterfaceName(extTunnel.getTunnelInterfaceName() ); + resultBld = RpcResultBuilder.success(); + resultBld.withResult(output.build()) ; + } else { + List meshedDpnList = ItmUtils.getTunnelMeshInfo(dataBroker); + // Look for external tunnels if not look for internal tunnel + for (DPNTEPsInfo teps : meshedDpnList) { + TunnelEndPoints firstEndPt = teps.getTunnelEndPoints().get(0); + if (dstIp.equals(firstEndPt.getIpAddress())) { + InstanceIdentifier path = InstanceIdentifier.create( + TunnelList.class) + .child(InternalTunnel.class, new InternalTunnelKey(srcDpn, teps.getDPNID())); + + Optional + tnl = + ItmUtils.read(LogicalDatastoreType.CONFIGURATION, path, dataBroker); + if (tnl != null && tnl.isPresent()) { + InternalTunnel tunnel = tnl.get(); + GetInternalOrExternalInterfaceNameOutputBuilder + output = + new GetInternalOrExternalInterfaceNameOutputBuilder() + .setInterfaceName(tunnel.getTunnelInterfaceName()); + resultBld = RpcResultBuilder.success(); + resultBld.withResult(output.build()); + break; + } + } + } + } return Futures.immediateFuture(resultBld.build()); } -- 2.36.6