From 7e303c32a5395cc3ee718cbc324bd047f872dd57 Mon Sep 17 00:00:00 2001 From: Robert Varga Date: Sun, 22 Jul 2018 23:09:42 +0200 Subject: [PATCH] Do not use char[]-based union access Both the constructor and getValue() method are going away, do not use them. Change-Id: If0b2b7db98bfba090b437366e80f808e871ebbf5 Signed-off-by: Robert Varga --- .../aclservice/EgressAclServiceImpl.java | 6 +- .../aclservice/IngressAclServiceImpl.java | 8 +-- .../aclservice/utils/AclServiceUtils.java | 10 ++-- .../aclservice/tests/AclServiceTestBase.java | 12 ++-- .../aclservice/utils/AclServiceUtilsTest.java | 8 +-- .../bgpmanager/BgpConfigurationManager.java | 10 ++-- .../netvirt/bgpmanager/BgpUtil.java | 3 +- .../netvirt/bgpmanager/commands/Cache.java | 2 +- .../netvirt/coe/listeners/PodListener.java | 2 +- .../netvirt/coe/utils/CoeUtils.java | 2 +- .../DhcpAllocationPoolManager.java | 4 +- .../netvirt/dhcpservice/DhcpPktHandler.java | 20 +++---- .../netvirt/dhcpservice/DhcpServiceUtils.java | 7 ++- .../elan/internal/ElanInterfaceManager.java | 11 ++-- .../HwvtepRemoteMcastMacListener.java | 2 +- .../utils/ElanL2GatewayMulticastUtils.java | 10 ++-- .../elan/l2gw/utils/ElanL2GatewayUtils.java | 7 +-- .../utils/TransportZoneNotificationUtil.java | 16 +++--- .../NodeConnectedHandlerUtils.java | 3 +- .../l2gw/nodehandlertest/TestBuilders.java | 10 ++-- .../elanmanager/tests/L2gwBuilders.java | 8 +-- .../netvirt/fibmanager/FibUtil.java | 3 +- .../netvirt/fibmanager/NexthopManager.java | 7 ++- .../netvirt/ipv6service/Ipv6RouterAdvt.java | 10 ++-- .../ipv6service/Ipv6PktHandlerTest.java | 9 +-- .../ipv6service/shell/ShowIpv6Command.java | 7 +-- .../internal/ConntrackBasedSnatService.java | 5 +- .../NatTunnelInterfaceStateListener.java | 4 +- .../netvirt/natservice/internal/NatUtil.java | 4 +- .../VxlanGreConntrackBasedSnatService.java | 6 +- .../rpcservice/NatRpcServiceImpl.java | 6 +- .../neutronvpn/api/l2gw/L2GatewayDevice.java | 2 +- .../neutronvpn/NeutronPortChangeListener.java | 23 ++++---- .../NeutronRouterChangeListener.java | 4 +- .../NeutronSubnetChangeListener.java | 5 +- .../netvirt/neutronvpn/NeutronvpnManager.java | 56 +++++++++---------- .../neutronvpn/NeutronvpnNatManager.java | 22 ++++---- .../netvirt/neutronvpn/NeutronvpnUtils.java | 19 +++---- .../vpnmanager/api/InterfaceUtils.java | 2 +- .../SubnetRoutePacketInHandler.java | 7 ++- .../TunnelInterfaceStateListener.java | 14 ++--- .../vpnmanager/VpnInterfaceManager.java | 4 +- .../intervpnlink/IVpnLinkServiceImpl.java | 4 +- .../AbstractIpLearnNotificationHandler.java | 13 +++-- .../iplearn/AlivenessMonitorUtils.java | 5 +- .../iplearn/ipv4/ArpNotificationHandler.java | 7 +-- .../ipv6/Ipv6NaNotificationHandler.java | 2 +- 47 files changed, 203 insertions(+), 208 deletions(-) diff --git a/aclservice/impl/src/main/java/org/opendaylight/netvirt/aclservice/EgressAclServiceImpl.java b/aclservice/impl/src/main/java/org/opendaylight/netvirt/aclservice/EgressAclServiceImpl.java index af3b265fb7..1a4a1f1766 100644 --- a/aclservice/impl/src/main/java/org/opendaylight/netvirt/aclservice/EgressAclServiceImpl.java +++ b/aclservice/impl/src/main/java/org/opendaylight/netvirt/aclservice/EgressAclServiceImpl.java @@ -157,7 +157,7 @@ public class EgressAclServiceImpl extends AbstractAclServiceImpl { flowMatches.addAll(AclServiceUtils.buildIpAndDstServiceMatch(aclTag, aap)); List instructions = AclServiceOFFlowBuilder.getGotoInstructionInfo(getAclCommitterTable()); - String flowNameAdded = "Acl_Filter_Egress_" + String.valueOf(aap.getIpAddress().getValue()) + "_" + aclTag; + String flowNameAdded = "Acl_Filter_Egress_" + aap.getIpAddress().stringValue() + "_" + aclTag; syncFlow(dpId, getAclRemoteAclTable(), flowNameAdded, AclConstants.ACL_DEFAULT_PRIORITY, "ACL", 0, 0, AclConstants.COOKIE_ACL_BASE, flowMatches, instructions, addOrRemove); @@ -180,7 +180,7 @@ public class EgressAclServiceImpl extends AbstractAclServiceImpl { gotoInstructions.add(new InstructionGotoTable(getAclConntrackClassifierTable())); String flowName = "Egress_Fixed_Goto_Classifier_" + dpId + "_" + lportTag + "_" + mac.getValue() + "_" - + String.valueOf(attachIp.getValue()); + + attachIp.stringValue(); syncFlow(dpId, getAclAntiSpoofingTable(), flowName, AclConstants.PROTO_MATCH_PRIORITY, "ACL", 0, 0, AclConstants.COOKIE_ACL_BASE, matches, gotoInstructions, addOrRemove); } @@ -296,7 +296,7 @@ public class EgressAclServiceImpl extends AbstractAclServiceImpl { LOG.debug("{} ARP Rule on DPID {}, lportTag {}", addOrRemove == NwConstants.DEL_FLOW ? "Deleting" : "Adding", dpId, lportTag); String flowName = "Egress_ARP_" + dpId + "_" + lportTag + "_" + allowedAddress.getMacAddress().getValue() - + String.valueOf(allowedAddressIp.getValue()); + + allowedAddressIp.stringValue(); syncFlow(dpId, getAclAntiSpoofingTable(), flowName, AclConstants.PROTO_ARP_TRAFFIC_MATCH_PRIORITY, "ACL", 0, 0, AclConstants.COOKIE_ACL_BASE, matches, instructions, addOrRemove); } diff --git a/aclservice/impl/src/main/java/org/opendaylight/netvirt/aclservice/IngressAclServiceImpl.java b/aclservice/impl/src/main/java/org/opendaylight/netvirt/aclservice/IngressAclServiceImpl.java index b7fc05a59a..7ee5836b8d 100644 --- a/aclservice/impl/src/main/java/org/opendaylight/netvirt/aclservice/IngressAclServiceImpl.java +++ b/aclservice/impl/src/main/java/org/opendaylight/netvirt/aclservice/IngressAclServiceImpl.java @@ -37,7 +37,7 @@ import org.opendaylight.netvirt.aclservice.utils.AclConstants; import org.opendaylight.netvirt.aclservice.utils.AclDataUtil; import org.opendaylight.netvirt.aclservice.utils.AclServiceOFFlowBuilder; import org.opendaylight.netvirt.aclservice.utils.AclServiceUtils; -import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpPrefix; +import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpPrefixBuilder; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.MacAddress; import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.instruction.list.Instruction; import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.servicebinding.rev160406.ServiceModeEgress; @@ -179,7 +179,7 @@ public class IngressAclServiceImpl extends AbstractAclServiceImpl { gotoInstructions.add(new InstructionGotoTable(getAclConntrackClassifierTable())); String flowName = "Ingress_Fixed_Goto_Classifier_" + dpId + "_" + lportTag + "_" + mac.getValue() + "_" - + String.valueOf(attachIp.getValue()); + + attachIp.stringValue(); syncFlow(dpId, getAclAntiSpoofingTable(), flowName, AclConstants.PROTO_MATCH_PRIORITY, "ACL", 0, 0, AclConstants.COOKIE_ACL_BASE, matches, gotoInstructions, addOrRemove); } @@ -192,7 +192,7 @@ public class IngressAclServiceImpl extends AbstractAclServiceImpl { flowMatches.addAll(AclServiceUtils.buildIpAndSrcServiceMatch(aclTag, aap)); List instructions = AclServiceOFFlowBuilder.getGotoInstructionInfo(getAclCommitterTable()); - String flowNameAdded = "Acl_Filter_Ingress_" + String.valueOf(aap.getIpAddress().getValue()) + "_" + aclTag; + String flowNameAdded = "Acl_Filter_Ingress_" + aap.getIpAddress().stringValue() + "_" + aclTag; syncFlow(dpId, getAclRemoteAclTable(), flowNameAdded, AclConstants.ACL_DEFAULT_PRIORITY, "ACL", 0, 0, AclConstants.COOKIE_ACL_BASE, flowMatches, instructions, addOrRemove); @@ -283,7 +283,7 @@ public class IngressAclServiceImpl extends AbstractAclServiceImpl { AclServiceUtils.buildIcmpV6Matches(AclConstants.ICMPV6_TYPE_RA, 0, port.getLPortTag(), serviceMode); matches.addAll(AclServiceUtils.buildIpMatches( - new IpPrefixOrAddress(new IpPrefix(AclConstants.IPV6_LINK_LOCAL_PREFIX.toCharArray())), + new IpPrefixOrAddress(IpPrefixBuilder.getDefaultInstance(AclConstants.IPV6_LINK_LOCAL_PREFIX)), AclServiceManager.MatchCriteria.MATCH_SOURCE)); String flowName = "Ingress_ICMPv6" + "_" + port.getDpId() + "_" + port.getLPortTag() + "_" + AclConstants.ICMPV6_TYPE_RA + "_LinkLocal_Permit_"; diff --git a/aclservice/impl/src/main/java/org/opendaylight/netvirt/aclservice/utils/AclServiceUtils.java b/aclservice/impl/src/main/java/org/opendaylight/netvirt/aclservice/utils/AclServiceUtils.java index 0f6bba0614..712598d48a 100644 --- a/aclservice/impl/src/main/java/org/opendaylight/netvirt/aclservice/utils/AclServiceUtils.java +++ b/aclservice/impl/src/main/java/org/opendaylight/netvirt/aclservice/utils/AclServiceUtils.java @@ -35,7 +35,6 @@ import java.util.concurrent.Future; import javax.annotation.Nullable; import javax.inject.Inject; import javax.inject.Singleton; - import org.opendaylight.controller.md.sal.binding.api.DataBroker; import org.opendaylight.controller.md.sal.binding.api.ReadOnlyTransaction; import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType; @@ -128,6 +127,7 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.aclservice.rev16060 import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.aclservice.rev160608.DirectionBase; import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.aclservice.rev160608.InterfaceAcl; import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.aclservice.rev160608.IpPrefixOrAddress; +import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.aclservice.rev160608.IpPrefixOrAddressBuilder; import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.aclservice.rev160608.IpVersionV6; import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.aclservice.rev160608.PortSubnets; import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.aclservice.rev160608.SecurityRuleAttr; @@ -408,7 +408,7 @@ public final class AclServiceUtils { public static List buildBroadcastIpV4Matches(String ipAddr) { List matches = new ArrayList<>(2); matches.add(new MatchEthernetDestination(new MacAddress(AclConstants.BROADCAST_MAC))); - matches.addAll(AclServiceUtils.buildIpMatches(new IpPrefixOrAddress(ipAddr.toCharArray()), + matches.addAll(AclServiceUtils.buildIpMatches(IpPrefixOrAddressBuilder.getDefaultInstance(ipAddr), MatchCriteria.MATCH_DESTINATION)); return matches; } @@ -829,7 +829,7 @@ public final class AclServiceUtils { } private static String getAapFlowId(AllowedAddressPairs aap) { - return aap.getMacAddress().getValue() + "_" + String.valueOf(aap.getIpAddress().getValue()); + return aap.getMacAddress().getValue() + "_" + aap.getIpAddress().stringValue(); } public static Long getElanIdFromInterface(String elanInterfaceName,DataBroker broker) { @@ -1490,14 +1490,14 @@ public final class AclServiceUtils { IpPrefix ipPrefix = ipPrefixOrAddress.getIpPrefix(); if (ipPrefix != null) { - addr = String.valueOf(ipPrefix.getValue()).split("/")[0]; + addr = ipPrefix.stringValue().split("/")[0]; } else { IpAddress ipAddress = ipPrefixOrAddress.getIpAddress(); if (ipAddress == null) { LOG.error("Invalid address : {}", ipPrefixOrAddress); return null; } else { - addr = String.valueOf(ipAddress.getValue()); + addr = ipAddress.stringValue(); } } try { diff --git a/aclservice/impl/src/test/java/org/opendaylight/netvirt/aclservice/tests/AclServiceTestBase.java b/aclservice/impl/src/test/java/org/opendaylight/netvirt/aclservice/tests/AclServiceTestBase.java index 678d081607..966befa2ab 100644 --- a/aclservice/impl/src/test/java/org/opendaylight/netvirt/aclservice/tests/AclServiceTestBase.java +++ b/aclservice/impl/src/test/java/org/opendaylight/netvirt/aclservice/tests/AclServiceTestBase.java @@ -17,7 +17,6 @@ import java.util.Collections; import java.util.List; import java.util.stream.Collectors; import javax.inject.Inject; - import org.eclipse.xtext.xbase.lib.Pair; import org.junit.Before; import org.junit.Rule; @@ -42,8 +41,8 @@ import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.access.cont import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.access.control.list.rev160218.access.lists.acl.access.list.entries.ace.MatchesBuilder; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.access.control.list.rev160218.access.lists.acl.access.list.entries.ace.matches.ace.type.AceIpBuilder; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.access.control.list.rev160218.access.lists.acl.access.list.entries.ace.matches.ace.type.ace.ip.ace.ip.version.AceIpv4Builder; -import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress; -import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpPrefix; +import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddressBuilder; +import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpPrefixBuilder; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Prefix; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.PortNumber; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces.Interface; @@ -53,6 +52,7 @@ import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types. import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.aclservice.rev160608.DirectionEgress; import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.aclservice.rev160608.DirectionIngress; import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.aclservice.rev160608.IpPrefixOrAddress; +import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.aclservice.rev160608.IpPrefixOrAddressBuilder; import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.aclservice.rev160608.IpVersionBase; import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.aclservice.rev160608.IpVersionV4; import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.aclservice.rev160608.interfaces._interface.AllowedAddressPairs; @@ -620,15 +620,15 @@ public abstract class AclServiceTestBase { protected static AllowedAddressPairs buildAap(String ipAddress, String macAddress) { return new AllowedAddressPairsBuilder() - .setIpAddress(new IpPrefixOrAddress(new IpPrefix(ipAddress.toCharArray()))) + .setIpAddress(new IpPrefixOrAddress(IpPrefixBuilder.getDefaultInstance(ipAddress))) .setMacAddress(new MacAddress(macAddress)).build(); } protected static SubnetInfo buildSubnetInfo(Uuid subnetId, String ipPrefix, Class ipVersion, String gwIp) { return new SubnetInfoBuilder().withKey(new SubnetInfoKey(subnetId)).setIpVersion(ipVersion) - .setIpPrefix(new IpPrefixOrAddress(ipPrefix.toCharArray())) - .setGatewayIp(new IpAddress(gwIp.toCharArray())).build(); + .setIpPrefix(IpPrefixOrAddressBuilder.getDefaultInstance(ipPrefix)) + .setGatewayIp(IpAddressBuilder.getDefaultInstance(gwIp)).build(); } protected void setUpData() throws Exception { diff --git a/aclservice/impl/src/test/java/org/opendaylight/netvirt/aclservice/utils/AclServiceUtilsTest.java b/aclservice/impl/src/test/java/org/opendaylight/netvirt/aclservice/utils/AclServiceUtilsTest.java index 6b13b2620a..57f5c73855 100644 --- a/aclservice/impl/src/test/java/org/opendaylight/netvirt/aclservice/utils/AclServiceUtilsTest.java +++ b/aclservice/impl/src/test/java/org/opendaylight/netvirt/aclservice/utils/AclServiceUtilsTest.java @@ -15,7 +15,7 @@ import java.util.ArrayList; import java.util.List; import org.junit.Test; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.MacAddress; -import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.aclservice.rev160608.IpPrefixOrAddress; +import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.aclservice.rev160608.IpPrefixOrAddressBuilder; import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.aclservice.rev160608.interfaces._interface.AllowedAddressPairs; import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.aclservice.rev160608.interfaces._interface.AllowedAddressPairsBuilder; @@ -64,13 +64,13 @@ public class AclServiceUtilsTest { inputAAPs.clear(); } - private void buildInputAAP(List inputAAPs, String addr) { + private static void buildInputAAP(List inputAAPs, String addr) { inputAAPs.add(buildAAp(addr)); } - private AllowedAddressPairs buildAAp(String addr) { + private static AllowedAddressPairs buildAAp(String addr) { AllowedAddressPairsBuilder aapb = new AllowedAddressPairsBuilder(); - aapb.setIpAddress(new IpPrefixOrAddress(addr.toCharArray())); + aapb.setIpAddress(IpPrefixOrAddressBuilder.getDefaultInstance(addr)); aapb.setMacAddress(new MacAddress("AA:BB:CC:DD:EE:FF")); return aapb.build(); } diff --git a/bgpmanager/impl/src/main/java/org/opendaylight/netvirt/bgpmanager/BgpConfigurationManager.java b/bgpmanager/impl/src/main/java/org/opendaylight/netvirt/bgpmanager/BgpConfigurationManager.java index a971b14aa5..44aa738570 100755 --- a/bgpmanager/impl/src/main/java/org/opendaylight/netvirt/bgpmanager/BgpConfigurationManager.java +++ b/bgpmanager/impl/src/main/java/org/opendaylight/netvirt/bgpmanager/BgpConfigurationManager.java @@ -122,6 +122,7 @@ import org.opendaylight.yang.gen.v1.urn.ericsson.params.xml.ns.yang.ebgp.rev1509 import org.opendaylight.yang.gen.v1.urn.ericsson.params.xml.ns.yang.ebgp.rev150901.tcp.security.option.grouping.tcp.security.option.TcpMd5SignatureOption; import org.opendaylight.yang.gen.v1.urn.ericsson.params.xml.ns.yang.ebgp.rev150901.tcp.security.option.grouping.tcp.security.option.TcpMd5SignatureOptionBuilder; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress; +import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddressBuilder; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Address; import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.fibmanager.rev150330.FibEntries; import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.fibmanager.rev150330.fibentries.VrfTables; @@ -2126,7 +2127,7 @@ public class BgpConfigurationManager { } long asNum = asId.getLocalAs(); IpAddress routerId = asId.getRouterId(); - String rid = routerId == null ? "" : new String(routerId.getValue()); + String rid = routerId == null ? "" : routerId.stringValue(); int stalepathTime = (int) getStalePathtime(RESTART_DEFAULT_GR, config.getAsId()); boolean announceFbit = true; boolean replayDone = false; @@ -2340,7 +2341,7 @@ public class BgpConfigurationManager { } public void startBgp(long as, String routerId, int spt, boolean fbit) { - IpAddress rid = routerId == null ? null : new IpAddress(routerId.toCharArray()); + IpAddress rid = routerId == null ? null : IpAddressBuilder.getDefaultInstance(routerId); Long staleTime = (long) spt; InstanceIdentifier.InstanceIdentifierBuilder iib = InstanceIdentifier.builder(Bgp.class).child(AsId.class); @@ -2593,9 +2594,10 @@ public class BgpConfigurationManager { InstanceIdentifier iid = iib.build(); + InstanceIdentifier.builder(Bgp.class).build() + .child(Multipath.class, new MultipathKey(adfBuilder.getAfi(), adfBuilder.getSafi())); @SuppressWarnings("static-access") - InstanceIdentifier iid6 = iid.builder(Bgp.class).build() - .child(Multipath.class, new MultipathKey(adfBuilder.getAfi(), adfBuilder.getSafi())).create(Bgp.class); + InstanceIdentifier iid6 = InstanceIdentifier.create(Bgp.class); InstanceIdentifierBuilder iib3 = iid6.child(Vrfs.class, new VrfsKey(rd)).builder(); InstanceIdentifier iidFinal = iib3.build(); diff --git a/bgpmanager/impl/src/main/java/org/opendaylight/netvirt/bgpmanager/BgpUtil.java b/bgpmanager/impl/src/main/java/org/opendaylight/netvirt/bgpmanager/BgpUtil.java index 005b907f99..f4e45a1936 100755 --- a/bgpmanager/impl/src/main/java/org/opendaylight/netvirt/bgpmanager/BgpUtil.java +++ b/bgpmanager/impl/src/main/java/org/opendaylight/netvirt/bgpmanager/BgpUtil.java @@ -36,6 +36,7 @@ import org.opendaylight.yang.gen.v1.urn.ericsson.params.xml.ns.yang.ebgp.rev1509 import org.opendaylight.yang.gen.v1.urn.ericsson.params.xml.ns.yang.ebgp.rev150901.bgp.VrfsKey; import org.opendaylight.yang.gen.v1.urn.ericsson.params.xml.ns.yang.ebgp.rev150901.bgp.vrfs.AddressFamiliesVrf; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress; +import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddressBuilder; import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.elan.rev150602.ElanInstances; import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.elan.rev150602.elan.instances.ElanInstance; import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.elan.rev150602.elan.instances.ElanInstanceKey; @@ -241,7 +242,7 @@ public class BgpUtil implements AutoCloseable { } private static InstanceIdentifier getExternalTepsIdentifier(String elanInstanceName, String tepIp) { - IpAddress tepAdress = tepIp == null ? null : new IpAddress(tepIp.toCharArray()); + IpAddress tepAdress = tepIp == null ? null : IpAddressBuilder.getDefaultInstance(tepIp); return InstanceIdentifier.builder(ElanInstances.class).child(ElanInstance.class, new ElanInstanceKey(elanInstanceName)).child(ExternalTeps.class, new ExternalTepsKey(tepAdress)).build(); diff --git a/bgpmanager/impl/src/main/java/org/opendaylight/netvirt/bgpmanager/commands/Cache.java b/bgpmanager/impl/src/main/java/org/opendaylight/netvirt/bgpmanager/commands/Cache.java index e68573a157..1566f09110 100644 --- a/bgpmanager/impl/src/main/java/org/opendaylight/netvirt/bgpmanager/commands/Cache.java +++ b/bgpmanager/impl/src/main/java/org/opendaylight/netvirt/bgpmanager/commands/Cache.java @@ -153,7 +153,7 @@ public class Cache extends OsgiCommandSupport { IpAddress routerId = asId.getRouterId(); Long spt = asId.getStalepathTime(); Boolean afb = asId.isAnnounceFbit(); - String rid = routerId == null ? "" : new String(routerId.getValue()); + String rid = routerId == null ? "" : routerId.stringValue(); //F-bit is always set to ON (hardcoded), in SDN even though the controller is down //forwarding state shall be retained. String bit = "ON"; diff --git a/coe/impl/src/main/java/org/opendaylight/netvirt/coe/listeners/PodListener.java b/coe/impl/src/main/java/org/opendaylight/netvirt/coe/listeners/PodListener.java index c5e94965dc..37e6508c17 100644 --- a/coe/impl/src/main/java/org/opendaylight/netvirt/coe/listeners/PodListener.java +++ b/coe/impl/src/main/java/org/opendaylight/netvirt/coe/listeners/PodListener.java @@ -178,7 +178,7 @@ public class PodListener implements DataTreeChangeListener { String interfaceName = CoeUtils.buildInterfaceName(pods.getNetworkNS(), pods.getName()); List> futures = new ArrayList<>(); futures.add(txRunner.callWithNewReadWriteTransactionAndSubmit(CONFIGURATION, tx -> { - String nodeIp = String.valueOf(pods.getHostIpAddress().getValue()); + String nodeIp = pods.getHostIpAddress().stringValue(); ElanInstance elanInstance = CoeUtils.createElanInstanceForTheFirstPodInTheNetwork( pods.getNetworkNS(), nodeIp, podInterface, tx); LOG.info("interface creation for pod {}", interfaceName); diff --git a/coe/impl/src/main/java/org/opendaylight/netvirt/coe/utils/CoeUtils.java b/coe/impl/src/main/java/org/opendaylight/netvirt/coe/utils/CoeUtils.java index 7ab9a31d8f..3bb3c4ecbe 100644 --- a/coe/impl/src/main/java/org/opendaylight/netvirt/coe/utils/CoeUtils.java +++ b/coe/impl/src/main/java/org/opendaylight/netvirt/coe/utils/CoeUtils.java @@ -425,7 +425,7 @@ public final class CoeUtils { IpAddress ip = pod.getInterface().get(0).getIpAddress(); String ipValue = ip.getIpv4Address() != null ? ip.getIpv4Address().getValue() : ip.getIpv6Address().getValue(); String ipPrefix = ip.getIpv4Address() != null ? ipValue + "/32" : ipValue + "/128"; - String hostIp = new String(pod.getHostIpAddress().getValue()); + String hostIp = pod.getHostIpAddress().stringValue(); UUID subnetId = UUID.nameUUIDFromBytes(hostIp.getBytes(StandardCharsets.UTF_8)); String gatewayIP = ipValue.replaceFirst("\\d+$", "1"); Adjacency vmAdj = new AdjacencyBuilder().withKey(new AdjacencyKey(ipPrefix)).setIpAddress(ipPrefix) diff --git a/dhcpservice/impl/src/main/java/org/opendaylight/netvirt/dhcpservice/DhcpAllocationPoolManager.java b/dhcpservice/impl/src/main/java/org/opendaylight/netvirt/dhcpservice/DhcpAllocationPoolManager.java index 42e8b29b13..1fd6ca5cb8 100644 --- a/dhcpservice/impl/src/main/java/org/opendaylight/netvirt/dhcpservice/DhcpAllocationPoolManager.java +++ b/dhcpservice/impl/src/main/java/org/opendaylight/netvirt/dhcpservice/DhcpAllocationPoolManager.java @@ -156,8 +156,8 @@ public class DhcpAllocationPoolManager implements AutoCloseable, EventListener { return elanInterface.getElanInstanceName(); } - private String getPoolKeyIdByAllocationPool(String networkId, AllocationPool pool) { - return "dhcpAllocationPool." + networkId + "." + String.valueOf(pool.getSubnet().getValue()); + private static String getPoolKeyIdByAllocationPool(String networkId, AllocationPool pool) { + return "dhcpAllocationPool." + networkId + "." + pool.getSubnet().stringValue(); } private long createIdAllocation(String groupIdKey, String idKey) { diff --git a/dhcpservice/impl/src/main/java/org/opendaylight/netvirt/dhcpservice/DhcpPktHandler.java b/dhcpservice/impl/src/main/java/org/opendaylight/netvirt/dhcpservice/DhcpPktHandler.java index 4f6bd8230f..10934c49b9 100644 --- a/dhcpservice/impl/src/main/java/org/opendaylight/netvirt/dhcpservice/DhcpPktHandler.java +++ b/dhcpservice/impl/src/main/java/org/opendaylight/netvirt/dhcpservice/DhcpPktHandler.java @@ -340,26 +340,26 @@ public class DhcpPktHandler implements PacketProcessingListener { if (clientIp != null && serverIp != null) { List subnetHostRoutes = new ArrayList<>(subnet.getHostRoutes().size()); for (HostRoutes hostRoute : subnet.getHostRoutes()) { - if (!String.valueOf(hostRoute.getNexthop().getValue()).equals(clientIp)) { + if (!hostRoute.getNexthop().stringValue().equals(clientIp)) { subnetHostRoutes.add(hostRoute); } } dhcpInfo.setClientIp(clientIp).setServerIp(serverIp) - .setCidr(String.valueOf(subnet.getCidr().getValue())).setHostRoutes(subnetHostRoutes) + .setCidr(subnet.getCidr().stringValue()).setHostRoutes(subnetHostRoutes) .setDnsServersIpAddrs(dnsServers); } } return dhcpInfo; } - private DhcpInfo getApDhcpInfo(AllocationPool ap, IpAddress allocatedIp) { + private static DhcpInfo getApDhcpInfo(AllocationPool ap, IpAddress allocatedIp) { DhcpInfo dhcpInfo = null; - String clientIp = String.valueOf(allocatedIp.getValue()); - String serverIp = String.valueOf(ap.getGateway().getValue()); + String clientIp = allocatedIp.stringValue(); + String serverIp = ap.getGateway().stringValue(); List dnsServers = ap.getDnsServers(); dhcpInfo = new DhcpInfo(); - dhcpInfo.setClientIp(clientIp).setServerIp(serverIp).setCidr(String.valueOf(ap.getSubnet().getValue())) + dhcpInfo.setClientIp(clientIp).setServerIp(serverIp).setCidr(ap.getSubnet().stringValue()) .setHostRoutes(Collections.emptyList()).setDnsServersIpAddrs(dnsServers).setGatewayIp(serverIp); return dhcpInfo; @@ -370,7 +370,7 @@ public class DhcpPktHandler implements PacketProcessingListener { * Many other modules use/need similar methods. Should * be refactored to a common NeutronUtils module. * */ - private String getIpv4Address(Port port) { + private static String getIpv4Address(Port port) { for (FixedIps fixedIp : port.getFixedIps()) { if (isIpv4Address(fixedIp.getIpAddress())) { @@ -381,7 +381,7 @@ public class DhcpPktHandler implements PacketProcessingListener { return null; } - private boolean isIpv4Address(IpAddress ip) { + private static boolean isIpv4Address(IpAddress ip) { return ip != null && ip.getIpv4Address() != null; } @@ -393,7 +393,7 @@ public class DhcpPktHandler implements PacketProcessingListener { return dhcpMgr.getNeutronPort(interfaceName); } - private DHCP getDhcpPktIn(Ethernet actualEthernetPacket) { + private static DHCP getDhcpPktIn(Ethernet actualEthernetPacket) { Ethernet ethPkt = actualEthernetPacket; if (ethPkt.getEtherType() == (short)NwConstants.ETHTYPE_802_1Q) { ethPkt = (Ethernet)ethPkt.getPayload(); @@ -565,7 +565,7 @@ public class DhcpPktHandler implements PacketProcessingListener { return rawPkt; } - private byte[] getServerMacAddress(String phyAddress) { + private static byte[] getServerMacAddress(String phyAddress) { // Should we return ControllerMac instead? return DHCPUtils.strMacAddrtoByteArray(phyAddress); } diff --git a/dhcpservice/impl/src/main/java/org/opendaylight/netvirt/dhcpservice/DhcpServiceUtils.java b/dhcpservice/impl/src/main/java/org/opendaylight/netvirt/dhcpservice/DhcpServiceUtils.java index db0bec0f6d..0ffdce200d 100644 --- a/dhcpservice/impl/src/main/java/org/opendaylight/netvirt/dhcpservice/DhcpServiceUtils.java +++ b/dhcpservice/impl/src/main/java/org/opendaylight/netvirt/dhcpservice/DhcpServiceUtils.java @@ -64,6 +64,7 @@ import org.opendaylight.netvirt.dhcpservice.api.DhcpMConstants; import org.opendaylight.netvirt.elanmanager.api.ElanHelper; import org.opendaylight.netvirt.neutronvpn.api.utils.NeutronUtils; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress; +import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddressBuilder; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.InterfacesState; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.MacAddress; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid; @@ -438,7 +439,7 @@ public final class DhcpServiceUtils { .map(x -> ipn >> x & 0xFF).boxed() // .map(String::valueOf) // .toArray(String[]::new); - return new IpAddress(String.join(".", array).toCharArray()); + return IpAddressBuilder.getDefaultInstance(String.join(".", array)); } static IpAddress convertLongToIp(long ip) { @@ -446,11 +447,11 @@ public final class DhcpServiceUtils { .map(x -> ip >> x & 0xFF).boxed() // .map(String::valueOf) // .toArray(String[]::new); - return new IpAddress(String.join(".", array).toCharArray()); + return IpAddressBuilder.getDefaultInstance(String.join(".", array)); } static long convertIpToLong(IpAddress ipa) { - String[] splitIp = String.valueOf(ipa.getValue()).split("\\."); + String[] splitIp = ipa.stringValue().split("\\."); long result = 0; for (String part : splitIp) { result <<= 8; diff --git a/elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/internal/ElanInterfaceManager.java b/elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/internal/ElanInterfaceManager.java index 8b191ad7c4..0d0be42018 100644 --- a/elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/internal/ElanInterfaceManager.java +++ b/elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/internal/ElanInterfaceManager.java @@ -14,7 +14,6 @@ import com.google.common.base.Optional; import com.google.common.base.Preconditions; import com.google.common.collect.Lists; import com.google.common.util.concurrent.ListenableFuture; - import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import java.math.BigInteger; import java.util.ArrayList; @@ -27,11 +26,9 @@ import java.util.Queue; import java.util.Set; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentLinkedQueue; - import javax.annotation.PostConstruct; import javax.inject.Inject; import javax.inject.Singleton; - import org.apache.commons.lang3.StringUtils; import org.opendaylight.controller.md.sal.binding.api.DataBroker; import org.opendaylight.controller.md.sal.binding.api.ReadWriteTransaction; @@ -288,7 +285,7 @@ public class ElanInterfaceManager extends AsyncDataTreeChangeListenerBase remoteListActionInfo = elanItmUtils.getInternalTunnelItmEgressAction( dpnInterface.getDpId(), otherFes.getDpId(), elanUtils.isOpenstackVniSemanticsEnforced() - ? elanUtils.getVxlanSegmentationId(elanInfo) : elanTag); + ? ElanUtils.getVxlanSegmentationId(elanInfo) : elanTag); if (!remoteListActionInfo.isEmpty()) { remoteListBucketInfo.add(MDSALUtil.buildBucket(remoteListActionInfo, MDSALUtil .GROUP_WEIGHT, bucketId, MDSALUtil.WATCH_PORT, MDSALUtil.WATCH_GROUP)); @@ -1331,7 +1328,7 @@ public class ElanInterfaceManager extends AsyncDataTreeChangeListenerBase staticMacs = elanL2GatewayUtils.getElanDpnMacsFromInterfaces(lstElanInterfaceNames); if (phyLocAlreadyExists) { diff --git a/elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/listeners/HwvtepRemoteMcastMacListener.java b/elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/listeners/HwvtepRemoteMcastMacListener.java index bed971a2bb..58e1864c4f 100644 --- a/elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/listeners/HwvtepRemoteMcastMacListener.java +++ b/elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/listeners/HwvtepRemoteMcastMacListener.java @@ -107,7 +107,7 @@ public class HwvtepRemoteMcastMacListener boolean ipExists = ElanL2GatewayUtils.checkIfPhyLocatorAlreadyExistsInRemoteMcastEntry(this.nodeId, remoteMcastMac, ip); if (!ipExists) { - LOG.trace("IP [{}] not found in RemoteMcastMacs for node [{}]", String.valueOf(ip.getValue()), + LOG.trace("IP [{}] not found in RemoteMcastMacs for node [{}]", ip.stringValue(), this.nodeId.getValue()); return false; } diff --git a/elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/utils/ElanL2GatewayMulticastUtils.java b/elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/utils/ElanL2GatewayMulticastUtils.java index 91822101af..487f8fa6e9 100644 --- a/elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/utils/ElanL2GatewayMulticastUtils.java +++ b/elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/utils/ElanL2GatewayMulticastUtils.java @@ -325,7 +325,7 @@ public class ElanL2GatewayMulticastUtils { if (isVxlanNetworkOrVxlanSegment(elanInfo)) { listBucketInfo.addAll(getRemoteBCGroupTunnelBuckets(elanDpns, dpnId, bucketId, elanUtils.isOpenstackVniSemanticsEnforced() - ? elanUtils.getVxlanSegmentationId(elanInfo) : elanTag)); + ? ElanUtils.getVxlanSegmentationId(elanInfo) : elanTag)); } listBucketInfo.addAll(getRemoteBCGroupExternalPortBuckets(elanDpns, dpnInterfaces, dpnId, getNextAvailableBucketId(listBucketInfo.size()))); @@ -383,7 +383,7 @@ public class ElanL2GatewayMulticastUtils { continue; } List listActionInfo = elanItmUtils.buildTunnelItmEgressActions(interfaceName, - elanUtils.getVxlanSegmentationId(elanInfo), false); + ElanUtils.getVxlanSegmentationId(elanInfo), false); listBucketInfo.add(MDSALUtil.buildBucket(listActionInfo, MDSALUtil.GROUP_WEIGHT, bucketId, MDSALUtil.WATCH_PORT, MDSALUtil.WATCH_GROUP)); bucketId++; @@ -451,7 +451,7 @@ public class ElanL2GatewayMulticastUtils { remoteTepIps.add(dhcpDesignatedSwitchTepIp); HwvtepPhysicalLocatorAugmentation phyLocatorAug = HwvtepSouthboundUtils - .createHwvtepPhysicalLocatorAugmentation(String.valueOf(dhcpDesignatedSwitchTepIp.getValue())); + .createHwvtepPhysicalLocatorAugmentation(dhcpDesignatedSwitchTepIp.stringValue()); InstanceIdentifier iid = HwvtepSouthboundUtils.createPhysicalLocatorInstanceIdentifier(nodeId, phyLocatorAug); TerminationPoint terminationPoint = new TerminationPointBuilder() @@ -461,7 +461,7 @@ public class ElanL2GatewayMulticastUtils { iid, terminationPoint); LOG.info("Adding PhysicalLocator for node: {} with Dhcp designated switch Tep Ip {} " + "as physical locator, elan {}", device.getHwvtepNodeId(), - String.valueOf(dhcpDesignatedSwitchTepIp.getValue()), elanName); + dhcpDesignatedSwitchTepIp.stringValue(), elanName); } else { LOG.warn("Dhcp designated switch Tep Ip not found for l2 gw node {} and elan {}", device.getHwvtepNodeId(), elanName); @@ -491,7 +491,7 @@ public class ElanL2GatewayMulticastUtils { List locators = new ArrayList<>(); for (IpAddress tepIp : tepIps) { HwvtepPhysicalLocatorAugmentation phyLocatorAug = HwvtepSouthboundUtils - .createHwvtepPhysicalLocatorAugmentation(String.valueOf(tepIp.getValue())); + .createHwvtepPhysicalLocatorAugmentation(tepIp.stringValue()); HwvtepPhysicalLocatorRef phyLocRef = new HwvtepPhysicalLocatorRef( HwvtepSouthboundUtils.createPhysicalLocatorInstanceIdentifier(nodeId, phyLocatorAug)); locators.add(new LocatorSetBuilder().setLocatorRef(phyLocRef).build()); diff --git a/elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/utils/ElanL2GatewayUtils.java b/elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/utils/ElanL2GatewayUtils.java index 3aab5e93e8..89a1a54d4a 100644 --- a/elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/utils/ElanL2GatewayUtils.java +++ b/elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/utils/ElanL2GatewayUtils.java @@ -203,7 +203,7 @@ public class ElanL2GatewayUtils { RemoteMcastMacs remoteMcastMac, IpAddress expectedPhyLocatorIp) { if (remoteMcastMac != null) { HwvtepPhysicalLocatorAugmentation expectedPhyLocatorAug = HwvtepSouthboundUtils - .createHwvtepPhysicalLocatorAugmentation(String.valueOf(expectedPhyLocatorIp.getValue())); + .createHwvtepPhysicalLocatorAugmentation(expectedPhyLocatorIp.stringValue()); HwvtepPhysicalLocatorRef expectedPhyLocRef = new HwvtepPhysicalLocatorRef( HwvtepSouthboundUtils.createPhysicalLocatorInstanceIdentifier(nodeId, expectedPhyLocatorAug)); if (remoteMcastMac.getLocatorSet() != null) { @@ -693,8 +693,7 @@ public class ElanL2GatewayUtils { if (!areMLAGDevices(l2GatewayDeviceToBeConfigured, otherDevice)) { for (LocalUcastMacs localUcastMac : otherDevice.getUcastLocalMacs()) { HwvtepPhysicalLocatorAugmentation physLocatorAug = HwvtepSouthboundUtils - .createHwvtepPhysicalLocatorAugmentation( - String.valueOf(otherDevice.getTunnelIp().getValue())); + .createHwvtepPhysicalLocatorAugmentation(otherDevice.getTunnelIp().stringValue()); RemoteUcastMacs remoteUcastMac = HwvtepSouthboundUtils.createRemoteUcastMac(hwVtepNodeId, localUcastMac.getMacEntryKey().getValue().toLowerCase(Locale.getDefault()), localUcastMac.getIpaddr(), logicalSwitchName, physLocatorAug); @@ -758,7 +757,7 @@ public class ElanL2GatewayUtils { continue; } HwvtepPhysicalLocatorAugmentation physLocatorAug = HwvtepSouthboundUtils - .createHwvtepPhysicalLocatorAugmentation(String.valueOf(dpnTepIp.getValue())); + .createHwvtepPhysicalLocatorAugmentation(dpnTepIp.stringValue()); // TODO: Query ARP cache to get IP address corresponding to the // MAC RemoteUcastMacs remoteUcastMac = HwvtepSouthboundUtils.createRemoteUcastMac(hwVtepNodeId, diff --git a/elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/utils/TransportZoneNotificationUtil.java b/elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/utils/TransportZoneNotificationUtil.java index ad0435f409..aa196121d8 100644 --- a/elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/utils/TransportZoneNotificationUtil.java +++ b/elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/utils/TransportZoneNotificationUtil.java @@ -39,7 +39,9 @@ import org.opendaylight.netvirt.elanmanager.api.IElanService; import org.opendaylight.ovsdb.utils.mdsal.utils.MdsalUtils; import org.opendaylight.ovsdb.utils.southbound.utils.SouthboundUtils; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress; +import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddressBuilder; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpPrefix; +import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpPrefixBuilder; import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.meta.rev160406.BridgeRefInfo; import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.meta.rev160406.bridge.ref.info.BridgeRefEntry; import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.meta.rev160406.bridge.ref.info.BridgeRefEntryKey; @@ -269,7 +271,7 @@ public class TransportZoneNotificationUtil { Set zonePrefixes = new HashSet<>(); Map> tepTzMap = tunnelEndPoints.stream().collect(Collectors - .toMap(tep -> String.valueOf(tep.getIpAddress().getValue()), this::getTepTransportZoneNames)); + .toMap(tep -> tep.getIpAddress().stringValue(), this::getTepTransportZoneNames)); LOG.trace("Transport zone prefixes {}", tepTzMap); handleRemovedLocalIps(mapDiff.entriesOnlyOnLeft(), dpId, zonePrefixes, tepTzMap, tx); @@ -351,7 +353,7 @@ public class TransportZoneNotificationUtil { private List getTepTransportZoneNames(TunnelEndPoints tep) { List tzMembershipList = tep.getTzMembership(); if (tzMembershipList == null) { - LOG.debug("No TZ membership exist for TEP ip {}", tep.getIpAddress().getValue()); + LOG.debug("No TZ membership exist for TEP ip {}", tep.getIpAddress().stringValue()); return Collections.emptyList(); } @@ -389,7 +391,7 @@ public class TransportZoneNotificationUtil { } if (localIp != null) { - IpAddress nodeIp = new IpAddress(localIp.toCharArray()); + IpAddress nodeIp = IpAddressBuilder.getDefaultInstance(localIp); VtepsBuilder vtepsBuilder = new VtepsBuilder().setDpnId(dpnId).setIpAddress(nodeIp) .setPortname(TUNNEL_PORT).setOptionOfTunnel(elanConfig.isUseOfTunnels()); subnets.getVteps().add(vtepsBuilder.build()); @@ -402,7 +404,7 @@ public class TransportZoneNotificationUtil { private void removeVtep(String zoneName, BigInteger dpId, @Nonnull WriteTransaction tx) { InstanceIdentifier path = InstanceIdentifier.builder(TransportZones.class) .child(TransportZone.class, new TransportZoneKey(zoneName)) - .child(Subnets.class, new SubnetsKey(new IpPrefix(ALL_SUBNETS.toCharArray()))) + .child(Subnets.class, new SubnetsKey(IpPrefixBuilder.getDefaultInstance(ALL_SUBNETS))) .child(Vteps.class, new VtepsKey(dpId, TUNNEL_PORT)).build(); tx.delete(LogicalDatastoreType.CONFIGURATION, path); } @@ -410,7 +412,7 @@ public class TransportZoneNotificationUtil { // search for relevant subnets for the given subnetIP, add one if it is // necessary private Subnets getOrAddSubnet(@Nonnull List subnets, @Nonnull String subnetIp) { - IpPrefix subnetPrefix = new IpPrefix(subnetIp.toCharArray()); + IpPrefix subnetPrefix = IpPrefixBuilder.getDefaultInstance(subnetIp); for (Subnets subnet : subnets) { if (subnet.getPrefix().equals(subnetPrefix)) { @@ -426,8 +428,8 @@ public class TransportZoneNotificationUtil { private Subnets buildSubnets(String subnetIp) { SubnetsBuilder subnetsBuilder = new SubnetsBuilder().setDeviceVteps(new ArrayList<>()) - .setGatewayIp(new IpAddress(ALL_SUBNETS_GW.toCharArray())) - .withKey(new SubnetsKey(new IpPrefix(subnetIp.toCharArray()))).setVlanId(0) + .setGatewayIp(IpAddressBuilder.getDefaultInstance(ALL_SUBNETS_GW)) + .withKey(new SubnetsKey(IpPrefixBuilder.getDefaultInstance(subnetIp))).setVlanId(0) .setVteps(new ArrayList<>()); return subnetsBuilder.build(); } diff --git a/elanmanager/impl/src/test/java/org/opendaylight/netvirt/elan/l2gw/nodehandlertest/NodeConnectedHandlerUtils.java b/elanmanager/impl/src/test/java/org/opendaylight/netvirt/elan/l2gw/nodehandlertest/NodeConnectedHandlerUtils.java index 37ac6ee41e..440e16482c 100644 --- a/elanmanager/impl/src/test/java/org/opendaylight/netvirt/elan/l2gw/nodehandlertest/NodeConnectedHandlerUtils.java +++ b/elanmanager/impl/src/test/java/org/opendaylight/netvirt/elan/l2gw/nodehandlertest/NodeConnectedHandlerUtils.java @@ -17,6 +17,7 @@ import java.util.UUID; import org.opendaylight.controller.md.sal.binding.api.WriteTransaction; import org.opendaylight.controller.md.sal.common.api.data.TransactionCommitFailedException; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress; +import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Address; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.hwvtep.rev150901.HwvtepGlobalAugmentation; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.hwvtep.rev150901.HwvtepGlobalAugmentationBuilder; @@ -77,7 +78,7 @@ public class NodeConnectedHandlerUtils { physicalSwitchAugmentationBuilder.setHwvtepNodeDescription("description"); List tunnelIps = new ArrayList<>(); - IpAddress ip = new IpAddress("192.168.122.30".toCharArray()); + IpAddress ip = new IpAddress(new Ipv4Address("192.168.122.30")); tunnelIps.add(new TunnelIpsBuilder().withKey(new TunnelIpsKey(ip)).setTunnelIpsKey(ip).build()); physicalSwitchAugmentationBuilder.setTunnelIps(tunnelIps); diff --git a/elanmanager/impl/src/test/java/org/opendaylight/netvirt/elan/l2gw/nodehandlertest/TestBuilders.java b/elanmanager/impl/src/test/java/org/opendaylight/netvirt/elan/l2gw/nodehandlertest/TestBuilders.java index 11b092e1a1..e971d78679 100644 --- a/elanmanager/impl/src/test/java/org/opendaylight/netvirt/elan/l2gw/nodehandlertest/TestBuilders.java +++ b/elanmanager/impl/src/test/java/org/opendaylight/netvirt/elan/l2gw/nodehandlertest/TestBuilders.java @@ -10,13 +10,11 @@ package org.opendaylight.netvirt.elan.l2gw.nodehandlertest; import com.google.common.base.Preconditions; import com.google.common.collect.ImmutableBiMap; import com.google.common.collect.ImmutableList; - import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.UUID; - -import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress; +import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddressBuilder; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Uri; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.MacAddress; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid; @@ -71,7 +69,7 @@ public final class TestBuilders { public static LocalUcastMacs buildLocalUcastMacs(InstanceIdentifier nodeIid, String vmMac, String vmip, String tepIp, String logicalSwitchName) { LocalUcastMacsBuilder ucmlBuilder = new LocalUcastMacsBuilder(); - ucmlBuilder.setIpaddr(new IpAddress(vmip.toCharArray())); + ucmlBuilder.setIpaddr(IpAddressBuilder.getDefaultInstance(vmip)); ucmlBuilder.setMacEntryKey(new MacAddress(vmMac)); ucmlBuilder.setMacEntryUuid(getUUid(vmMac)); ucmlBuilder.setLocatorRef(buildLocatorRef(nodeIid, tepIp)); @@ -82,7 +80,7 @@ public final class TestBuilders { public static RemoteUcastMacs buildRemoteUcastMacs(InstanceIdentifier nodeIid, String vmMac, String vmip, String tepIp, String logicalSwitchName) { RemoteUcastMacsBuilder ucmlBuilder = new RemoteUcastMacsBuilder(); - ucmlBuilder.setIpaddr(new IpAddress(vmip.toCharArray())); + ucmlBuilder.setIpaddr(IpAddressBuilder.getDefaultInstance(vmip)); ucmlBuilder.setMacEntryKey(new MacAddress(vmMac)); ucmlBuilder.setMacEntryUuid(getUUid(vmMac)); ucmlBuilder.setLocatorRef(buildLocatorRef(nodeIid, tepIp)); @@ -102,7 +100,7 @@ public final class TestBuilders { new HwvtepPhysicalLocatorAugmentationBuilder(); tpAugmentationBuilder.setPhysicalLocatorUuid(getUUid(ip)); tpAugmentationBuilder.setEncapsulationType(createEncapsulationType("vxlan_over_ipv4")); - tpAugmentationBuilder.setDstIp(new IpAddress(ip.toCharArray())); + tpAugmentationBuilder.setDstIp(IpAddressBuilder.getDefaultInstance(ip)); tpBuilder.addAugmentation(HwvtepPhysicalLocatorAugmentation.class, tpAugmentationBuilder.build()); } return tpBuilder.build(); diff --git a/elanmanager/impl/src/test/java/org/opendaylight/netvirt/elanmanager/tests/L2gwBuilders.java b/elanmanager/impl/src/test/java/org/opendaylight/netvirt/elanmanager/tests/L2gwBuilders.java index 9da17a36c1..e0d1dcd143 100644 --- a/elanmanager/impl/src/test/java/org/opendaylight/netvirt/elanmanager/tests/L2gwBuilders.java +++ b/elanmanager/impl/src/test/java/org/opendaylight/netvirt/elanmanager/tests/L2gwBuilders.java @@ -12,13 +12,13 @@ import static org.opendaylight.netvirt.elan.l2gw.nodehandlertest.NodeConnectedHa import java.util.ArrayList; import java.util.List; import java.util.UUID; - import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType; import org.opendaylight.controller.md.sal.common.api.data.TransactionCommitFailedException; import org.opendaylight.genius.datastoreutils.SingleTransactionDataBroker; import org.opendaylight.netvirt.elan.l2gw.nodehandlertest.GlobalAugmentationHelper; import org.opendaylight.netvirt.elan.l2gw.nodehandlertest.TestBuilders; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress; +import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddressBuilder; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Uri; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.MacAddress; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid; @@ -56,7 +56,7 @@ import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; public class L2gwBuilders { - private SingleTransactionDataBroker singleTransactionDataBroker; + private final SingleTransactionDataBroker singleTransactionDataBroker; public L2gwBuilders(SingleTransactionDataBroker singleTransactionDataBroker) { this.singleTransactionDataBroker = singleTransactionDataBroker; @@ -156,7 +156,7 @@ public class L2gwBuilders { physicalSwitchAugmentationBuilder.setHwvtepNodeName(new HwvtepNodeName(deviceName)); physicalSwitchAugmentationBuilder.setHwvtepNodeDescription("torNode"); List tunnelIps = new ArrayList<>(); - IpAddress ip = new IpAddress(tepIp.toCharArray()); + IpAddress ip = IpAddressBuilder.getDefaultInstance(tepIp); tunnelIps.add(new TunnelIpsBuilder().withKey(new TunnelIpsKey(ip)).setTunnelIpsKey(ip).build()); physicalSwitchAugmentationBuilder.setTunnelIps(tunnelIps); nodeBuilder.addAugmentation(PhysicalSwitchAugmentation.class, physicalSwitchAugmentationBuilder.build()); @@ -179,7 +179,7 @@ public class L2gwBuilders { nodeBuilder.setNodeId(nodeId.firstKeyOf(Node.class).getNodeId()); final List localUcastMacses = new ArrayList<>(); LocalUcastMacsBuilder localUcastMacsBuilder = new LocalUcastMacsBuilder(); - localUcastMacsBuilder.setIpaddr(new IpAddress(ipAddr.toCharArray())); + localUcastMacsBuilder.setIpaddr(IpAddressBuilder.getDefaultInstance(ipAddr)); localUcastMacsBuilder.setMacEntryKey(new MacAddress(mac)); localUcastMacsBuilder.setMacEntryUuid(getUUid(mac)); localUcastMacsBuilder.setLocatorRef(TestBuilders.buildLocatorRef(nodeId, tepIp)); diff --git a/fibmanager/impl/src/main/java/org/opendaylight/netvirt/fibmanager/FibUtil.java b/fibmanager/impl/src/main/java/org/opendaylight/netvirt/fibmanager/FibUtil.java index 7fb4da33aa..42067f4ae9 100644 --- a/fibmanager/impl/src/main/java/org/opendaylight/netvirt/fibmanager/FibUtil.java +++ b/fibmanager/impl/src/main/java/org/opendaylight/netvirt/fibmanager/FibUtil.java @@ -23,7 +23,6 @@ import java.util.concurrent.ExecutionException; import java.util.concurrent.Future; import javax.inject.Inject; import javax.inject.Singleton; - import org.opendaylight.controller.md.sal.binding.api.DataBroker; import org.opendaylight.controller.md.sal.binding.api.WriteTransaction; import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType; @@ -629,7 +628,7 @@ public class FibUtil { if (tunnelInfo.isPresent()) { List nexthopIpList = tunnelInfo.get().getTunnelEndPoints(); if (nexthopIpList != null && !nexthopIpList.isEmpty()) { - nextHopIp = String.valueOf(nexthopIpList.get(0).getIpAddress().getValue()); + nextHopIp = nexthopIpList.get(0).getIpAddress().stringValue(); } } return nextHopIp; diff --git a/fibmanager/impl/src/main/java/org/opendaylight/netvirt/fibmanager/NexthopManager.java b/fibmanager/impl/src/main/java/org/opendaylight/netvirt/fibmanager/NexthopManager.java index 1b6434570a..07d77ca12e 100644 --- a/fibmanager/impl/src/main/java/org/opendaylight/netvirt/fibmanager/NexthopManager.java +++ b/fibmanager/impl/src/main/java/org/opendaylight/netvirt/fibmanager/NexthopManager.java @@ -54,7 +54,7 @@ import org.opendaylight.netvirt.fibmanager.api.L3VPNTransportTypes; import org.opendaylight.netvirt.vpnmanager.api.VpnExtraRouteHelper; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.iana._if.type.rev140508.L2vlan; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.iana._if.type.rev140508.Tunnel; -import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress; +import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddressBuilder; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.InterfaceType; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces.state.Interface; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces.state.Interface.OperStatus; @@ -334,7 +334,7 @@ public class NexthopManager implements AutoCloseable { Future> result; try { LOG.debug("Trying to fetch tunnel interface name for source dpn {} destIp {} tunType {}", srcDpId, - dstIp.getValue(), tunnelType.getName()); + dstIp.stringValue(), tunnelType.getName()); result = itmManager.getInternalOrExternalInterfaceName(new GetInternalOrExternalInterfaceNameInputBuilder() .setSourceDpid(srcDpId) .setDestinationIp(dstIp) @@ -1128,7 +1128,8 @@ public class NexthopManager implements AutoCloseable { listAction.add(new ActionPushMpls().buildAction()); listAction.add(new ActionRegMove(actionKey++, FibConstants.NXM_REG_MAPPING .get(index), 0, 19).buildAction()); - String tunnelInterfaceName = getTunnelInterfaceName(dpnId, new IpAddress(ipAddress.toCharArray()), tunnelType); + String tunnelInterfaceName = getTunnelInterfaceName(dpnId, IpAddressBuilder.getDefaultInstance(ipAddress), + tunnelType); List egressActions = getEgressActions(tunnelInterfaceName, actionKey++); if (!egressActions.isEmpty()) { listAction.addAll(getEgressActions(tunnelInterfaceName, actionKey++)); diff --git a/ipv6service/impl/src/main/java/org/opendaylight/netvirt/ipv6service/Ipv6RouterAdvt.java b/ipv6service/impl/src/main/java/org/opendaylight/netvirt/ipv6service/Ipv6RouterAdvt.java index ea22d761b5..3efa575a63 100644 --- a/ipv6service/impl/src/main/java/org/opendaylight/netvirt/ipv6service/Ipv6RouterAdvt.java +++ b/ipv6service/impl/src/main/java/org/opendaylight/netvirt/ipv6service/Ipv6RouterAdvt.java @@ -84,9 +84,9 @@ public class Ipv6RouterAdvt { return true; } - private void updateRAResponse(Ipv6RouterAdvertisementType raType, RouterSolicitationPacket pdu, - RouterAdvertisementPacketBuilder raPacket, - VirtualPort routerPort) { + private static void updateRAResponse(Ipv6RouterAdvertisementType raType, RouterSolicitationPacket pdu, + RouterAdvertisementPacketBuilder raPacket, + VirtualPort routerPort) { short icmpv6RaFlags = 0; String gatewayMac = null; IpAddress gatewayIp; @@ -102,11 +102,11 @@ public class Ipv6RouterAdvt { if (!subnet.getIpv6RAMode().isEmpty()) { if (Ipv6ServiceConstants.IPV6_AUTO_ADDRESS_SUBNETS.contains(subnet.getIpv6RAMode())) { - autoConfigPrefixList.add(String.valueOf(subnet.getSubnetCidr().getValue())); + autoConfigPrefixList.add(subnet.getSubnetCidr().stringValue()); } if (subnet.getIpv6RAMode().equalsIgnoreCase(Ipv6ServiceConstants.IPV6_DHCPV6_STATEFUL)) { - statefulConfigPrefixList.add(String.valueOf(subnet.getSubnetCidr().getValue())); + statefulConfigPrefixList.add(subnet.getSubnetCidr().stringValue()); } } diff --git a/ipv6service/impl/src/test/java/org/opendaylight/netvirt/ipv6service/Ipv6PktHandlerTest.java b/ipv6service/impl/src/test/java/org/opendaylight/netvirt/ipv6service/Ipv6PktHandlerTest.java index b956f3649c..a7d4593efa 100644 --- a/ipv6service/impl/src/test/java/org/opendaylight/netvirt/ipv6service/Ipv6PktHandlerTest.java +++ b/ipv6service/impl/src/test/java/org/opendaylight/netvirt/ipv6service/Ipv6PktHandlerTest.java @@ -28,6 +28,7 @@ import org.opendaylight.netvirt.ipv6service.utils.Ipv6ServiceConstants; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpPrefix; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6Address; +import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6Prefix; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.MacAddress; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid; import org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.list.Action; @@ -308,7 +309,7 @@ public class Ipv6PktHandlerTest { when(gwIpAddress.getIpv6Address()).thenReturn(new Ipv6Address("2001:db8::1")); VirtualSubnet v6Subnet = VirtualSubnet.builder().gatewayIp(gwIpAddress) - .subnetCidr(new IpPrefix("2001:db8::/64".toCharArray())) + .subnetCidr(new IpPrefix(new Ipv6Prefix("2001:db8::/64"))) .ipv6AddressMode(Ipv6ServiceConstants.IPV6_SLAAC).ipv6RAMode(Ipv6ServiceConstants.IPV6_SLAAC).build(); VirtualRouter virtualRouter = VirtualRouter.builder().build(); @@ -399,19 +400,19 @@ public class Ipv6PktHandlerTest { when(gwIpAddress.getIpv6Address()).thenReturn(new Ipv6Address("2001:db8:1111::1")); VirtualSubnet v6Subnet1 = VirtualSubnet.builder().gatewayIp(gwIpAddress) - .subnetCidr(new IpPrefix("2001:db8:1111::/64".toCharArray())) + .subnetCidr(new IpPrefix(new Ipv6Prefix("2001:db8:1111::/64"))) .ipv6AddressMode(Ipv6ServiceConstants.IPV6_SLAAC).ipv6RAMode(Ipv6ServiceConstants.IPV6_SLAAC).build(); VirtualRouter virtualRouter = VirtualRouter.builder().build(); v6Subnet1.setRouter(virtualRouter); VirtualSubnet v6Subnet2 = VirtualSubnet.builder().gatewayIp(gwIpAddress) - .subnetCidr(new IpPrefix("2001:db8:2222::/64".toCharArray())) + .subnetCidr(new IpPrefix(new Ipv6Prefix("2001:db8:2222::/64"))) .ipv6AddressMode(Ipv6ServiceConstants.IPV6_DHCPV6_STATELESS) .ipv6RAMode(Ipv6ServiceConstants.IPV6_DHCPV6_STATELESS).build(); v6Subnet2.setRouter(virtualRouter); VirtualSubnet v6Subnet3 = VirtualSubnet.builder().gatewayIp(gwIpAddress) - .subnetCidr(new IpPrefix("2001:db8:3333::/64".toCharArray())) + .subnetCidr(new IpPrefix(new Ipv6Prefix("2001:db8:3333::/64"))) .ipv6AddressMode(Ipv6ServiceConstants.IPV6_DHCPV6_STATEFUL) .ipv6RAMode(Ipv6ServiceConstants.IPV6_DHCPV6_STATEFUL).build(); v6Subnet3.setRouter(virtualRouter); diff --git a/ipv6service/shell/src/main/java/org/opendaylight/netvirt/ipv6service/shell/ShowIpv6Command.java b/ipv6service/shell/src/main/java/org/opendaylight/netvirt/ipv6service/shell/ShowIpv6Command.java index a266db1895..7838841a13 100644 --- a/ipv6service/shell/src/main/java/org/opendaylight/netvirt/ipv6service/shell/ShowIpv6Command.java +++ b/ipv6service/shell/src/main/java/org/opendaylight/netvirt/ipv6service/shell/ShowIpv6Command.java @@ -32,7 +32,7 @@ public class ShowIpv6Command extends OsgiCommandSupport { this.elementCache = elementCache; } - private String getPortIpv6Addresses(IVirtualPort vport) { + private static String getPortIpv6Addresses(IVirtualPort vport) { List ipv6Addresses = vport.getIpv6Addresses(); return ipv6Addresses.stream().map(Ipv6Address::getValue).collect(Collectors.joining(" ")); } @@ -59,9 +59,8 @@ public class ShowIpv6Command extends OsgiCommandSupport { int count = 1; List vsubnets = elementCache.getSubnetCache(); for (IVirtualSubnet vsubnet : vsubnets) { - tp.addRow(count++, String.valueOf(vsubnet.getSubnetUUID().getValue()), - String.valueOf(vsubnet.getSubnetCidr().getValue()), - vsubnet.getIpVersion()); + tp.addRow(count++, String.valueOf(vsubnet.getSubnetUUID().getValue()), + vsubnet.getSubnetCidr().stringValue(), vsubnet.getIpVersion()); } session.getConsole().print(tp.toString()); } else if (listResource.equalsIgnoreCase("routers") diff --git a/natservice/impl/src/main/java/org/opendaylight/netvirt/natservice/internal/ConntrackBasedSnatService.java b/natservice/impl/src/main/java/org/opendaylight/netvirt/natservice/internal/ConntrackBasedSnatService.java index 65608d17e9..c334240dbc 100644 --- a/natservice/impl/src/main/java/org/opendaylight/netvirt/natservice/internal/ConntrackBasedSnatService.java +++ b/natservice/impl/src/main/java/org/opendaylight/netvirt/natservice/internal/ConntrackBasedSnatService.java @@ -49,7 +49,7 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.l3vpn.rev130911.vpn import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.natservice.rev160111.ext.routers.Routers; import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.natservice.rev160111.ext.routers.routers.ExternalIps; import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.natservice.rev160111.external.subnets.Subnets; -import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.types.rev160517.IpPrefixOrAddress; +import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.types.rev160517.IpPrefixOrAddressBuilder; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.NxActionNatFlags; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.NxActionNatRangePresent; import org.slf4j.Logger; @@ -280,8 +280,7 @@ public abstract class ConntrackBasedSnatService extends AbstractSnatService { int rangePresent = NxActionNatRangePresent.NXNATRANGEIPV4MIN.getIntValue(); int flags = NxActionNatFlags.NXNATFSRC.getIntValue(); NxCtAction nxCtActionCommit = new ActionNxConntrack.NxNat(0, flags, rangePresent, - new IpPrefixOrAddress(externalIp.toCharArray()).getIpAddress(), - null,0, 0); + IpPrefixOrAddressBuilder.getDefaultInstance(externalIp).getIpAddress(), null,0, 0); ctActionsListCommit.add(nxCtActionCommit); int ctCommitFlag = 1; ActionNxConntrack actionNxConntrackSubmit = new ActionNxConntrack(ctCommitFlag, 0, elanId, diff --git a/natservice/impl/src/main/java/org/opendaylight/netvirt/natservice/internal/NatTunnelInterfaceStateListener.java b/natservice/impl/src/main/java/org/opendaylight/netvirt/natservice/internal/NatTunnelInterfaceStateListener.java index 0abce428a9..5df13fae32 100644 --- a/natservice/impl/src/main/java/org/opendaylight/netvirt/natservice/internal/NatTunnelInterfaceStateListener.java +++ b/natservice/impl/src/main/java/org/opendaylight/netvirt/natservice/internal/NatTunnelInterfaceStateListener.java @@ -324,8 +324,8 @@ public class NatTunnelInterfaceStateListener private void hndlTepEvntsForDpn(StateTunnelList stateTunnelList, TunnelAction tunnelAction) { final BigInteger srcDpnId = new BigInteger(stateTunnelList.getSrcInfo().getTepDeviceId()); - final String srcTepIp = String.valueOf(stateTunnelList.getSrcInfo().getTepIp().getValue()); - final String destTepIp = String.valueOf(stateTunnelList.getDstInfo().getTepIp().getValue()); + final String srcTepIp = stateTunnelList.getSrcInfo().getTepIp().stringValue(); + final String destTepIp = stateTunnelList.getDstInfo().getTepIp().stringValue(); LOG.trace("hndlTepEvntsForDpn : Handle tunnel event for srcDpn {} SrcTepIp {} DestTepIp {} ", srcDpnId, srcTepIp, destTepIp); int tunTypeVal = getTunnelType(stateTunnelList); diff --git a/natservice/impl/src/main/java/org/opendaylight/netvirt/natservice/internal/NatUtil.java b/natservice/impl/src/main/java/org/opendaylight/netvirt/natservice/internal/NatUtil.java index 3384cf5c25..996c87ad1f 100644 --- a/natservice/impl/src/main/java/org/opendaylight/netvirt/natservice/internal/NatUtil.java +++ b/natservice/impl/src/main/java/org/opendaylight/netvirt/natservice/internal/NatUtil.java @@ -80,7 +80,7 @@ import org.opendaylight.yang.gen.v1.urn.huawei.params.xml.ns.yang.l3vpn.rev14081 import org.opendaylight.yang.gen.v1.urn.huawei.params.xml.ns.yang.l3vpn.rev140815.vpn.interfaces.VpnInterface; import org.opendaylight.yang.gen.v1.urn.huawei.params.xml.ns.yang.l3vpn.rev140815.vpn.interfaces.VpnInterfaceKey; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress; -import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpPrefix; +import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpPrefixBuilder; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces.state.Interface; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid; import org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.action.OutputActionCase; @@ -1542,7 +1542,7 @@ public final class NatUtil { } public static boolean isIPv6Subnet(String prefix) { - return new IpPrefix(prefix.toCharArray()).getIpv6Prefix() != null; + return IpPrefixBuilder.getDefaultInstance(prefix).getIpv6Prefix() != null; } static InstanceIdentifier getDpnRoutersId(BigInteger dpnId) { diff --git a/natservice/impl/src/main/java/org/opendaylight/netvirt/natservice/internal/VxlanGreConntrackBasedSnatService.java b/natservice/impl/src/main/java/org/opendaylight/netvirt/natservice/internal/VxlanGreConntrackBasedSnatService.java index fa75cbeebf..9cc0298dc9 100644 --- a/natservice/impl/src/main/java/org/opendaylight/netvirt/natservice/internal/VxlanGreConntrackBasedSnatService.java +++ b/natservice/impl/src/main/java/org/opendaylight/netvirt/natservice/internal/VxlanGreConntrackBasedSnatService.java @@ -11,7 +11,6 @@ import java.math.BigInteger; import java.util.ArrayList; import java.util.Collections; import java.util.List; - import org.opendaylight.controller.md.sal.binding.api.DataBroker; import org.opendaylight.genius.datastoreutils.listeners.DataTreeEventCallbackRegistrar; import org.opendaylight.genius.infra.Datastore.Configuration; @@ -53,7 +52,7 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.group.types.rev131018.Group import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.natservice.rev160111.ProviderTypes; import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.natservice.rev160111.ext.routers.Routers; import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.natservice.rev160111.ext.routers.routers.ExternalIps; -import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.types.rev160517.IpPrefixOrAddress; +import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.types.rev160517.IpPrefixOrAddressBuilder; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.NxActionNatFlags; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.NxActionNatRangePresent; import org.slf4j.Logger; @@ -265,8 +264,7 @@ public class VxlanGreConntrackBasedSnatService extends ConntrackBasedSnatService int rangePresent = NxActionNatRangePresent.NXNATRANGEIPV4MIN.getIntValue(); int flags = NxActionNatFlags.NXNATFSRC.getIntValue(); ActionNxConntrack.NxCtAction nxCtActionCommit = new ActionNxConntrack.NxNat(0, flags, rangePresent, - new IpPrefixOrAddress(externalIp.toCharArray()).getIpAddress(), - null,0, 0); + IpPrefixOrAddressBuilder.getDefaultInstance(externalIp).getIpAddress(), null,0, 0); ctActionsListCommit.add(nxCtActionCommit); int ctCommitFlag = 1; ActionNxConntrack actionNxConntrackSubmit = new ActionNxConntrack(ctCommitFlag, 0, elanId, diff --git a/natservice/impl/src/main/java/org/opendaylight/netvirt/natservice/rpcservice/NatRpcServiceImpl.java b/natservice/impl/src/main/java/org/opendaylight/netvirt/natservice/rpcservice/NatRpcServiceImpl.java index 1e828a0c4b..1e64f03205 100644 --- a/natservice/impl/src/main/java/org/opendaylight/netvirt/natservice/rpcservice/NatRpcServiceImpl.java +++ b/natservice/impl/src/main/java/org/opendaylight/netvirt/natservice/rpcservice/NatRpcServiceImpl.java @@ -117,7 +117,7 @@ public class NatRpcServiceImpl implements OdlNatRpcService { public ListenableFuture> getNatTranslationsForNetworkAndIpaddress(GetNatTranslationsForNetworkAndIpaddressInput input) { - String ipAddress = String.valueOf(input.getIpAddress().getValue()); + String ipAddress = input.getIpAddress().stringValue(); RpcResultBuilder rpcResultBuilder = null; GetNatTranslationsForNetworkAndIpaddressOutputBuilder output = null; @@ -136,8 +136,8 @@ public class NatRpcServiceImpl implements OdlNatRpcService { subNet = nvpnManager.getNeutronSubnet(subnetUuid); for (AllocationPools allocationPool : subNet.getAllocationPools()) { if (NatUtil.isIpInSubnet(ipAddress, - String.valueOf(allocationPool.getStart().getValue()), - String.valueOf(allocationPool.getEnd().getValue()))) { + allocationPool.getStart().stringValue(), + allocationPool.getEnd().stringValue())) { LOG.debug("getNatTranslationsForNetworkAndIpaddress : IP Adderess {} falls within the Subnet {}", ipAddress, subNet.getUuid().getValue()); isIpInSubnet = Boolean.TRUE; diff --git a/neutronvpn/api/src/main/java/org/opendaylight/netvirt/neutronvpn/api/l2gw/L2GatewayDevice.java b/neutronvpn/api/src/main/java/org/opendaylight/netvirt/neutronvpn/api/l2gw/L2GatewayDevice.java index 8f686b2bb8..988f626dba 100644 --- a/neutronvpn/api/src/main/java/org/opendaylight/netvirt/neutronvpn/api/l2gw/L2GatewayDevice.java +++ b/neutronvpn/api/src/main/java/org/opendaylight/netvirt/neutronvpn/api/l2gw/L2GatewayDevice.java @@ -271,7 +271,7 @@ public class L2GatewayDevice { public String toString() { List lstTunnelIps = new ArrayList<>(); for (IpAddress ip : this.tunnelIps) { - lstTunnelIps.add(String.valueOf(ip.getValue())); + lstTunnelIps.add(ip.stringValue()); } List lstMacs = diff --git a/neutronvpn/impl/src/main/java/org/opendaylight/netvirt/neutronvpn/NeutronPortChangeListener.java b/neutronvpn/impl/src/main/java/org/opendaylight/netvirt/neutronvpn/NeutronPortChangeListener.java index 2c5fd96567..f313e1921d 100644 --- a/neutronvpn/impl/src/main/java/org/opendaylight/netvirt/neutronvpn/NeutronPortChangeListener.java +++ b/neutronvpn/impl/src/main/java/org/opendaylight/netvirt/neutronvpn/NeutronPortChangeListener.java @@ -15,7 +15,6 @@ import com.google.gson.Gson; import com.google.gson.JsonArray; import com.google.gson.JsonElement; import com.google.gson.JsonObject; - import java.time.Duration; import java.util.ArrayList; import java.util.Collections; @@ -302,7 +301,7 @@ public class NeutronPortChangeListener extends AsyncDataTreeChangeListenerBase

{ // add direct port to subnetMaps config DS if (!(NeutronUtils.isPortVnicTypeNormal(port) - || (isPortTypeSwitchdev(port) - && isSupportedVnicTypeByHost(port, NeutronConstants.VNIC_TYPE_DIRECT)))) { + || isPortTypeSwitchdev(port) + && isSupportedVnicTypeByHost(port, NeutronConstants.VNIC_TYPE_DIRECT))) { for (FixedIps ip: portIpAddrsList) { nvpnManager.updateSubnetmapNodeWithPorts(ip.getSubnetId(), null, portId); } @@ -674,7 +673,7 @@ public class NeutronPortChangeListener extends AsyncDataTreeChangeListenerBase

newVpnIds = new HashSet(); + Set newVpnIds = new HashSet<>(); Set newRouterIds = new HashSet<>(); for (Uuid snId: updateSnMapsIds) { Subnetmap subnetMapNew = nvpnManager.updateSubnetmapNodeWithPorts(snId, portupdate.getUuid(), null); diff --git a/neutronvpn/impl/src/main/java/org/opendaylight/netvirt/neutronvpn/NeutronRouterChangeListener.java b/neutronvpn/impl/src/main/java/org/opendaylight/netvirt/neutronvpn/NeutronRouterChangeListener.java index e30555f17a..e054a855f7 100644 --- a/neutronvpn/impl/src/main/java/org/opendaylight/netvirt/neutronvpn/NeutronRouterChangeListener.java +++ b/neutronvpn/impl/src/main/java/org/opendaylight/netvirt/neutronvpn/NeutronRouterChangeListener.java @@ -146,7 +146,7 @@ public class NeutronRouterChangeListener extends AsyncDataTreeChangeListenerBase List otherRoutes = new ArrayList<>(); HashMap nexthopsXinterVpnLinks = new HashMap<>(); for (Routes route : routes) { - String nextHop = String.valueOf(route.getNexthop().getValue()); + String nextHop = route.getNexthop().stringValue(); // Nexthop is another VPN? Optional interVpnLink = neutronvpnUtils.getInterVpnLinkByEndpointIp(nextHop); if (interVpnLink.isPresent()) { @@ -158,7 +158,7 @@ public class NeutronRouterChangeListener extends AsyncDataTreeChangeListenerBase nexthopsXinterVpnLinks.put(nextHop, interVpnLink.get()); } else { LOG.error("Failed installing route to {}. Reason: InterVPNLink {} is not Active", - String.valueOf(route.getDestination().getValue()), interVpnLink.get().getName()); + route.getDestination().stringValue(), interVpnLink.get().getName()); } } else { otherRoutes.add(route); diff --git a/neutronvpn/impl/src/main/java/org/opendaylight/netvirt/neutronvpn/NeutronSubnetChangeListener.java b/neutronvpn/impl/src/main/java/org/opendaylight/netvirt/neutronvpn/NeutronSubnetChangeListener.java index ba6758f77c..d618f17126 100644 --- a/neutronvpn/impl/src/main/java/org/opendaylight/netvirt/neutronvpn/NeutronSubnetChangeListener.java +++ b/neutronvpn/impl/src/main/java/org/opendaylight/netvirt/neutronvpn/NeutronSubnetChangeListener.java @@ -105,7 +105,7 @@ public class NeutronSubnetChangeListener extends AsyncDataTreeChangeListenerBase subnetId.getValue(), network); return; } - handleNeutronSubnetDeleted(subnetId, networkId, String.valueOf(input.getCidr().getValue())); + handleNeutronSubnetDeleted(subnetId, networkId, input.getCidr().stringValue()); externalSubnetHandler.handleExternalSubnetRemoved(network, subnetId); neutronvpnUtils.removeFromSubnetCache(input); } @@ -121,8 +121,7 @@ public class NeutronSubnetChangeListener extends AsyncDataTreeChangeListenerBase Uuid subnetId = subnet.getUuid(); ProviderTypes providerType = NeutronvpnUtils.getProviderNetworkType(network); String segmentationId = NeutronvpnUtils.getSegmentationIdFromNeutronNetwork(network); - nvpnManager.createSubnetmapNode(subnetId, String.valueOf(subnet.getCidr().getValue()), - subnet.getTenantId(), networkId, + nvpnManager.createSubnetmapNode(subnetId, subnet.getCidr().stringValue(), subnet.getTenantId(), networkId, providerType != null ? NetworkAttributes.NetworkType.valueOf(providerType.getName()) : null, segmentationId != null ? Long.parseLong(segmentationId) : 0L); createSubnetToNetworkMapping(subnetId, networkId); diff --git a/neutronvpn/impl/src/main/java/org/opendaylight/netvirt/neutronvpn/NeutronvpnManager.java b/neutronvpn/impl/src/main/java/org/opendaylight/netvirt/neutronvpn/NeutronvpnManager.java index 1619d5f9bf..ebf370d56d 100644 --- a/neutronvpn/impl/src/main/java/org/opendaylight/netvirt/neutronvpn/NeutronvpnManager.java +++ b/neutronvpn/impl/src/main/java/org/opendaylight/netvirt/neutronvpn/NeutronvpnManager.java @@ -798,7 +798,7 @@ public class NeutronvpnManager implements NeutronvpnService, AutoCloseable, Even String infName = port.getUuid().getValue(); LOG.trace("neutronVpnManager: create config adjacencies for Port: {}", infName); for (FixedIps ip : port.getFixedIps()) { - String ipValue = String.valueOf(ip.getIpAddress().getValue()); + String ipValue = ip.getIpAddress().stringValue(); String ipPrefix = ip.getIpAddress().getIpv4Address() != null ? ipValue + "/32" : ipValue + "/128"; if (sn != null && !FibHelper.doesPrefixBelongToSubnet(ipPrefix, sn.getSubnetIp(), false)) { continue; @@ -1028,7 +1028,7 @@ public class NeutronvpnManager implements NeutronvpnService, AutoCloseable, Even } List ips = port.getFixedIps(); for (FixedIps ip : ips) { - String ipValue = String.valueOf(ip.getIpAddress().getValue()); + String ipValue = ip.getIpAddress().stringValue(); neutronvpnUtils.removeVpnPortFixedIpToPort(vpnId.getValue(), ipValue, writeConfigTxn); } @@ -1106,7 +1106,7 @@ public class NeutronvpnManager implements NeutronvpnService, AutoCloseable, Even } List ips = port.getFixedIps(); for (FixedIps ip : ips) { - String ipValue = String.valueOf(ip.getIpAddress().getValue()); + String ipValue = ip.getIpAddress().stringValue(); if (oldVpnId != null) { neutronvpnUtils.removeVpnPortFixedIpToPort(oldVpnId.getValue(), ipValue, writeConfigTxn); @@ -1406,8 +1406,8 @@ public class NeutronvpnManager implements NeutronvpnService, AutoCloseable, Even vpnIdentifier); // eliminating implicitly created (router or VLAN provider external network specific) VPN from // getL3VPN output - if (optionalVpn.isPresent() && (optionalVpn.get().getIpv4Family().getRouteDistinguisher() != null) - || (optionalVpn.get().getIpv6Family().getRouteDistinguisher() != null)) { + if (optionalVpn.isPresent() && optionalVpn.get().getIpv4Family().getRouteDistinguisher() != null + || optionalVpn.get().getIpv6Family().getRouteDistinguisher() != null) { vpns.add(optionalVpn.get()); } else { result.set( @@ -1888,8 +1888,8 @@ public class NeutronvpnManager implements NeutronvpnService, AutoCloseable, Even public void addInterVpnRoutes(Uuid vpnName, List interVpnLinkRoutes, HashMap nexthopsXinterVpnLinks) { for (Routes route : interVpnLinkRoutes) { - String nexthop = String.valueOf(route.getNexthop().getValue()); - String destination = String.valueOf(route.getDestination().getValue()); + String nexthop = route.getNexthop().stringValue(); + String destination = route.getDestination().stringValue(); InterVpnLink interVpnLink = nexthopsXinterVpnLinks.get(nexthop); if (isNexthopTheOtherVpnLinkEndpoint(nexthop, vpnName.getValue(), interVpnLink)) { AddStaticRouteInput rpcInput = @@ -1914,7 +1914,7 @@ public class NeutronvpnManager implements NeutronvpnService, AutoCloseable, Even } else { // Any other case is a fault. LOG.warn("route with destination {} and nexthop {} does not apply to any InterVpnLink", - String.valueOf(route.getDestination().getValue()), nexthop); + route.getDestination().stringValue(), nexthop); continue; } } @@ -1931,8 +1931,8 @@ public class NeutronvpnManager implements NeutronvpnService, AutoCloseable, Even public void removeInterVpnRoutes(Uuid vpnName, List interVpnLinkRoutes, HashMap nexthopsXinterVpnLinks) { for (Routes route : interVpnLinkRoutes) { - String nexthop = String.valueOf(route.getNexthop().getValue()); - String destination = String.valueOf(route.getDestination().getValue()); + String nexthop = route.getNexthop().stringValue(); + String destination = route.getDestination().stringValue(); InterVpnLink interVpnLink = nexthopsXinterVpnLinks.get(nexthop); if (isNexthopTheOtherVpnLinkEndpoint(nexthop, vpnName.getValue(), interVpnLink)) { RemoveStaticRouteInput rpcInput = @@ -1945,7 +1945,7 @@ public class NeutronvpnManager implements NeutronvpnService, AutoCloseable, Even } else { // Any other case is a fault. LOG.warn("route with destination {} and nexthop {} does not apply to any InterVpnLink", - String.valueOf(route.getDestination().getValue()), nexthop); + route.getDestination().stringValue(), nexthop); continue; } } @@ -1972,8 +1972,8 @@ public class NeutronvpnManager implements NeutronvpnService, AutoCloseable, Even if (route == null || route.getNexthop() == null || route.getDestination() == null) { LOG.error("Incorrect input received for extra route. {}", route); } else { - String nextHop = String.valueOf(route.getNexthop().getValue()); - String destination = String.valueOf(route.getDestination().getValue()); + String nextHop = route.getNexthop().stringValue(); + String destination = route.getDestination().stringValue(); if (!nextHop.equals(fixedIp)) { LOG.trace("FixedIP {} is not extra route nexthop for destination {}", fixedIp, destination); continue; @@ -2005,8 +2005,8 @@ public class NeutronvpnManager implements NeutronvpnService, AutoCloseable, Even if (route == null || route.getNexthop() == null || route.getDestination() == null) { LOG.error("Incorrect input received for extra route. {}", route); } else { - String nextHop = String.valueOf(route.getNexthop().getValue()); - String destination = String.valueOf(route.getDestination().getValue()); + String nextHop = route.getNexthop().stringValue(); + String destination = route.getDestination().stringValue(); String infName = neutronvpnUtils.getNeutronPortNameFromVpnPortFixedIp(vpnId.getValue(), nextHop); if (infName != null) { @@ -2079,22 +2079,22 @@ public class NeutronvpnManager implements NeutronvpnService, AutoCloseable, Even } for (Routes route : routeList) { // count the number of nexthops for each same route.getDestingation().getValue() - String destination = String.valueOf(route.getDestination().getValue()); - String nextHop = String.valueOf(route.getNexthop().getValue()); - List nextHopList = new ArrayList(); + String destination = route.getDestination().stringValue(); + String nextHop = route.getNexthop().stringValue(); + List nextHopList = new ArrayList<>(); nextHopList.add(nextHop); int nbNextHops = 0; for (Routes routeTmp : routeList) { - String routeDest = String.valueOf(routeTmp.getDestination().getValue()); + String routeDest = routeTmp.getDestination().stringValue(); if (!destination.equals(routeDest)) { continue; } - String routeNextH = String.valueOf(routeTmp.getNexthop().getValue()); + String routeNextH = routeTmp.getNexthop().stringValue(); if (nextHop.equals(routeNextH)) { continue; } nbNextHops++; - nextHopList.add(new String(routeTmp.getNexthop().getValue())); + nextHopList.add(routeTmp.getNexthop().stringValue()); } final List rdList = new ArrayList<>(); if (vpnInstance.getIpv4Family() != null @@ -2130,7 +2130,7 @@ public class NeutronvpnManager implements NeutronvpnService, AutoCloseable, Even // 4. Prefix in question detailsAlarm.append(" for prefix: "); - detailsAlarm.append(route.getDestination().getValue()); + detailsAlarm.append(route.getDestination().stringValue()); // 5. List of NHs for the prefix detailsAlarm.append(" for nextHops: "); @@ -2153,8 +2153,8 @@ public class NeutronvpnManager implements NeutronvpnService, AutoCloseable, Even for (Routes route : routeList) { if (route != null && route.getNexthop() != null && route.getDestination() != null) { boolean isLockAcquired = false; - String nextHop = String.valueOf(route.getNexthop().getValue()); - String destination = String.valueOf(route.getDestination().getValue()); + String nextHop = route.getNexthop().stringValue(); + String destination = route.getDestination().stringValue(); String infName = neutronvpnUtils.getNeutronPortNameFromVpnPortFixedIp(vpnId.getValue(), nextHop); if (infName == null) { @@ -2383,7 +2383,7 @@ public class NeutronvpnManager implements NeutronvpnService, AutoCloseable, Even + "another VPN %s", nw.getValue(), networkVpnId.getValue())); continue; } - if (neutronvpnUtils.getIsExternal(network) && !associateExtNetworkToVpn(vpnId, network)) { + if (NeutronvpnUtils.getIsExternal(network) && !associateExtNetworkToVpn(vpnId, network)) { LOG.error("associateNetworksToVpn: Failed to associate Provider Network {} with VPN {}", nw.getValue(), vpnId.getValue()); failedNwList.add(String.format("Failed to associate Provider Network %s with VPN %s", @@ -2412,7 +2412,7 @@ public class NeutronvpnManager implements NeutronvpnService, AutoCloseable, Even neutronvpnUtils.updateVpnInstanceWithIpFamily(vpnId.getValue(), NeutronvpnUtils.getIpVersionFromString(subnetmap.getSubnetIp()), true); } - if (!neutronvpnUtils.getIsExternal(network)) { + if (!NeutronvpnUtils.getIsExternal(network)) { LOG.debug("associateNetworksToVpn: Add subnet {} to VPN {}", subnetId.getValue(), vpnId.getValue()); addSubnetToVpn(vpnId, subnetId, null); @@ -2525,7 +2525,7 @@ public class NeutronvpnManager implements NeutronvpnService, AutoCloseable, Even Subnetmap subnetmap = neutronvpnUtils.getSubnetmap(subnet); if (neutronvpnUtils.shouldVpnHandleIpVersionChangeToRemove(subnetmap, vpnId)) { IpVersionChoice ipVersionsToRemove = IpVersionChoice.UNDEFINED; - IpVersionChoice ipVersion = neutronvpnUtils.getIpVersionFromString(subnetmap.getSubnetIp()); + IpVersionChoice ipVersion = NeutronvpnUtils.getIpVersionFromString(subnetmap.getSubnetIp()); neutronvpnUtils.updateVpnInstanceWithIpFamily(vpnId.getValue(), ipVersionsToRemove.addVersion(ipVersion), false); } @@ -2688,7 +2688,7 @@ public class NeutronvpnManager implements NeutronvpnService, AutoCloseable, Even if (port != null) { List fixedIPs = port.getFixedIps(); for (FixedIps ip : fixedIPs) { - fixedIPList.add(String.valueOf(ip.getIpAddress().getValue())); + fixedIPList.add(ip.getIpAddress().stringValue()); } } else { returnMsg.append("neutron port: ").append(portId.getValue()).append(" not found"); diff --git a/neutronvpn/impl/src/main/java/org/opendaylight/netvirt/neutronvpn/NeutronvpnNatManager.java b/neutronvpn/impl/src/main/java/org/opendaylight/netvirt/neutronvpn/NeutronvpnNatManager.java index c1c7662745..12f039d059 100644 --- a/neutronvpn/impl/src/main/java/org/opendaylight/netvirt/neutronvpn/NeutronvpnNatManager.java +++ b/neutronvpn/impl/src/main/java/org/opendaylight/netvirt/neutronvpn/NeutronvpnNatManager.java @@ -136,7 +136,7 @@ public class NeutronvpnNatManager implements AutoCloseable { } } - private int externalNetworkChanged(Router original, Router update) { + private static int externalNetworkChanged(Router original, Router update) { String origExtNet = null; String newExtNet = null; if (original != null && original.getExternalGatewayInfo() != null) { @@ -163,7 +163,7 @@ public class NeutronvpnNatManager implements AutoCloseable { } } - private boolean snatSettingChanged(Router orig, Router update) { + private static boolean snatSettingChanged(Router orig, Router update) { ExternalGatewayInfo origExtGw = null; ExternalGatewayInfo newExtGw = null; if (orig != null && orig.getExternalGatewayInfo() != null) { @@ -184,7 +184,7 @@ public class NeutronvpnNatManager implements AutoCloseable { return false; } - private boolean externalFixedIpsChanged(Router orig, Router update) { + private static boolean externalFixedIpsChanged(Router orig, Router update) { ExternalGatewayInfo origExtGw = null; ExternalGatewayInfo newExtGw = null; if (orig != null && orig.getExternalGatewayInfo() != null) { @@ -212,12 +212,12 @@ public class NeutronvpnNatManager implements AutoCloseable { List origExtFixedIps = origExtGw.getExternalFixedIps(); HashSet origFixedIpSet = new HashSet<>(); for (ExternalFixedIps fixedIps : origExtFixedIps) { - origFixedIpSet.add(String.valueOf(fixedIps.getIpAddress().getValue())); + origFixedIpSet.add(fixedIps.getIpAddress().stringValue()); } List newExtFixedIps = newExtGw.getExternalFixedIps(); HashSet updFixedIpSet = new HashSet<>(); for (ExternalFixedIps fixedIps : newExtFixedIps) { - updFixedIpSet.add(String.valueOf(fixedIps.getIpAddress().getValue())); + updFixedIpSet.add(fixedIps.getIpAddress().stringValue()); } // returns true if external subnets have changed return !origFixedIpSet.equals(updFixedIpSet) ? true : false; @@ -357,7 +357,7 @@ public class NeutronvpnNatManager implements AutoCloseable { if (sn.getInternetVpnId() == null) { continue; } - IpVersionChoice ipVers = neutronvpnUtils.getIpVersionFromString(sn.getSubnetIp()); + IpVersionChoice ipVers = NeutronvpnUtils.getIpVersionFromString(sn.getSubnetIp()); if (ipVers == IpVersionChoice.IPV6) { LOG.debug("addExternalNetworkToRouter : setup vpnInternet IPv6 for vpnExternal {} subnetmap {}", vpnExternal, sn); @@ -423,7 +423,7 @@ public class NeutronvpnNatManager implements AutoCloseable { List submapIds = neutronvpnUtils.getPrivateSubnetsToExport(net); for (Uuid snId : submapIds) { Subnetmap subnetMap = neutronvpnUtils.getSubnetmap(snId); - if ((subnetMap == null) || (subnetMap.getInternetVpnId() == null)) { + if (subnetMap == null || subnetMap.getInternetVpnId() == null) { LOG.error("removeExternalNetworkFromRouter: Can not find Subnetmap for SubnetId {} in ConfigDS", snId.getValue()); continue; @@ -701,7 +701,7 @@ public class NeutronvpnNatManager implements AutoCloseable { } } - private Subnets createSubnets(Uuid subnetId, Uuid networkId, List routerIds) { + private static Subnets createSubnets(Uuid subnetId, Uuid networkId, List routerIds) { SubnetsBuilder subnetsBuilder = new SubnetsBuilder(); subnetsBuilder.withKey(new SubnetsKey(subnetId)); subnetsBuilder.setId(subnetId); @@ -746,7 +746,7 @@ public class NeutronvpnNatManager implements AutoCloseable { } } - private Set getExternalSubnetsUuidsSetForFixedIps(List externalFixedIps) { + private static Set getExternalSubnetsUuidsSetForFixedIps(List externalFixedIps) { Set subnetsUuidsSet = new HashSet<>(); for (ExternalFixedIps externalFixedIp : externalFixedIps) { subnetsUuidsSet.add(externalFixedIp.getSubnetId()); @@ -767,9 +767,9 @@ public class NeutronvpnNatManager implements AutoCloseable { return subnetsList; } - private void addExternalFixedIpToExternalIpsList(List externalIps, ExternalFixedIps fixedIps) { + private static void addExternalFixedIpToExternalIpsList(List externalIps, ExternalFixedIps fixedIps) { Uuid subnetId = fixedIps.getSubnetId(); - String ip = String.valueOf(fixedIps.getIpAddress().getValue()); + String ip = fixedIps.getIpAddress().stringValue(); ExternalIpsBuilder externalIpsBuilder = new ExternalIpsBuilder(); externalIpsBuilder.withKey(new ExternalIpsKey(ip, subnetId)); externalIpsBuilder.setIpAddress(ip); diff --git a/neutronvpn/impl/src/main/java/org/opendaylight/netvirt/neutronvpn/NeutronvpnUtils.java b/neutronvpn/impl/src/main/java/org/opendaylight/netvirt/neutronvpn/NeutronvpnUtils.java index 877f8877fb..ecc3e76cd6 100644 --- a/neutronvpn/impl/src/main/java/org/opendaylight/netvirt/neutronvpn/NeutronvpnUtils.java +++ b/neutronvpn/impl/src/main/java/org/opendaylight/netvirt/neutronvpn/NeutronvpnUtils.java @@ -32,11 +32,9 @@ import java.util.concurrent.ConcurrentMap; import java.util.concurrent.ExecutionException; import java.util.concurrent.Future; import java.util.stream.Collectors; - import javax.annotation.Nonnull; import javax.inject.Inject; import javax.inject.Singleton; - import org.apache.commons.lang3.StringUtils; import org.opendaylight.controller.md.sal.binding.api.DataBroker; import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType; @@ -561,7 +559,7 @@ public class NeutronvpnUtils { org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.types.rev160517.IpPrefixOrAddress ipAddress) { AllowedAddressPairsBuilder aclAllowedAdressPairBuilder = new AllowedAddressPairsBuilder(); aclAllowedAdressPairBuilder.setMacAddress(macAddress); - if (ipAddress != null && ipAddress.getValue() != null) { + if (ipAddress != null && ipAddress.stringValue() != null) { if (ipAddress.getIpPrefix() != null) { aclAllowedAdressPairBuilder.setIpAddress(new IpPrefixOrAddress(ipAddress.getIpPrefix())); } else { @@ -583,8 +581,8 @@ public class NeutronvpnUtils { List aclAllowedAddressPairs = new ArrayList<>(); for (FixedIps fixedIp : fixedIps) { aclAllowedAddressPairs.add(getAclAllowedAddressPairs(macAddress, - new org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.types.rev160517.IpPrefixOrAddress( - fixedIp.getIpAddress().getValue()))); + org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.types.rev160517.IpPrefixOrAddressBuilder + .getDefaultInstance(fixedIp.getIpAddress().stringValue()))); } return aclAllowedAddressPairs; } @@ -616,8 +614,9 @@ public class NeutronvpnUtils { protected static AllowedAddressPairs updateIPv6LinkLocalAddressForAclService(MacAddress macAddress) { IpAddress ipv6LinkLocalAddress = getIpv6LinkLocalAddressFromMac(macAddress); return getAclAllowedAddressPairs(macAddress, - new org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.types.rev160517.IpPrefixOrAddress( - ipv6LinkLocalAddress.getValue())); + org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.types.rev160517.IpPrefixOrAddressBuilder + .getDefaultInstance( + ipv6LinkLocalAddress.stringValue())); } /** @@ -808,7 +807,7 @@ public class NeutronvpnUtils { .class).child(Subnet.class, subnetkey); Optional subnet = read(LogicalDatastoreType.CONFIGURATION, subnetidentifier); if (subnet.isPresent()) { - String cidr = String.valueOf(subnet.get().getCidr().getValue()); + String cidr = subnet.get().getCidr().stringValue(); // Extract the prefix length from cidr String[] parts = cidr.split("/"); if (parts.length == 2) { @@ -1238,7 +1237,7 @@ public class NeutronvpnUtils { interfaceID.append(StringUtils.leftPad(Integer.toHexString(0xFF & octets[5]), 2, "0")); Ipv6Address ipv6LLA = new Ipv6Address("fe80:0:0:0:" + interfaceID.toString()); - IpAddress ipAddress = new IpAddress(ipv6LLA.getValue().toCharArray()); + IpAddress ipAddress = new IpAddress(ipv6LLA); return ipAddress; } @@ -1635,7 +1634,7 @@ public class NeutronvpnUtils { } Long vpnId = vpnInstanceOpDataEntry.getVpnId(); List routerIds = getRouterIdsfromVpnInstance(vpnInstanceOpDataEntry.getVrfId()); - if ((routerIds == null) || (routerIds.isEmpty())) { + if (routerIds == null || routerIds.isEmpty()) { LOG.error("updateVpnInstanceWithFallback: router not found for vpn {}", vpnName); return; } diff --git a/vpnmanager/api/src/main/java/org/opendaylight/netvirt/vpnmanager/api/InterfaceUtils.java b/vpnmanager/api/src/main/java/org/opendaylight/netvirt/vpnmanager/api/InterfaceUtils.java index fc9e3519d1..46a127573e 100644 --- a/vpnmanager/api/src/main/java/org/opendaylight/netvirt/vpnmanager/api/InterfaceUtils.java +++ b/vpnmanager/api/src/main/java/org/opendaylight/netvirt/vpnmanager/api/InterfaceUtils.java @@ -83,7 +83,7 @@ public final class InterfaceUtils { if (tunnelInfo.isPresent()) { List nexthopIpList = tunnelInfo.get().getTunnelEndPoints(); if (nexthopIpList != null && !nexthopIpList.isEmpty()) { - nextHopIp = new String(nexthopIpList.get(0).getIpAddress().getValue()); + nextHopIp = nexthopIpList.get(0).getIpAddress().stringValue(); } } return nextHopIp; diff --git a/vpnmanager/impl/src/main/java/org/opendaylight/netvirt/vpnmanager/SubnetRoutePacketInHandler.java b/vpnmanager/impl/src/main/java/org/opendaylight/netvirt/vpnmanager/SubnetRoutePacketInHandler.java index a0317a0b8f..0047c96283 100644 --- a/vpnmanager/impl/src/main/java/org/opendaylight/netvirt/vpnmanager/SubnetRoutePacketInHandler.java +++ b/vpnmanager/impl/src/main/java/org/opendaylight/netvirt/vpnmanager/SubnetRoutePacketInHandler.java @@ -38,8 +38,9 @@ import org.opendaylight.openflowplugin.libraries.liblldp.NetUtils; import org.opendaylight.openflowplugin.libraries.liblldp.Packet; import org.opendaylight.openflowplugin.libraries.liblldp.PacketException; import org.opendaylight.yang.gen.v1.urn.huawei.params.xml.ns.yang.l3vpn.rev140815.vpn.interfaces.VpnInterface; -import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress; +import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddressBuilder; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpPrefix; +import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpPrefixBuilder; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6Address; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.MacAddress; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid; @@ -413,8 +414,8 @@ public class SubnetRoutePacketInHandler implements PacketProcessingListener { SubnetOpDataEntry subOpEntry = optionalSubs.get(); if (subOpEntry.getNhDpnId() != null) { LOG.trace("{} getTargetDpnForPacketOut: Viewing Subnet {}", LOGGING_PREFIX, subnetId.getValue()); - IpPrefix cidr = new IpPrefix(subOpEntry.getSubnetCidr().toCharArray()); - boolean match = NWUtil.isIpAddressInRange(new IpAddress(ipAddress.toCharArray()), cidr); + IpPrefix cidr = IpPrefixBuilder.getDefaultInstance(subOpEntry.getSubnetCidr()); + boolean match = NWUtil.isIpAddressInRange(IpAddressBuilder.getDefaultInstance(ipAddress), cidr); LOG.trace("{} getTargetDpnForPacketOut: Viewing Subnet {} matching {}", LOGGING_PREFIX, subnetId.getValue(), match); if (match) { diff --git a/vpnmanager/impl/src/main/java/org/opendaylight/netvirt/vpnmanager/TunnelInterfaceStateListener.java b/vpnmanager/impl/src/main/java/org/opendaylight/netvirt/vpnmanager/TunnelInterfaceStateListener.java index cdae7499f0..6bc22a80eb 100644 --- a/vpnmanager/impl/src/main/java/org/opendaylight/netvirt/vpnmanager/TunnelInterfaceStateListener.java +++ b/vpnmanager/impl/src/main/java/org/opendaylight/netvirt/vpnmanager/TunnelInterfaceStateListener.java @@ -176,7 +176,7 @@ public class TunnelInterfaceStateListener extends AsyncDataTreeChangeListenerBas //Remove the corresponding nexthop from the routepath under extraroute in fibentries. BigInteger srcDpnId = new BigInteger(update.getSrcInfo().getTepDeviceId()); - String srcTepIp = String.valueOf(update.getSrcInfo().getTepIp().getValue()); + String srcTepIp = update.getSrcInfo().getTepIp().stringValue(); List vpnInstanceOpData = vpnUtil.getAllVpnInstanceOpData(); if (vpnInstanceOpData == null) { LOG.trace("update: No vpnInstanceOpdata present"); @@ -251,8 +251,8 @@ public class TunnelInterfaceStateListener extends AsyncDataTreeChangeListenerBas @SuppressWarnings("checkstyle:IllegalCatch") private void handleTunnelEventForDPN(StateTunnelList stateTunnelList, TunnelAction tunnelAction) { final BigInteger srcDpnId = new BigInteger(stateTunnelList.getSrcInfo().getTepDeviceId()); - final String srcTepIp = String.valueOf(stateTunnelList.getSrcInfo().getTepIp().getValue()); - String destTepIp = String.valueOf(stateTunnelList.getDstInfo().getTepIp().getValue()); + final String srcTepIp = stateTunnelList.getSrcInfo().getTepIp().stringValue(); + String destTepIp = stateTunnelList.getDstInfo().getTepIp().stringValue(); String rd; BigInteger remoteDpnId = null; boolean isTepDeletedOnDpn = false; @@ -425,8 +425,8 @@ public class TunnelInterfaceStateListener extends AsyncDataTreeChangeListenerBas String rd; String intfName = cfgVpnInterface.getName(); final BigInteger srcDpnId = new BigInteger(stateTunnelList.getSrcInfo().getTepDeviceId()); - String destTepIp = String.valueOf(stateTunnelList.getDstInfo().getTepIp().getValue()); - String srcTepIp = String.valueOf(stateTunnelList.getSrcInfo().getTepIp().getValue()); + String destTepIp = stateTunnelList.getDstInfo().getTepIp().stringValue(); + String srcTepIp = stateTunnelList.getSrcInfo().getTepIp().stringValue(); int tunTypeVal = getTunnelType(stateTunnelList); BigInteger remoteDpnId = null; if (tunTypeVal == VpnConstants.ITMTunnelLocType.Internal.getValue()) { @@ -566,7 +566,7 @@ public class TunnelInterfaceStateListener extends AsyncDataTreeChangeListenerBas private void programDcGwLoadBalancingGroup(StateTunnelList tunnelState, int addOrRemove) { IpAddress dcGwIp = tunnelState.getDstInfo().getTepIp(); - String dcGwIpAddress = String.valueOf(dcGwIp.getValue()); + String dcGwIpAddress = dcGwIp.stringValue(); List availableDcGws = getDcGwIps(); BigInteger dpId = new BigInteger(tunnelState.getSrcInfo().getTepDeviceId()); boolean isTunnelUp = TunnelOperStatus.Up == tunnelState.getOperState(); @@ -585,7 +585,7 @@ public class TunnelInterfaceStateListener extends AsyncDataTreeChangeListenerBas return dcGatewayIpListConfig.getDcGatewayIp() .stream() .filter(dcGwIp -> dcGwIp.getTunnnelType().equals(TunnelTypeMplsOverGre.class)) - .map(dcGwIp -> String.valueOf(dcGwIp.getIpAddress().getValue())).sorted() + .map(dcGwIp -> dcGwIp.getIpAddress().stringValue()).sorted() .collect(toList()); } diff --git a/vpnmanager/impl/src/main/java/org/opendaylight/netvirt/vpnmanager/VpnInterfaceManager.java b/vpnmanager/impl/src/main/java/org/opendaylight/netvirt/vpnmanager/VpnInterfaceManager.java index 52cf84de83..be53435b8e 100755 --- a/vpnmanager/impl/src/main/java/org/opendaylight/netvirt/vpnmanager/VpnInterfaceManager.java +++ b/vpnmanager/impl/src/main/java/org/opendaylight/netvirt/vpnmanager/VpnInterfaceManager.java @@ -908,7 +908,7 @@ public class VpnInterfaceManager extends AsyncDataTreeChangeListenerBase adjList = adjacencies != null ? adjacencies.getAdjacency() : new ArrayList<>(); @@ -1023,7 +1023,7 @@ public class VpnInterfaceManager extends AsyncDataTreeChangeListenerBase(); } - Map vmap = new HashMap(); + Map vmap = new HashMap<>(); final List VpnMapList = optVpnMaps.get().getVpnMap(); for (VpnMap map : VpnMapList) { if (map.getRouterIds() == null) { @@ -420,7 +420,7 @@ public class IVpnLinkServiceImpl implements IVpnLinkService, AutoCloseable { IpAddress nhIpAddr = route.getNexthop(); String routeNextHop = nhIpAddr.getIpv4Address() != null ? nhIpAddr.getIpv4Address().getValue() : nhIpAddr.getIpv6Address().getValue(); - String destination = String.valueOf(route.getDestination().getValue()); + String destination = route.getDestination().stringValue(); // is nexthop the other endpoint's IP String otherEndpoint = ivpnLink.getOtherEndpoint(vpnId); diff --git a/vpnmanager/impl/src/main/java/org/opendaylight/netvirt/vpnmanager/iplearn/AbstractIpLearnNotificationHandler.java b/vpnmanager/impl/src/main/java/org/opendaylight/netvirt/vpnmanager/iplearn/AbstractIpLearnNotificationHandler.java index 15346f5eb2..33d13e1169 100644 --- a/vpnmanager/impl/src/main/java/org/opendaylight/netvirt/vpnmanager/iplearn/AbstractIpLearnNotificationHandler.java +++ b/vpnmanager/impl/src/main/java/org/opendaylight/netvirt/vpnmanager/iplearn/AbstractIpLearnNotificationHandler.java @@ -23,6 +23,7 @@ import org.opendaylight.genius.mdsalutil.NWUtil; import org.opendaylight.netvirt.vpnmanager.VpnUtil; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpPrefix; +import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpPrefixBuilder; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.MacAddress; import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.idmanager.rev160406.IdManagerService; import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.l3vpn.rev130911.LearntVpnVipToPortEventAction; @@ -66,7 +67,7 @@ public abstract class AbstractIpLearnNotificationHandler { List adjacencies = vpnUtil.getAdjacenciesForVpnInterfaceFromConfig(srcInterface); if (adjacencies != null) { for (Adjacency adj : adjacencies) { - IpPrefix ipPrefix = new IpPrefix(adj.getIpAddress().toCharArray()); + IpPrefix ipPrefix = IpPrefixBuilder.getDefaultInstance(adj.getIpAddress()); if (NWUtil.isIpAddressInRange(srcIP, ipPrefix)) { return; } @@ -74,7 +75,7 @@ public abstract class AbstractIpLearnNotificationHandler { } LOG.trace("ARP/NA Notification Response Received from interface {} and IP {} having MAC {}, learning MAC", - srcInterface, String.valueOf(srcIP.getValue()), srcMac.getValue()); + srcInterface, srcIP.stringValue(), srcMac.getValue()); processIpLearning(srcInterface, srcIP, srcMac, metadata, targetIP); } @@ -83,8 +84,8 @@ public abstract class AbstractIpLearnNotificationHandler { if (metadata != null && !Objects.equals(metadata, BigInteger.ZERO)) { Optional> vpnList = vpnUtil.getVpnHandlingIpv4AssociatedWithInterface(srcInterface); if (vpnList.isPresent()) { - String srcIpToQuery = String.valueOf(srcIP.getValue()); - String destIpToQuery = String.valueOf(dstIP.getValue()); + String srcIpToQuery = srcIP.stringValue(); + String destIpToQuery = dstIP.stringValue(); for (String vpnName : vpnList.get()) { LOG.info("Received ARP/NA for sender MAC {} and sender IP {} via interface {}", srcMac.getValue(), srcIpToQuery, srcInterface); @@ -125,8 +126,8 @@ public abstract class AbstractIpLearnNotificationHandler { private void learnMacFromIncomingPacket(String vpnName, String srcInterface, IpAddress srcIP, MacAddress srcMac, IpAddress dstIP) { - String srcIpToQuery = String.valueOf(srcIP.getValue()); - String destIpToQuery = String.valueOf(dstIP.getValue()); + String srcIpToQuery = srcIP.stringValue(); + String destIpToQuery = dstIP.stringValue(); synchronized ((vpnName + srcIpToQuery).intern()) { vpnUtil.createLearntVpnVipToPortEvent(vpnName, srcIpToQuery, destIpToQuery, srcInterface, srcMac.getValue(), LearntVpnVipToPortEventAction.Add, null); diff --git a/vpnmanager/impl/src/main/java/org/opendaylight/netvirt/vpnmanager/iplearn/AlivenessMonitorUtils.java b/vpnmanager/impl/src/main/java/org/opendaylight/netvirt/vpnmanager/iplearn/AlivenessMonitorUtils.java index 46b6bca088..995979a2eb 100644 --- a/vpnmanager/impl/src/main/java/org/opendaylight/netvirt/vpnmanager/iplearn/AlivenessMonitorUtils.java +++ b/vpnmanager/impl/src/main/java/org/opendaylight/netvirt/vpnmanager/iplearn/AlivenessMonitorUtils.java @@ -12,10 +12,8 @@ import java.util.Map; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ExecutionException; import java.util.concurrent.Future; - import javax.inject.Inject; import javax.inject.Singleton; - import org.opendaylight.controller.md.sal.binding.api.DataBroker; import org.opendaylight.genius.arputil.api.ArpConstants; import org.opendaylight.genius.interfacemanager.interfaces.IInterfaceManager; @@ -23,6 +21,7 @@ import org.opendaylight.infrautils.utils.concurrent.JdkFutures; import org.opendaylight.netvirt.neutronvpn.interfaces.INeutronVpnManager; import org.opendaylight.netvirt.vpnmanager.VpnUtil; import org.opendaylight.netvirt.vpnmanager.iplearn.model.MacEntry; +import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IetfInetUtil; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.PhysAddress; import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.alivenessmonitor.rev160411.AlivenessMonitorService; @@ -95,7 +94,7 @@ public final class AlivenessMonitorUtils { return; } - final IpAddress targetIp = new IpAddress(macEntry.getIpAddress().getHostAddress().toCharArray()); + final IpAddress targetIp = IetfInetUtil.INSTANCE.ipAddressFor(macEntry.getIpAddress()); if (ipMonitorProfileId == null || ipMonitorProfileId.equals(0L)) { Optional profileIdOptional = allocateIpMonitorProfile(targetIp); if (!profileIdOptional.isPresent()) { diff --git a/vpnmanager/impl/src/main/java/org/opendaylight/netvirt/vpnmanager/iplearn/ipv4/ArpNotificationHandler.java b/vpnmanager/impl/src/main/java/org/opendaylight/netvirt/vpnmanager/iplearn/ipv4/ArpNotificationHandler.java index 8b8c92f2c9..c36fad20be 100644 --- a/vpnmanager/impl/src/main/java/org/opendaylight/netvirt/vpnmanager/iplearn/ipv4/ArpNotificationHandler.java +++ b/vpnmanager/impl/src/main/java/org/opendaylight/netvirt/vpnmanager/iplearn/ipv4/ArpNotificationHandler.java @@ -53,14 +53,13 @@ public class ArpNotificationHandler extends AbstractIpLearnNotificationHandler i LOG.info( "ArpNotification Non-Gratuitous Request Received from " + "interface {} and IP {} having MAC {} target destination {}, ignoring..", - srcInterface, String.valueOf(srcIP.getValue()), srcMac.getValue(), - String.valueOf(targetIP.getValue())); + srcInterface, srcIP.stringValue(), srcMac.getValue(), targetIP.stringValue()); return; } LOG.info( "ArpNotification Gratuitous Request Received from interface {} and IP {} having MAC {} " + "target destination {}, learning MAC", - srcInterface, String.valueOf(srcIP.getValue()), srcMac.getValue(), String.valueOf(targetIP.getValue())); + srcInterface, srcIP.stringValue(), srcMac.getValue(), targetIP.stringValue()); processIpLearning(srcInterface, srcIP, srcMac, metadata, targetIP); } @@ -73,7 +72,7 @@ public class ArpNotificationHandler extends AbstractIpLearnNotificationHandler i BigInteger metadata = notification.getMetadata(); IpAddress targetIP = notification.getDstIpaddress(); LOG.info("ArpNotification Response Received from interface {} and IP {} having MAC {}, learning MAC", - srcInterface, String.valueOf(srcIP.getValue()), srcMac.getValue()); + srcInterface, srcIP.stringValue(), srcMac.getValue()); validateAndProcessIpLearning(srcInterface, srcIP, srcMac, targetIP, metadata); } diff --git a/vpnmanager/impl/src/main/java/org/opendaylight/netvirt/vpnmanager/iplearn/ipv6/Ipv6NaNotificationHandler.java b/vpnmanager/impl/src/main/java/org/opendaylight/netvirt/vpnmanager/iplearn/ipv6/Ipv6NaNotificationHandler.java index f01c336feb..cbc67ec47f 100644 --- a/vpnmanager/impl/src/main/java/org/opendaylight/netvirt/vpnmanager/iplearn/ipv6/Ipv6NaNotificationHandler.java +++ b/vpnmanager/impl/src/main/java/org/opendaylight/netvirt/vpnmanager/iplearn/ipv6/Ipv6NaNotificationHandler.java @@ -43,7 +43,7 @@ public class Ipv6NaNotificationHandler extends AbstractIpLearnNotificationHandle IpAddress targetIP = new IpAddress(naPacket.getTargetAddress()); BigInteger metadata = naPacket.getMetadata(); LOG.debug("NA notification received from interface {} and IP {} having MAC {}, targetIP={}", srcInterface, - String.valueOf(srcIP.getValue()), srcMac.getValue(), String.valueOf(targetIP.getValue())); + srcIP.stringValue(), srcMac.getValue(), targetIP.stringValue()); validateAndProcessIpLearning(srcInterface, srcIP, srcMac, targetIP, metadata); } -- 2.36.6