X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=nexthopmgr%2Fnexthopmgr-impl%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fvpnservice%2Fnexthopmgr%2FNexthopManager.java;h=9864b61c646202ac120b0aa3d971ce763d7addb3;hb=refs%2Fchanges%2F97%2F19997%2F1;hp=546e60f8a91ee5970da596eb3d4cfdf3b9c1d66e;hpb=38e901ce00a8f5700b8c08917f76b4748df25d9e;p=vpnservice.git diff --git a/nexthopmgr/nexthopmgr-impl/src/main/java/org/opendaylight/vpnservice/nexthopmgr/NexthopManager.java b/nexthopmgr/nexthopmgr-impl/src/main/java/org/opendaylight/vpnservice/nexthopmgr/NexthopManager.java index 546e60f8..9864b61c 100644 --- a/nexthopmgr/nexthopmgr-impl/src/main/java/org/opendaylight/vpnservice/nexthopmgr/NexthopManager.java +++ b/nexthopmgr/nexthopmgr-impl/src/main/java/org/opendaylight/vpnservice/nexthopmgr/NexthopManager.java @@ -374,11 +374,19 @@ public class NexthopManager implements L3nexthopService, AutoCloseable { @Override public Future> getEgressPointer( GetEgressPointerInput input) { - long egressGroupId = - getNextHopPointer(input.getDpnId(), input.getVpnId(), input.getIpPrefix(), input.getNexthopIp()); GetEgressPointerOutputBuilder output = new GetEgressPointerOutputBuilder(); - output.setEgressPointer(egressGroupId); + + String endpointIp = interfaceManager.getEndpointIpForDpn(input.getDpnId()); + if (input.getNexthopIp().equals(endpointIp)) { + VpnNexthop vpnNextHop = getVpnNexthop(input.getVpnId(), input.getIpPrefix()); + output.setEgressPointer(vpnNextHop.getEgressPointer()); + output.setLocalDestination(true); + } else { + TunnelNexthop tunnelNextHop = getTunnelNexthop(input.getDpnId(), input.getNexthopIp()); + output.setEgressPointer(tunnelNextHop.getEgressPointer()); + output.setLocalDestination(false); + } RpcResultBuilder rpcResultBuilder = RpcResultBuilder.success(); rpcResultBuilder.withResult(output.build());