Use IetfInetUtil for IpAddressNoZone formatting 60/90260/1
authorRobert Varga <robert.varga@pantheon.tech>
Sun, 7 Jun 2020 10:28:34 +0000 (12:28 +0200)
committerRobert Varga <nite@hq.sk>
Sun, 7 Jun 2020 10:33:32 +0000 (10:33 +0000)
Rather than going through InetAddress.getHostAddress(), use
provided utilities to instantiate IpAddressNoZone more efficiently.
Fixes the following splat:

java.lang.IllegalArgumentException: Cannot create IpAddress from 2001:db8:1000:0:0:0:0:10%0
    at org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddressNoZoneBuilder.getDefaultInstance(IpAddressNoZoneBuilder.java:26) ~[bundleFile:?]
    at org.opendaylight.bgpcep.pcep.topology.provider.AbstractTopologySessionListener.onSessionUp(AbstractTopologySessionListener.java:165) ~[bundleFile:?]
    at org.opendaylight.protocol.pcep.impl.PCEPSessionImpl.sessionUp(PCEPSessionImpl.java:377) [bundleFile:?]
    at org.opendaylight.protocol.pcep.impl.PCEPSessionImpl.handlerAdded(PCEPSessionImpl.java:425) [bundleFile:?]
    at io.netty.channel.AbstractChannelHandlerContext.callHandlerAdded(AbstractChannelHandlerContext.java:971) [bundleFile:4.1.48.Final]

Change-Id: Ifa13691b0487755de112cee7dea57cde50427972
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
pcep/topology/topology-provider/src/main/java/org/opendaylight/bgpcep/pcep/topology/provider/AbstractTopologySessionListener.java

index 0c9d24a1075c99566f424b27bd651cd04e272678..be8f59ab5a00ceb0564079dff225598f39e56213 100644 (file)
@@ -43,7 +43,7 @@ import org.opendaylight.protocol.pcep.PCEPCloseTermination;
 import org.opendaylight.protocol.pcep.PCEPSession;
 import org.opendaylight.protocol.pcep.PCEPTerminationReason;
 import org.opendaylight.protocol.pcep.TerminationReason;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddressNoZoneBuilder;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IetfInetUtil;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.ietf.stateful.rev181109.LspObject;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.ietf.stateful.rev181109.Path1;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.ietf.stateful.rev181109.lsp.object.Lsp;
@@ -162,7 +162,7 @@ public abstract class AbstractTopologySessionListener<S, L> implements TopologyS
         onSessionUp(psession, pccBuilder);
         this.synced.set(isSynchronized());
 
-        pccBuilder.setIpAddress(IpAddressNoZoneBuilder.getDefaultInstance(peerAddress.getHostAddress()));
+        pccBuilder.setIpAddress(IetfInetUtil.INSTANCE.ipAddressNoZoneFor(peerAddress));
         final InstanceIdentifier<Node1> topologyAugment = state.getNodeId().augmentation(Node1.class);
         this.pccIdentifier = topologyAugment.child(PathComputationClient.class);
         final Node initialNodeState = state.getInitialNodeState();