From: Martin Sunal Date: Tue, 5 Jul 2016 09:51:13 +0000 (+0200) Subject: Fixed compilation issues due to changes in other projects X-Git-Tag: release/boron~80 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=commitdiff_plain;h=e13e55cdb4b5fd586f339878d62dc38388d22e8a;hp=52ec2e152fdbc592643fb27de37bce80b8520c10;p=groupbasedpolicy.git Fixed compilation issues due to changes in other projects Fixes issues after these commits where merged: SFC commit - 665955a8dfb04d13019cd1287cda8e0cc62db5c1 FaaS commit - 60b590ce96978e4066e8f2bf2073192b9c186039 Change-Id: I4327b172b5c9543cab018e8f5823c90923e2eda2 Signed-off-by: Martin Sunal --- diff --git a/groupbasedpolicy/pom.xml b/groupbasedpolicy/pom.xml index f18597d71..b56ac2da2 100755 --- a/groupbasedpolicy/pom.xml +++ b/groupbasedpolicy/pom.xml @@ -26,6 +26,14 @@ org.opendaylight.mdsal.model ietf-inet-types + + org.opendaylight.mdsal.model + ietf-inet-types-2013-07-15 + + + org.opendaylight.mdsal.model + ietf-yang-types-20130715 + org.opendaylight.mdsal.model yang-ext diff --git a/groupbasedpolicy/src/main/java/org/opendaylight/groupbasedpolicy/util/IetfModelCodec.java b/groupbasedpolicy/src/main/java/org/opendaylight/groupbasedpolicy/util/IetfModelCodec.java new file mode 100644 index 000000000..e1154d194 --- /dev/null +++ b/groupbasedpolicy/src/main/java/org/opendaylight/groupbasedpolicy/util/IetfModelCodec.java @@ -0,0 +1,179 @@ +/* + * Copyright (c) 2016 Cisco Systems, Inc. and others. All rights reserved. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v1.0 which accompanies this distribution, + * and is available at http://www.eclipse.org/legal/epl-v10.html + */ + +package org.opendaylight.groupbasedpolicy.util; + +import javax.annotation.Nullable; + +import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.IpAddress; +import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.IpPrefix; +import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.Ipv4Address; +import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.Ipv4Prefix; +import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.Ipv6Address; +import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.Ipv6Prefix; +import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.PortNumber; +import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev100924.MacAddress; + +/** + * This is temporary solution for conversion between entities from + * ietf-{inet,yang}-types 2013 to ietf-{inet,yang}-types 2010 and vice versa. + * This conversion should be removed after GBP and all other projects migrate to version 2013. + */ +public final class IetfModelCodec { + + private IetfModelCodec() {} + + public static @Nullable IpPrefix ipPrefix2010( + @Nullable org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpPrefix ip) { + if (ip == null) { + return null; + } + if (ip.getIpv4Prefix() != null) { + return new IpPrefix(ipv4Prefix2010(ip.getIpv4Prefix())); + } else if (ip.getIpv6Prefix() != null) { + return new IpPrefix(ipv6Prefix2010(ip.getIpv6Prefix())); + } + throw new IllegalArgumentException("IP prefix is not ipv4 nor ipv6. " + ip); + } + + public static @Nullable org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpPrefix ipPrefix2013( + @Nullable IpPrefix ip) { + if (ip == null) { + return null; + } + if (ip.getIpv4Prefix() != null) { + return new org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpPrefix( + ipv4Prefix2013(ip.getIpv4Prefix())); + } else if (ip.getIpv6Prefix() != null) { + return new org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpPrefix( + ipv6Prefix2013(ip.getIpv6Prefix())); + } + throw new IllegalArgumentException("IP prefix is not ipv4 nor ipv6. " + ip); + } + + public static @Nullable Ipv4Prefix ipv4Prefix2010( + @Nullable org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Prefix ip) { + if (ip == null) { + return null; + } + return new Ipv4Prefix(ip.getValue()); + } + + public static @Nullable org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Prefix ipv4Prefix2013( + @Nullable Ipv4Prefix ip) { + if (ip == null) { + return null; + } + return new org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Prefix( + ip.getValue()); + } + + public static @Nullable Ipv6Prefix ipv6Prefix2010( + @Nullable org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6Prefix ip) { + if (ip == null) { + return null; + } + return new Ipv6Prefix(ip.getValue()); + } + + public static @Nullable org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6Prefix ipv6Prefix2013( + @Nullable Ipv6Prefix ip) { + if (ip == null) { + return null; + } + return new org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6Prefix( + ip.getValue()); + } + + public static @Nullable MacAddress macAddress2010( + @Nullable org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.MacAddress mac) { + if (mac == null) { + return null; + } + return new MacAddress(mac.getValue()); + } + + public static @Nullable org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.MacAddress macAddress2013( + @Nullable MacAddress mac) { + if (mac == null) { + return null; + } + return new org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.MacAddress( + mac.getValue()); + } + + public static @Nullable IpAddress ipAddress2010( + @Nullable org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress ip) { + if (ip == null) { + return null; + } + if (ip.getIpv4Address() != null) { + return new IpAddress(ipv4Address2010(ip.getIpv4Address())); + } else if (ip.getIpv6Address() != null) { + return new IpAddress(ipv6Address2010(ip.getIpv6Address())); + } + throw new IllegalArgumentException("IP address is not ipv4 nor ipv6. " + ip); + } + + public static @Nullable org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress ipAddress2013( + @Nullable IpAddress ip) { + if (ip == null) { + return null; + } + if (ip.getIpv4Address() != null) { + return new org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress( + ipv4Address2013(ip.getIpv4Address())); + } else if (ip.getIpv6Address() != null) { + return new org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress( + ipv6Address2013(ip.getIpv6Address())); + } + throw new IllegalArgumentException("IP address is not ipv4 nor ipv6. " + ip); + } + + public static @Nullable Ipv4Address ipv4Address2010( + @Nullable org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Address ip) { + if (ip == null) { + return null; + } + return new Ipv4Address(ip.getValue()); + } + + public static @Nullable org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Address ipv4Address2013( + @Nullable Ipv4Address ip) { + if (ip == null) { + return null; + } + return new org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Address( + ip.getValue()); + } + + public static @Nullable Ipv6Address ipv6Address2010( + @Nullable org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6Address ip) { + if (ip == null) { + return null; + } + return new Ipv6Address(ip.getValue()); + } + + public static @Nullable org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6Address ipv6Address2013( + @Nullable Ipv6Address ip) { + if (ip == null) { + return null; + } + return new org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6Address( + ip.getValue()); + } + + public static @Nullable PortNumber portNumber2010( + org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.PortNumber pn) { + if (pn == null) { + return null; + } + return new PortNumber(pn.getValue()); + } +} diff --git a/renderers/faas/src/main/java/org/opendaylight/groupbasedpolicy/renderer/faas/FaasEndpointManagerListener.java b/renderers/faas/src/main/java/org/opendaylight/groupbasedpolicy/renderer/faas/FaasEndpointManagerListener.java index cf4f5762b..a6dade9db 100644 --- a/renderers/faas/src/main/java/org/opendaylight/groupbasedpolicy/renderer/faas/FaasEndpointManagerListener.java +++ b/renderers/faas/src/main/java/org/opendaylight/groupbasedpolicy/renderer/faas/FaasEndpointManagerListener.java @@ -16,7 +16,6 @@ import java.util.Map; import java.util.UUID; import java.util.concurrent.ScheduledExecutorService; -import com.google.common.annotations.VisibleForTesting; import org.opendaylight.controller.md.sal.binding.api.DataBroker; import org.opendaylight.controller.md.sal.binding.api.DataChangeListener; import org.opendaylight.controller.md.sal.binding.api.ReadWriteTransaction; @@ -26,6 +25,7 @@ import org.opendaylight.controller.md.sal.common.api.data.AsyncDataChangeEvent; import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType; import org.opendaylight.faas.uln.datastore.api.UlnDatastoreApi; import org.opendaylight.groupbasedpolicy.util.DataStoreHelper; +import org.opendaylight.groupbasedpolicy.util.IetfModelCodec; import org.opendaylight.groupbasedpolicy.util.IidFactory; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev100924.MacAddress; import org.opendaylight.yang.gen.v1.urn.opendaylight.faas.faas.endpoint.rev151009.FaasEndpointContext; @@ -51,6 +51,7 @@ import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import com.google.common.annotations.VisibleForTesting; import com.google.common.base.Optional; public class FaasEndpointManagerListener implements DataChangeListener, AutoCloseable { @@ -163,11 +164,11 @@ public class FaasEndpointManagerListener implements DataChangeListener, AutoClos List privateIpAddresses = new ArrayList<>(); for (L3Address ip : endpoint.getL3Address()) { PrivateIpsBuilder ipBuilder = new PrivateIpsBuilder(); - ipBuilder.setIpAddress(ip.getIpAddress()); + ipBuilder.setIpAddress(IetfModelCodec.ipAddress2013(ip.getIpAddress())); ipBuilder.setSubnetId(faasSubnetId); privateIpAddresses.add(ipBuilder.build()); } - if (!UlnDatastoreApi.attachEndpointToSubnet(epLocBuilder, faasSubnetId, endpoint.getMacAddress(), + if (!UlnDatastoreApi.attachEndpointToSubnet(epLocBuilder, faasSubnetId, IetfModelCodec.macAddress2013(endpoint.getMacAddress()), privateIpAddresses, null)) { LOG.error("Failed Endpoint Registration. Failed to Attach Endpoint to Faas Logical Network. Endpoint {}", endpoint); diff --git a/renderers/faas/src/main/java/org/opendaylight/groupbasedpolicy/renderer/faas/FaasSubnetManagerListener.java b/renderers/faas/src/main/java/org/opendaylight/groupbasedpolicy/renderer/faas/FaasSubnetManagerListener.java index 9f00538ed..c2afcc945 100644 --- a/renderers/faas/src/main/java/org/opendaylight/groupbasedpolicy/renderer/faas/FaasSubnetManagerListener.java +++ b/renderers/faas/src/main/java/org/opendaylight/groupbasedpolicy/renderer/faas/FaasSubnetManagerListener.java @@ -14,7 +14,6 @@ import java.util.UUID; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ScheduledExecutorService; -import com.google.common.annotations.VisibleForTesting; import org.opendaylight.controller.md.sal.binding.api.DataBroker; import org.opendaylight.controller.md.sal.binding.api.DataChangeListener; import org.opendaylight.controller.md.sal.binding.api.ReadWriteTransaction; @@ -23,7 +22,7 @@ import org.opendaylight.controller.md.sal.common.api.data.AsyncDataChangeEvent; import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType; import org.opendaylight.faas.uln.datastore.api.UlnDatastoreApi; import org.opendaylight.groupbasedpolicy.util.DataStoreHelper; -import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.IpPrefix; +import org.opendaylight.groupbasedpolicy.util.IetfModelCodec; import org.opendaylight.yang.gen.v1.urn.opendaylight.faas.logical.faas.common.rev151013.Text; import org.opendaylight.yang.gen.v1.urn.opendaylight.faas.logical.faas.common.rev151013.Uuid; import org.opendaylight.yang.gen.v1.urn.opendaylight.faas.logical.faas.subnets.rev151013.subnets.container.subnets.SubnetBuilder; @@ -41,6 +40,7 @@ import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import com.google.common.annotations.VisibleForTesting; import com.google.common.base.Optional; public class FaasSubnetManagerListener implements DataChangeListener { @@ -131,11 +131,11 @@ public class FaasSubnetManagerListener implements DataChangeListener { List gateways = new ArrayList<>(); for (Gateways gw : gbpSubnet.getGateways()) { ExternalGatewaysBuilder eb = new ExternalGatewaysBuilder(); - eb.setExternalGateway(gw.getGateway()); + eb.setExternalGateway(IetfModelCodec.ipAddress2013(gw.getGateway())); if (gw.getPrefixes() != null) { - List ipPrefixes = new ArrayList<>(); + List ipPrefixes = new ArrayList<>(); for (Prefixes px : gw.getPrefixes()) { - ipPrefixes.add(px.getPrefix()); + ipPrefixes.add(IetfModelCodec.ipPrefix2013(px.getPrefix())); } eb.setPrefixes(ipPrefixes); } @@ -144,7 +144,7 @@ public class FaasSubnetManagerListener implements DataChangeListener { builder.setExternalGateways(gateways); } - builder.setIpPrefix(gbpSubnet.getIpPrefix()); + builder.setIpPrefix(IetfModelCodec.ipPrefix2013(gbpSubnet.getIpPrefix())); builder.setUuid(getFaasSubnetId(gbpSubnet.getId())); builder.setName(new Text(gbpSubnet.getId().getValue())); if (gbpSubnet.getDescription() != null) @@ -152,7 +152,7 @@ public class FaasSubnetManagerListener implements DataChangeListener { else builder.setDescription(new Text("gbp-subnet")); builder.setTenantId(faasTenantId); - builder.setVirtualRouterIp(gbpSubnet.getVirtualRouterIp()); + builder.setVirtualRouterIp(IetfModelCodec.ipAddress2013(gbpSubnet.getVirtualRouterIp())); // TODO DNS servers builder.setDnsNameservers(null); // TODO DHCP server diff --git a/renderers/ios-xe/src/main/java/org/opendaylight/groupbasedpolicy/renderer/ios_xe_provider/impl/util/ServiceChainingUtil.java b/renderers/ios-xe/src/main/java/org/opendaylight/groupbasedpolicy/renderer/ios_xe_provider/impl/util/ServiceChainingUtil.java index 757c2e933..5a202ce5e 100644 --- a/renderers/ios-xe/src/main/java/org/opendaylight/groupbasedpolicy/renderer/ios_xe_provider/impl/util/ServiceChainingUtil.java +++ b/renderers/ios-xe/src/main/java/org/opendaylight/groupbasedpolicy/renderer/ios_xe_provider/impl/util/ServiceChainingUtil.java @@ -20,6 +20,7 @@ import org.opendaylight.groupbasedpolicy.renderer.ios_xe_provider.impl.manager.P import org.opendaylight.groupbasedpolicy.renderer.ios_xe_provider.impl.manager.PolicyManagerImpl; import org.opendaylight.groupbasedpolicy.renderer.ios_xe_provider.impl.writer.NetconfTransactionCreator; import org.opendaylight.groupbasedpolicy.renderer.ios_xe_provider.impl.writer.PolicyWriter; +import org.opendaylight.groupbasedpolicy.util.IetfModelCodec; import org.opendaylight.sfc.provider.api.SfcProviderRenderedPathAPI; import org.opendaylight.sfc.provider.api.SfcProviderServiceForwarderAPI; import org.opendaylight.sfc.provider.api.SfcProviderServicePathAPI; @@ -416,7 +417,7 @@ public class ServiceChainingUtil { final java.util.Optional serviceFunctionForwarder = java.util.Optional.ofNullable( SfcProviderServiceForwarderAPI.readServiceFunctionForwarder(sffName)); - return serviceFunctionForwarder.map(sff -> java.util.Optional.ofNullable(sff.getIpMgmtAddress()) + return serviceFunctionForwarder.map(sff -> java.util.Optional.ofNullable(IetfModelCodec.ipAddress2010(sff.getIpMgmtAddress())) .map(IpAddress::getIpv4Address) .map((ipv4Address) -> ipv4Address.getValue()) .map(addressValue -> { diff --git a/renderers/ios-xe/src/test/java/org/opendaylight/groupbasedpolicy/renderer/ios_xe_provider/impl/manager/PolicyManagerImplTest.java b/renderers/ios-xe/src/test/java/org/opendaylight/groupbasedpolicy/renderer/ios_xe_provider/impl/manager/PolicyManagerImplTest.java index 5ce6a8605..511d3e679 100644 --- a/renderers/ios-xe/src/test/java/org/opendaylight/groupbasedpolicy/renderer/ios_xe_provider/impl/manager/PolicyManagerImplTest.java +++ b/renderers/ios-xe/src/test/java/org/opendaylight/groupbasedpolicy/renderer/ios_xe_provider/impl/manager/PolicyManagerImplTest.java @@ -21,6 +21,7 @@ import org.opendaylight.controller.md.sal.binding.api.WriteTransaction; import org.opendaylight.groupbasedpolicy.renderer.ios_xe_provider.impl.util.PolicyManagerUtil; import org.opendaylight.groupbasedpolicy.renderer.ios_xe_provider.impl.util.RendererPolicyUtil; import org.opendaylight.groupbasedpolicy.renderer.ios_xe_provider.impl.util.ServiceChainingUtil; +import org.opendaylight.groupbasedpolicy.util.IetfModelCodec; import org.opendaylight.sfc.provider.api.SfcProviderServiceForwarderAPI; import org.opendaylight.yang.gen.v1.urn.cisco.params.xml.ns.yang.sfc.common.rev151017.RspName; import org.opendaylight.yang.gen.v1.urn.cisco.params.xml.ns.yang.sfc.common.rev151017.SfName; @@ -277,7 +278,7 @@ public class PolicyManagerImplTest { ServiceFunctionForwarderBuilder serviceFunctionForwarderBuilder = new ServiceFunctionForwarderBuilder(); serviceFunctionForwarderBuilder.setName(new SffName(forwarderName)) .setKey(new ServiceFunctionForwarderKey(new SffName(forwarderName))) - .setIpMgmtAddress(new IpAddress(new Ipv4Address(ipAddress))); + .setIpMgmtAddress(IetfModelCodec.ipAddress2013(new IpAddress(new Ipv4Address(ipAddress)))); return serviceFunctionForwarderBuilder.build(); } diff --git a/renderers/ios-xe/src/test/java/org/opendaylight/groupbasedpolicy/renderer/ios_xe_provider/impl/util/ServiceChainingUtilTest.java b/renderers/ios-xe/src/test/java/org/opendaylight/groupbasedpolicy/renderer/ios_xe_provider/impl/util/ServiceChainingUtilTest.java index cef31b34a..48cc53a07 100644 --- a/renderers/ios-xe/src/test/java/org/opendaylight/groupbasedpolicy/renderer/ios_xe_provider/impl/util/ServiceChainingUtilTest.java +++ b/renderers/ios-xe/src/test/java/org/opendaylight/groupbasedpolicy/renderer/ios_xe_provider/impl/util/ServiceChainingUtilTest.java @@ -35,6 +35,7 @@ import org.opendaylight.groupbasedpolicy.renderer.ios_xe_provider.impl.manager.P import org.opendaylight.groupbasedpolicy.renderer.ios_xe_provider.impl.manager.PolicyManagerImpl; import org.opendaylight.groupbasedpolicy.renderer.ios_xe_provider.impl.writer.NetconfTransactionCreator; import org.opendaylight.groupbasedpolicy.renderer.ios_xe_provider.impl.writer.PolicyWriter; +import org.opendaylight.groupbasedpolicy.util.IetfModelCodec; import org.opendaylight.sfc.provider.api.SfcProviderRenderedPathAPI; import org.opendaylight.sfc.provider.api.SfcProviderServiceForwarderAPI; import org.opendaylight.sfc.provider.api.SfcProviderServicePathAPI; @@ -485,7 +486,7 @@ public class ServiceChainingUtilTest { final org.opendaylight.yang.gen.v1.urn.cisco.params.xml.ns.yang.sfc.sff.rev140701.service.function.forwarders.ServiceFunctionForwarder sff = new ServiceFunctionForwarderBuilder() .setName(new SffName("unit-sff-03")) - .setIpMgmtAddress(new IpAddress(new Ipv4Address("1.2.3.4"))) + .setIpMgmtAddress(IetfModelCodec.ipAddress2013(new IpAddress(new Ipv4Address("1.2.3.4")))) .build(); final ServiceFunctionPathBuilder sfpBuilder = new ServiceFunctionPathBuilder(); sfpBuilder.setSymmetric(false); @@ -516,7 +517,7 @@ public class ServiceChainingUtilTest { final org.opendaylight.yang.gen.v1.urn.cisco.params.xml.ns.yang.sfc.sff.rev140701.service.function.forwarders.ServiceFunctionForwarder sff = new ServiceFunctionForwarderBuilder() .setName(new SffName("unit-sff-03")) - .setIpMgmtAddress(new IpAddress(new Ipv4Address("1.2.3.4"))) + .setIpMgmtAddress(IetfModelCodec.ipAddress2013(new IpAddress(new Ipv4Address("1.2.3.4")))) .build(); final ServiceFunctionPathBuilder sfpBuilder = new ServiceFunctionPathBuilder(); sfpBuilder.setSymmetric(false); @@ -615,7 +616,7 @@ public class ServiceChainingUtilTest { final RenderedServicePath rsp = createRsp("unit-rsp-03"); final ServiceFunctionForwarderBuilder sffBuilder = new ServiceFunctionForwarderBuilder() .setName(new SffName("unit-sff-03")) - .setIpMgmtAddress(new IpAddress((Ipv4Address) null)); + .setIpMgmtAddress(null); final ServiceFunctionPathBuilder sfpBuilder = new ServiceFunctionPathBuilder(); sfpBuilder.setSymmetric(false); final ServiceFunctionPath sfp = sfpBuilder.build(); diff --git a/renderers/ofoverlay/src/main/java/org/opendaylight/groupbasedpolicy/renderer/ofoverlay/SfcManager.java b/renderers/ofoverlay/src/main/java/org/opendaylight/groupbasedpolicy/renderer/ofoverlay/SfcManager.java index 78cfc8405..dd5096b10 100644 --- a/renderers/ofoverlay/src/main/java/org/opendaylight/groupbasedpolicy/renderer/ofoverlay/SfcManager.java +++ b/renderers/ofoverlay/src/main/java/org/opendaylight/groupbasedpolicy/renderer/ofoverlay/SfcManager.java @@ -25,6 +25,7 @@ import org.opendaylight.controller.md.sal.common.api.data.AsyncDataChangeEvent; import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType; import org.opendaylight.controller.sal.binding.api.RpcProviderRegistry; import org.opendaylight.groupbasedpolicy.api.sf.ChainActionDefinition; +import org.opendaylight.groupbasedpolicy.util.IetfModelCodec; import org.opendaylight.sfc.provider.SfcProviderRpc; import org.opendaylight.sfc.provider.api.SfcProviderServiceChainAPI; import org.opendaylight.sfc.provider.api.SfcProviderServicePathAPI; @@ -139,7 +140,7 @@ public class SfcManager implements AutoCloseable, DataChangeListener { Set ipAddresses = new HashSet(); for (RenderedServicePathFirstHop rsp: rspMap.values()) { if (rsp.getIp() != null) { - ipAddresses.add(rsp.getIp()); + ipAddresses.add(IetfModelCodec.ipAddress2010(rsp.getIp())); } } if (ipAddresses.isEmpty()) return null; diff --git a/renderers/ofoverlay/src/main/java/org/opendaylight/groupbasedpolicy/renderer/ofoverlay/sf/ChainAction.java b/renderers/ofoverlay/src/main/java/org/opendaylight/groupbasedpolicy/renderer/ofoverlay/sf/ChainAction.java index ad001954b..f5bf7538a 100755 --- a/renderers/ofoverlay/src/main/java/org/opendaylight/groupbasedpolicy/renderer/ofoverlay/sf/ChainAction.java +++ b/renderers/ofoverlay/src/main/java/org/opendaylight/groupbasedpolicy/renderer/ofoverlay/sf/ChainAction.java @@ -28,6 +28,7 @@ import org.opendaylight.groupbasedpolicy.renderer.ofoverlay.sfcutils.SfcIidFacto import org.opendaylight.groupbasedpolicy.renderer.ofoverlay.sfcutils.SfcNshHeader; import org.opendaylight.groupbasedpolicy.renderer.ofoverlay.sfcutils.SfcNshHeader.SfcNshHeaderBuilder; import org.opendaylight.groupbasedpolicy.util.DataStoreHelper; +import org.opendaylight.groupbasedpolicy.util.IetfModelCodec; import org.opendaylight.sfc.provider.api.SfcProviderRenderedPathAPI; import org.opendaylight.sfc.provider.api.SfcProviderServiceChainAPI; import org.opendaylight.sfc.provider.api.SfcProviderServicePathAPI; @@ -189,8 +190,8 @@ public class ChainAction extends Action { RenderedServicePathHop firstRspHop = renderedServicePath.getRenderedServicePathHop().get(0); RenderedServicePathHop lastRspHop = Iterables.getLast(renderedServicePath.getRenderedServicePathHop()); - SfcNshHeader sfcNshHeader = new SfcNshHeaderBuilder().setNshTunIpDst(rspFirstHop.getIp().getIpv4Address()) - .setNshTunUdpPort(rspFirstHop.getPort()) + SfcNshHeader sfcNshHeader = new SfcNshHeaderBuilder().setNshTunIpDst(IetfModelCodec.ipv4Address2010(rspFirstHop.getIp().getIpv4Address())) + .setNshTunUdpPort(IetfModelCodec.portNumber2010(rspFirstHop.getPort())) .setNshNsiToChain(firstRspHop.getServiceIndex()) .setNshNspToChain(renderedServicePath.getPathId()) .setNshNsiFromChain((short) (lastRspHop.getServiceIndex().intValue() - 1))