srcInfoBuilder.setTepDeviceId(tunnel.getSourceDevice())
.setTepDeviceType(getDeviceType(tunnel.getSourceDevice()));
dstInfoBuilder.setTepDeviceId(tunnel.getDestinationDevice())
- .setTepDeviceType(getDeviceType(tunnel.getSourceDevice()))
+ .setTepDeviceType(getDeviceType(tunnel.getDestinationDevice()))
.setTepIp(ifTunnel.getTunnelDestination());
stlBuilder.setTransportType(tunnel.getTransportType());
}
private Class<? extends TepTypeBase> getDeviceType(String device) {
if(device.startsWith("hwvtep")) {
return TepTypeHwvtep.class;
- } else if(InetAddresses.isInetAddress(device)) {
+ } else if(device.contains("IpAddress")) {
return TepTypeExternal.class;
} else {
return TepTypeInternal.class;
return Futures.immediateFuture(resultBld.build());
}
+ @Override
+ public Future<RpcResult<IsDcgwPresentOutput>> isDcgwPresent(IsDcgwPresentInput input) {
+ RpcResultBuilder<IsDcgwPresentOutput> resultBld = RpcResultBuilder.success();
+
+ List<DcGatewayIp> dcGatewayIpList = ItmUtils.getDcGatewayIpList(dataBroker);
+ String dcgwIpStr = input.getDcgwIp();
+ IpAddress dcgwIpAddr = new IpAddress(dcgwIpStr.toCharArray());
+ long retVal;
+
+ if((dcGatewayIpList != null) &&
+ (!dcGatewayIpList.isEmpty()) &&
+ (dcGatewayIpList.contains(dcgwIpAddr))) {
+ //Match found
+ retVal = 1;
+ IsDcgwPresentOutputBuilder output = new IsDcgwPresentOutputBuilder().setRetVal(retVal);
+ resultBld.withResult(output.build());
+ } else {
+ //Match not found
+ retVal = 2;
+ IsDcgwPresentOutputBuilder output = new IsDcgwPresentOutputBuilder().setRetVal(retVal);
+ resultBld.withResult(output.build());
+ }
+ return Futures.immediateFuture(resultBld.build());
+ }
+
}