From 66b8611ab00a626167bf20556d7cbb5ec00ca124 Mon Sep 17 00:00:00 2001 From: Robert Varga Date: Tue, 7 Jan 2020 09:00:19 +0100 Subject: [PATCH] Mass-convert all compontents to use -no-zone addresses Rather than taking a step-by-step approach, this patch mass converts all utilities and ODL models to use -no-zone addresses and fixes up the fallout from that. JIRA: BGPCEP-790 Change-Id: Iaa2a8e207aeffd40aa10a4d438587263d053629c Signed-off-by: Robert Varga --- .../bgp/benchmark/app/AppPeerBenchmark.java | 22 ++--- .../main/yang/odl-bgp-app-peer-benchmark.yang | 4 +- .../benchmark/app/AppPeerBenchmarkTest.java | 4 +- bgp/cli/pom.xml | 4 - .../cli/utils/BGPOperationalStateUtils.java | 10 ++- .../bgp/concepts/IpAddressUtil.java | 44 ++++----- .../bgp/concepts/RouteDistinguisherUtil.java | 4 +- bgp/concepts/src/main/yang/bgp-types.yang | 20 ++--- .../bgp/concepts/NextHopUtilTest.java | 10 +-- .../bgp/evpn/impl/esi/types/EsiModelUtil.java | 6 +- .../bgp/evpn/impl/nlri/EthSegRParser.java | 16 ++-- .../evpn/impl/nlri/IncMultEthTagRParser.java | 4 +- .../bgp/evpn/impl/nlri/MACIpAdvRParser.java | 20 ++--- .../bgp/evpn/impl/nlri/NlriModelUtil.java | 23 ++--- .../evpn/src/main/yang/odl-bgp-evpn.yang | 4 +- .../protocol/bgp/evpn/impl/EvpnTestUtil.java | 10 +-- .../impl/esi/types/RouterIdParserTest.java | 4 +- .../RedirectIpNextHopEcHandler.java | 14 +-- .../flowspec/src/main/yang/bgp-flowspec.yang | 4 +- .../FSExtendedCommunitiesTest.java | 87 ++++++++++-------- .../bgp/inet/codec/BGPParserTest.java | 15 ++-- .../nexthop/NextHopParserSerializerTest.java | 11 ++- .../unicast/ipv4/VpnIpv4NextHopTest.java | 4 +- .../unicast/ipv6/VpnIpv6NextHopTest.java | 4 +- .../impl/attribute/LinkAttributesParser.java | 12 +-- .../attribute/PrefixAttributesParser.java | 21 ++--- .../binding/sid/sub/tlvs/Ipv4EroParser.java | 4 +- .../binding/sid/sub/tlvs/Ipv6EroParser.java | 4 +- .../linkstate/impl/nlri/NodeNlriParser.java | 6 +- .../AbstractLocalNodeDescriptorTlvCodec.java | 4 +- .../impl/tlvs/BgpRouterIdTlvParser.java | 10 +-- .../tlvs/RemoteNodeDescriptorTlvParser.java | 4 +- .../linkstate/spi/AbstractTeLspNlriCodec.java | 16 ++-- .../linkstate/src/main/yang/bgp-epe.yang | 4 +- .../src/main/yang/bgp-linkstate.yang | 18 ++-- .../src/main/yang/bgp-segment-routing.yang | 8 +- .../LinkstateAttributeParserTest.java | 4 +- .../protocol/bgp/linkstate/ParserTest.java | 10 +-- .../bgp/linkstate/SrAttributeParserTest.java | 16 ++-- ...PEDistinguisherLabelsAttributeHandler.java | 12 +-- .../tunnel/identifier/MldpP2mpLspParser.java | 6 +- .../PAddressPMulticastGroupUtil.java | 20 ++--- .../bgp/mvpn/impl/nlri/AbstractMvpnNlri.java | 4 +- .../impl/nlri/MulticastGroupOpaqueUtil.java | 6 +- .../mvpn/src/main/yang/bgp-mvpn.yang | 8 +- .../mvpn/src/main/yang/pmsi-tunnel.yang | 10 +-- ...stinguisherLabelsAttributeHandlerTest.java | 8 +- .../PMSITunnelAttributeHandlerTestUtil.java | 14 +-- .../PAddressPMulticastGroupUtilTest.java | 17 ++-- .../impl/nlri/IntraAsIPmsiADHandlerTest.java | 6 +- .../bgp/mvpn/impl/nlri/LeafADHandlerTest.java | 6 +- .../mvpn/impl/nlri/SPmsiADHandlerTest.java | 11 ++- .../impl/nlri/SharedTreeJoinHandlerTest.java | 18 ++-- .../impl/nlri/SourceActiveADHandlerTest.java | 8 +- .../impl/nlri/SourceTreeJoinHandlerTest.java | 8 +- ...eRouteTargetConstrainNlriRegistryTest.java | 5 +- .../ClientAttributePrependHandlerTest.java | 5 +- .../src/main/yang/odl-bgp-policy.yang | 4 +- .../routing/policy/impl/BGPRibPolicyImpl.java | 4 +- .../impl/BGPRibRoutingPolicyFactoryImpl.java | 4 +- .../impl/PolicyRIBBaseParametersImpl.java | 9 +- .../spi/BGPRibRoutingPolicyFactory.java | 4 +- .../policy/spi/RouteEntryBaseAttributes.java | 4 +- .../spi/registry/ActionsRegistryImpl.java | 15 +++- .../spi/AbstractStatementRegistryTest.java | 4 +- .../routing/policy/spi/AppendActionTest.java | 4 +- .../policy/spi/AttributesEqualTests.java | 8 +- .../SetOriginatorIdPrependHandler.java | 9 +- .../statement/ExportAttributeTestUtil.java | 12 +-- .../statement/ImportAttributeTestUtil.java | 6 +- .../protocol/bgp/state/NeighborUtil.java | 18 +++- .../bgp/state/StateProviderImplTest.java | 8 +- bgp/parser-api/src/main/yang/bgp-message.yang | 4 +- .../impl/message/BGPOpenMessageParser.java | 4 +- .../update/OriginatorIdAttributeParser.java | 4 +- .../bgp/parser/impl/BGPParserTest.java | 14 +-- .../bgp/parser/impl/ComplementaryTest.java | 6 +- .../bgp/parser/impl/IPv4NextHopTest.java | 4 +- .../bgp/parser/impl/IPv6NextHopTest.java | 8 +- .../protocol/bgp/parser/impl/OpenTest.java | 6 +- .../protocol/bgp/parser/impl/ParserTest.java | 3 +- .../update/AggregatorAttributeParserTest.java | 4 +- .../update/ClusterIdAttributeParserTest.java | 6 +- .../update/NextHopAttributeParserTest.java | 10 +-- .../OriginatorIdAttributeParserTest.java | 4 +- .../Ipv4SpecificEcHandlerTest.java | 9 +- .../RouteOriginIpv4EcHandlerTest.java | 15 ++-- .../VrfRouteImportHandlerTest.java | 4 +- .../target/RouteTargetIpv4EcHandlerTest.java | 16 ++-- .../parser/mock/BGPMessageParserMockTest.java | 6 +- ...ecificExtendedCommunityCommonUtilTest.java | 4 +- .../bgp/parser/spi/pojo/BgpTestActivator.java | 4 +- .../parser/spi/pojo/SimpleRegistryTest.java | 4 +- .../peer/acceptor/BGPPeerAcceptorImpl.java | 18 ++-- .../yang/odl-bgp-peer-acceptor-config.yang | 4 +- .../acceptor/BGPPeerAcceptorImplTest.java | 6 +- .../impl/AbstractBGPSessionNegotiator.java | 20 ++--- .../protocol/bgp/rib/impl/AbstractPeer.java | 6 +- .../bgp/rib/impl/ApplicationPeer.java | 8 +- .../rib/impl/BGPClientSessionNegotiator.java | 6 +- .../protocol/bgp/rib/impl/BGPPeer.java | 4 +- .../rib/impl/BGPServerSessionNegotiator.java | 7 +- .../bgp/rib/impl/StrictBGPPeerRegistry.java | 51 +++++------ .../protocol/bgp/rib/impl/config/AppPeer.java | 10 ++- .../protocol/bgp/rib/impl/config/BgpPeer.java | 13 +-- .../impl/config/OpenConfigMappingUtil.java | 34 +++++-- .../protocol/bgp/rib/impl/config/RibImpl.java | 6 +- .../protocol/BGPProtocolSessionPromise.java | 10 +-- .../bgp/rib/impl/spi/BGPPeerRegistry.java | 18 ++-- .../rib/impl/spi/PeerRegistryListener.java | 6 +- .../impl/spi/PeerRegistrySessionListener.java | 7 +- .../bgp/rib/impl/state/BGPPeerStateImpl.java | 8 +- .../rib/impl/state/BGPSessionStateImpl.java | 6 +- .../bgp/rib/impl/AbstractAddPathTest.java | 41 +++++---- .../rib/impl/AbstractBGPDispatcherTest.java | 12 +-- .../bgp/rib/impl/AddPathAllPathsTest.java | 12 +-- .../bgp/rib/impl/BGPSessionImplTest.java | 4 +- .../rib/impl/DefaultRibPoliciesMockTest.java | 6 +- .../protocol/bgp/rib/impl/FSMTest.java | 16 ++-- .../bgp/rib/impl/GracefulRestartTest.java | 16 ++-- .../bgp/rib/impl/ParserToSalTest.java | 14 +-- .../protocol/bgp/rib/impl/PeerTest.java | 22 ++--- .../protocol/bgp/rib/impl/PeerUtil.java | 10 +-- .../rib/impl/StrictBGPPeerRegistryTest.java | 36 ++++---- .../impl/SynchronizationAndExceptionTest.java | 16 ++-- .../bgp/rib/impl/config/AbstractConfig.java | 6 +- .../config/OpenConfigMappingUtilTest.java | 6 +- .../bgp/rib/impl/config/RIBTestsUtil.java | 4 +- .../bgp/rib/impl/config/RibImplTest.java | 4 +- .../bgp/rib/spi/state/BGPPeerState.java | 4 +- .../bgp/rib/spi/state/BGPTransportState.java | 4 +- .../protocol/bgp/rib/spi/RIBSupportTest.java | 4 +- .../bgp/testtool/CommunitiesBuilder.java | 4 +- .../bgp/testtool/PrefixesBuilder.java | 4 +- .../bgp/topology/provider/ProtocolUtil.java | 2 +- .../Ipv4ReachabilityTopologyBuilderTest.java | 4 +- .../Ipv6ReachabilityTopologyBuilderTest.java | 6 +- .../LinkstateTopologyBuilderTest.java | 6 +- bmp/bmp-api/src/main/yang/bmp-message.yang | 6 +- bmp/bmp-api/src/main/yang/bmp-monitor.yang | 2 +- .../src/main/yang/odl-bmp-monitor-config.yang | 4 +- .../impl/app/BmpMonitoringStationImpl.java | 2 +- .../bmp/impl/app/BmpRouterPeerImpl.java | 11 ++- .../bmp/impl/app/KeyConstructorUtil.java | 2 +- .../bmp/impl/app/BmpMonitorImplTest.java | 12 +-- .../protocol/bmp/mock/BmpMockSession.java | 11 ++- .../protocol/bmp/mock/BmpMockUtil.java | 21 ++--- .../protocol/bmp/mock/BmpMockUtilTest.java | 11 ++- .../bmp/parser/message/PeerUpHandler.java | 12 +-- .../protocol/bmp/parser/message/TestUtil.java | 89 +++++++++---------- .../AbstractBmpPerPeerMessageParser.java | 10 +-- .../AbstractBmpPerPeerMessageParserTest.java | 14 +-- pcep/api/src/main/yang/pcep-config.yang | 4 +- .../object/PCEPPccIdReqIPv4ObjectParser.java | 10 +-- .../object/PCEPPccIdReqIPv6ObjectParser.java | 10 +-- .../object/PCEPPceIdIPv4ObjectParser.java | 9 +- .../object/PCEPPceIdIPv6ObjectParser.java | 9 +- .../points/PCEPEndPointsIpv4ObjectParser.java | 4 +- .../points/PCEPEndPointsIpv6ObjectParser.java | 10 +-- .../PCEPP2MPEndPointsIpv4ObjectParser.java | 4 +- .../PCEPP2MPEndPointsIpv6ObjectParser.java | 10 +-- .../PCEPIpv4UnreachDestinationParser.java | 2 +- .../PCEPIpv6UnreachDestinationParser.java | 6 +- .../Stateful07LSPIdentifierIpv4TlvParser.java | 6 +- .../Stateful07LSPIdentifierIpv6TlvParser.java | 6 +- .../Stateful07RSVPErrorSpecTlvParser.java | 4 +- .../pcep/ietf/PCEPObjectParserTest.java | 8 +- .../protocol/pcep/ietf/PCEPTlvParserTest.java | 16 ++-- .../pcep/impl/PCEPObjectParserTest.java | 24 ++--- .../pcc/mock/PCCEndPointIpv4ObjectParser.java | 11 ++- .../mock/PCCEndPointIpv4ObjectParserTest.java | 7 +- .../routing/AbstractSrSubobjectParser.java | 16 ++-- .../src/main/yang/network-topology-pcep.yang | 2 +- .../AbstractTopologySessionListener.java | 4 +- .../config/PCEPTopologyProviderUtil.java | 7 +- .../provider/AbstractPCEPSessionTest.java | 7 +- ...Stateful07TopologySessionListenerTest.java | 2 +- .../provider/NodeChangedListenerTest.java | 3 +- .../impl/te/AssociationObjectParserIPV4.java | 2 +- .../impl/te/AssociationObjectParserIPV6.java | 2 +- .../impl/te/DetourObjectIpv4Parser.java | 4 +- .../impl/te/DetourObjectIpv6Parser.java | 4 +- .../opendaylight/protocol/util/Ipv4Util.java | 62 ++++--------- .../opendaylight/protocol/util/Ipv6Util.java | 40 ++------- .../util/IPAddressesAndPrefixesTest.java | 45 +++++----- .../protocol/util/Ipv4UtilTest.java | 4 +- .../protocol/util/Ipv6UtilTest.java | 4 +- 187 files changed, 1001 insertions(+), 998 deletions(-) diff --git a/bgp/benchmark-app/src/main/java/org/opendaylight/protocol/bgp/benchmark/app/AppPeerBenchmark.java b/bgp/benchmark-app/src/main/java/org/opendaylight/protocol/bgp/benchmark/app/AppPeerBenchmark.java index bfd7949833..b7c5b7acc5 100644 --- a/bgp/benchmark-app/src/main/java/org/opendaylight/protocol/bgp/benchmark/app/AppPeerBenchmark.java +++ b/bgp/benchmark-app/src/main/java/org/opendaylight/protocol/bgp/benchmark/app/AppPeerBenchmark.java @@ -28,7 +28,7 @@ import org.opendaylight.mdsal.binding.api.TransactionChainListener; import org.opendaylight.mdsal.binding.api.WriteTransaction; import org.opendaylight.mdsal.common.api.CommitInfo; import org.opendaylight.mdsal.common.api.LogicalDatastoreType; -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.inet.types.rev130715.Ipv4AddressNoZone; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Prefix; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.inet.rev180329.application.rib.tables.routes.Ipv4RoutesCaseBuilder; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.inet.rev180329.bgp.rib.rib.loc.rib.tables.routes.Ipv4RoutesCase; @@ -188,17 +188,17 @@ public class AppPeerBenchmark implements OdlBgpAppPeerBenchmarkService, Transact return this.routesIId; } - private long addRoute(final Ipv4Prefix ipv4Prefix, final Ipv4Address nextHop, final Uint32 count, + private long addRoute(final Ipv4Prefix ipv4Prefix, final Ipv4AddressNoZone nextHop, final Uint32 count, final Uint32 batch) { - final AttributesBuilder attributesBuilder = new AttributesBuilder(); - attributesBuilder.setCNextHop(new Ipv4NextHopCaseBuilder().setIpv4NextHop( - new Ipv4NextHopBuilder().setGlobal(new Ipv4Address(nextHop)).build()).build()); - attributesBuilder.setMultiExitDisc(MED); - attributesBuilder.setLocalPref(LOC_PREF); - attributesBuilder.setOrigin(ORIGIN); - attributesBuilder.setAsPath(AS_PATH); - final Attributes attributes = attributesBuilder.build(); - return processRoutes(ipv4Prefix, count, batch, attributes); + return processRoutes(ipv4Prefix, count, batch, new AttributesBuilder() + .setCNextHop(new Ipv4NextHopCaseBuilder() + .setIpv4NextHop(new Ipv4NextHopBuilder().setGlobal(nextHop).build()) + .build()) + .setMultiExitDisc(MED) + .setLocalPref(LOC_PREF) + .setOrigin(ORIGIN) + .setAsPath(AS_PATH) + .build()); } private long deleteRoute(final Ipv4Prefix ipv4Prefix, final Uint32 count, final Uint32 batch) { diff --git a/bgp/benchmark-app/src/main/yang/odl-bgp-app-peer-benchmark.yang b/bgp/benchmark-app/src/main/yang/odl-bgp-app-peer-benchmark.yang index 91cefd0053..07dcf0a158 100644 --- a/bgp/benchmark-app/src/main/yang/odl-bgp-app-peer-benchmark.yang +++ b/bgp/benchmark-app/src/main/yang/odl-bgp-app-peer-benchmark.yang @@ -70,7 +70,7 @@ module odl-bgp-app-peer-benchmark { uses input; leaf nexthop { mandatory true; - type inet:ipv4-address; + type inet:ipv4-address-no-zone; description "nexthop"; } @@ -94,4 +94,4 @@ module odl-bgp-app-peer-benchmark { } } -} \ No newline at end of file +} diff --git a/bgp/benchmark-app/src/test/java/org/opendaylight/protocol/bgp/benchmark/app/AppPeerBenchmarkTest.java b/bgp/benchmark-app/src/test/java/org/opendaylight/protocol/bgp/benchmark/app/AppPeerBenchmarkTest.java index e0bce080ff..80a2cdeede 100644 --- a/bgp/benchmark-app/src/test/java/org/opendaylight/protocol/bgp/benchmark/app/AppPeerBenchmarkTest.java +++ b/bgp/benchmark-app/src/test/java/org/opendaylight/protocol/bgp/benchmark/app/AppPeerBenchmarkTest.java @@ -22,7 +22,7 @@ import org.mockito.Mockito; import org.mockito.MockitoAnnotations; import org.opendaylight.mdsal.binding.api.RpcProviderService; import org.opendaylight.mdsal.binding.dom.adapter.test.AbstractConcurrentDataBrokerTest; -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.inet.types.rev130715.Ipv4AddressNoZone; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Prefix; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.inet.rev180329.ipv4.routes.Ipv4Routes; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.odl.bgp.app.peer.benchmark.rev160309.AddPrefixInput; @@ -64,7 +64,7 @@ public class AppPeerBenchmarkTest extends AbstractConcurrentDataBrokerTest { final InstanceIdentifier routesIID = appPeerBenchmark.getIpv4RoutesIID(); final AddPrefixInput addPrefix = new AddPrefixInputBuilder().setBatchsize(Uint32.ONE).setCount(Uint32.ONE) - .setNexthop(new Ipv4Address(NH)).setPrefix(new Ipv4Prefix(PREFIX)).build(); + .setNexthop(new Ipv4AddressNoZone(NH)).setPrefix(new Ipv4Prefix(PREFIX)).build(); final RpcResult addRpcResult = appPeerBenchmark.addPrefix(addPrefix).get(); final Result addResult = addRpcResult.getResult().getResult(); diff --git a/bgp/cli/pom.xml b/bgp/cli/pom.xml index 59ff80b95a..238eafa343 100644 --- a/bgp/cli/pom.xml +++ b/bgp/cli/pom.xml @@ -29,10 +29,6 @@ ${project.groupId} bgp-openconfig-api - - ${project.groupId} - util - org.opendaylight.yangtools yang-common diff --git a/bgp/cli/src/main/java/org/opendaylight/protocol/bgp/cli/utils/BGPOperationalStateUtils.java b/bgp/cli/src/main/java/org/opendaylight/protocol/bgp/cli/utils/BGPOperationalStateUtils.java index 20627c84e4..3007201c4e 100644 --- a/bgp/cli/src/main/java/org/opendaylight/protocol/bgp/cli/utils/BGPOperationalStateUtils.java +++ b/bgp/cli/src/main/java/org/opendaylight/protocol/bgp/cli/utils/BGPOperationalStateUtils.java @@ -18,7 +18,6 @@ import org.eclipse.jdt.annotation.Nullable; import org.opendaylight.mdsal.binding.api.DataBroker; import org.opendaylight.mdsal.binding.api.ReadTransaction; import org.opendaylight.mdsal.common.api.LogicalDatastoreType; -import org.opendaylight.protocol.util.Ipv4Util; import org.opendaylight.yang.gen.v1.http.openconfig.net.yang.bgp.rev151009.bgp.top.Bgp; import org.opendaylight.yang.gen.v1.http.openconfig.net.yang.network.instance.rev151018.network.instance.top.NetworkInstances; import org.opendaylight.yang.gen.v1.http.openconfig.net.yang.network.instance.rev151018.network.instance.top.network.instances.NetworkInstance; @@ -27,6 +26,7 @@ import org.opendaylight.yang.gen.v1.http.openconfig.net.yang.network.instance.re import org.opendaylight.yang.gen.v1.http.openconfig.net.yang.network.instance.rev151018.network.instance.top.network.instances.network.instance.protocols.Protocol; import org.opendaylight.yang.gen.v1.http.openconfig.net.yang.network.instance.rev151018.network.instance.top.network.instances.network.instance.protocols.ProtocolKey; import org.opendaylight.yang.gen.v1.http.openconfig.net.yang.policy.types.rev151009.BGP; +import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.openconfig.extensions.rev180329.NetworkInstanceProtocol; import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; import org.slf4j.Logger; @@ -67,14 +67,20 @@ public final class BGPOperationalStateUtils { } else { if (neighbor != null) { globalBgp.getNeighbors().getNeighbor().stream() - .filter(neig -> Ipv4Util.toStringIP(neig.key().getNeighborAddress()).matches(neighbor)) + .filter(neig -> toString(neig.key().getNeighborAddress()).matches(neighbor)) .findFirst() .ifPresent(neighbor1 -> displayNeighborOperationalState(neighbor, neighbor1, stream)); } else { displayPeerOperationalState(globalBgp.getPeerGroups().getPeerGroup(), stream); } } + } + private static String toString(final IpAddress addr) { + if (addr.getIpv4Address() != null) { + return addr.getIpv4Address().getValue(); + } + return addr.getIpv6Address().getValue(); } private static Bgp readGlobalFromDataStore(final DataBroker dataBroker, final String ribId) { diff --git a/bgp/concepts/src/main/java/org/opendaylight/bgp/concepts/IpAddressUtil.java b/bgp/concepts/src/main/java/org/opendaylight/bgp/concepts/IpAddressUtil.java index 38137cc77c..d71adfae7f 100644 --- a/bgp/concepts/src/main/java/org/opendaylight/bgp/concepts/IpAddressUtil.java +++ b/bgp/concepts/src/main/java/org/opendaylight/bgp/concepts/IpAddressUtil.java @@ -12,8 +12,8 @@ import io.netty.buffer.Unpooled; import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.protocol.util.Ipv4Util; import org.opendaylight.protocol.util.Ipv6Util; -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.IpAddressNoZone; +import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddressNoZoneBuilder; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier; import org.opendaylight.yangtools.yang.data.api.schema.DataContainerNode; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; @@ -33,14 +33,14 @@ public final class IpAddressUtil { * Returns IpAddress from byte array containing ipAddress lenght + ipAddress. * * @param buffer containing ip address - * @return IpAddress + * @return IpAddressNoZone */ - public static @NonNull IpAddress addressForByteBuf(final ByteBuf buffer) { + public static @NonNull IpAddressNoZone addressForByteBuf(final ByteBuf buffer) { final int ipLength = buffer.readUnsignedByte(); if (ipLength == Ipv6Util.IPV6_BITS_LENGTH) { - return new IpAddress(Ipv6Util.addressForByteBuf(buffer)); + return new IpAddressNoZone(Ipv6Util.addressForByteBuf(buffer)); } else if (ipLength == Ipv4Util.IP4_BITS_LENGTH) { - return new IpAddress(Ipv4Util.addressForByteBuf(buffer)); + return new IpAddressNoZone(Ipv4Util.addressForByteBuf(buffer)); } throw new IllegalStateException("Unexpected size"); } @@ -49,14 +49,14 @@ public final class IpAddressUtil { * Returns IpAddress from byte array containing ipAddress based on ByteArray length. * * @param buffer containing ip address - * @return IpAddress + * @return IpAddressNoZone */ - public static @NonNull IpAddress addressForByteBufWOLength(final ByteBuf buffer) { + public static @NonNull IpAddressNoZone addressForByteBufWOLength(final ByteBuf buffer) { final int ipLength = buffer.readableBytes(); if (ipLength == Ipv6Util.IPV6_LENGTH) { - return new IpAddress(Ipv6Util.addressForByteBuf(buffer)); + return new IpAddressNoZone(Ipv6Util.addressForByteBuf(buffer)); } else if (ipLength == Ipv4Util.IP4_LENGTH) { - return new IpAddress(Ipv4Util.addressForByteBuf(buffer)); + return new IpAddressNoZone(Ipv4Util.addressForByteBuf(buffer)); } throw new IllegalStateException("Unexpected size"); } @@ -67,14 +67,14 @@ public final class IpAddressUtil { * @param address containing ipv4 or ipv6 address * @return byte array */ - public static @NonNull ByteBuf bytesFor(final IpAddress address) { + public static @NonNull ByteBuf bytesFor(final IpAddressNoZone address) { final ByteBuf body = Unpooled.buffer(); - if (address.getIpv4Address() != null) { + if (address.getIpv4AddressNoZone() != null) { body.writeByte(Ipv4Util.IP4_BITS_LENGTH); - body.writeBytes(Ipv4Util.bytesForAddress(address.getIpv4Address())); - } else if (address.getIpv6Address() != null) { + body.writeBytes(Ipv4Util.bytesForAddress(address.getIpv4AddressNoZone())); + } else if (address.getIpv6AddressNoZone() != null) { body.writeByte(Ipv6Util.IPV6_BITS_LENGTH); - body.writeBytes(Ipv6Util.bytesForAddress(address.getIpv6Address())); + body.writeBytes(Ipv6Util.bytesForAddress(address.getIpv6AddressNoZone())); } else { body.writeByte(0); } @@ -87,22 +87,22 @@ public final class IpAddressUtil { * @param address containing ipv4 or ipv6 address * @return byte array */ - public static @NonNull ByteBuf bytesWOLengthFor(final IpAddress address) { + public static @NonNull ByteBuf bytesWOLengthFor(final IpAddressNoZone address) { final ByteBuf body = Unpooled.buffer(); - if (address.getIpv4Address() != null) { - body.writeBytes(Ipv4Util.bytesForAddress(address.getIpv4Address())); - } else if (address.getIpv6Address() != null) { - body.writeBytes(Ipv6Util.bytesForAddress(address.getIpv6Address())); + if (address.getIpv4AddressNoZone() != null) { + body.writeBytes(Ipv4Util.bytesForAddress(address.getIpv4AddressNoZone())); + } else if (address.getIpv6AddressNoZone() != null) { + body.writeBytes(Ipv6Util.bytesForAddress(address.getIpv6AddressNoZone())); } else { body.writeByte(0); } return body; } - public static IpAddress extractIpAddress(final DataContainerNode route, final NodeIdentifier rdNid) { + public static IpAddressNoZone extractIpAddress(final DataContainerNode route, final NodeIdentifier rdNid) { final NormalizedNode rdNode = NormalizedNodes.findNode(route, rdNid).orElse(null); if (rdNode != null) { - return IpAddressBuilder.getDefaultInstance((String) rdNode.getValue()); + return IpAddressNoZoneBuilder.getDefaultInstance((String) rdNode.getValue()); } return null; } diff --git a/bgp/concepts/src/main/java/org/opendaylight/bgp/concepts/RouteDistinguisherUtil.java b/bgp/concepts/src/main/java/org/opendaylight/bgp/concepts/RouteDistinguisherUtil.java index f7437a6413..f973e131b0 100644 --- a/bgp/concepts/src/main/java/org/opendaylight/bgp/concepts/RouteDistinguisherUtil.java +++ b/bgp/concepts/src/main/java/org/opendaylight/bgp/concepts/RouteDistinguisherUtil.java @@ -14,7 +14,7 @@ import com.google.common.annotations.VisibleForTesting; import com.google.common.base.Preconditions; import io.netty.buffer.ByteBuf; import org.opendaylight.protocol.util.Ipv4Util; -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.inet.types.rev130715.Ipv4AddressNoZone; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.types.rev180329.RdAs; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.types.rev180329.RdIpv4; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.types.rev180329.RdTwoOctetAs; @@ -88,7 +88,7 @@ public final class RouteDistinguisherUtil { checkNoColon(value, first); buf.writeShort(RDType.IPV4.value); - buf.writeBytes(Ipv4Util.bytesForAddress(new Ipv4Address(value.substring(0, first)))); + buf.writeBytes(Ipv4Util.bytesForAddress(new Ipv4AddressNoZone(value.substring(0, first)))); buf.writeShort(Integer.parseUnsignedInt(value.substring(first + 1))); } diff --git a/bgp/concepts/src/main/yang/bgp-types.yang b/bgp/concepts/src/main/yang/bgp-types.yang index 89c6e8b11e..f3204dfeb4 100644 --- a/bgp/concepts/src/main/yang/bgp-types.yang +++ b/bgp/concepts/src/main/yang/bgp-types.yang @@ -48,7 +48,7 @@ module bgp-types { typedef bgp-id { description "BGP identifier"; - type inet:ipv4-address; + type inet:ipv4-address-no-zone; } identity address-family { @@ -81,7 +81,7 @@ module bgp-types { typedef cluster-identifier { reference "http://tools.ietf.org/html/rfc4456#section-8"; - type inet:ipv4-address; + type inet:ipv4-address-no-zone; } typedef short-as-number { @@ -204,7 +204,7 @@ module bgp-types { type inet:as-number; } leaf network-address { - type inet:ipv4-address; + type inet:ipv4-address-no-zone; } } @@ -222,7 +222,7 @@ module bgp-types { grouping route-ipv4-extended-community { reference "http://tools.ietf.org/html/rfc4360"; leaf global-administrator { - type inet:ipv4-address; + type inet:ipv4-address-no-zone; } leaf local-administrator { type uint16; @@ -273,7 +273,7 @@ module bgp-types { grouping inet4-specific-extended-community-common { container inet4-specific-extended-community-common { leaf global-administrator { - type inet:ipv4-address; + type inet:ipv4-address-no-zone; } leaf local-administrator { type binary { @@ -371,7 +371,7 @@ module bgp-types { uses inet4-specific-extended-community-common; leaf global-administrator { status deprecated; - type inet:ipv4-address; + type inet:ipv4-address-no-zone; } leaf local-administrator { status deprecated; @@ -465,7 +465,7 @@ module bgp-types { container ipv4-next-hop { reference "http://tools.ietf.org/html/rfc4271#section-5.1.3"; leaf global { - type inet:ipv4-address; + type inet:ipv4-address-no-zone; mandatory true; } } @@ -474,11 +474,11 @@ module bgp-types { container ipv6-next-hop { reference "http://tools.ietf.org/html/rfc4760#section-3"; leaf global { - type inet:ipv6-address; + type inet:ipv6-address-no-zone; mandatory true; } leaf link-local { - type inet:ipv6-address; + type inet:ipv6-address-no-zone; } } } @@ -511,7 +511,7 @@ module bgp-types { grouping orig-route-ip-grouping { leaf orig-route-ip { - type inet:ip-address; + type inet:ip-address-no-zone; mandatory true; } } diff --git a/bgp/concepts/src/test/java/org/opendaylight/bgp/concepts/NextHopUtilTest.java b/bgp/concepts/src/test/java/org/opendaylight/bgp/concepts/NextHopUtilTest.java index 68711bf0da..bfbd579be8 100644 --- a/bgp/concepts/src/test/java/org/opendaylight/bgp/concepts/NextHopUtilTest.java +++ b/bgp/concepts/src/test/java/org/opendaylight/bgp/concepts/NextHopUtilTest.java @@ -16,8 +16,8 @@ import io.netty.buffer.ByteBuf; import io.netty.buffer.Unpooled; import org.junit.Test; import org.opendaylight.protocol.util.ByteArray; -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.inet.types.rev130715.Ipv6Address; +import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4AddressNoZone; +import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6AddressNoZone; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.types.rev180329.next.hop.CNextHop; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.types.rev180329.next.hop.c.next.hop.Ipv4NextHopCase; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.types.rev180329.next.hop.c.next.hop.Ipv4NextHopCaseBuilder; @@ -33,9 +33,9 @@ public class NextHopUtilTest { private static final byte[] IPV6LB = {0x20, 1, 0x0d, (byte) 0xb8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, (byte) 0xfe, (byte) 0x80, 0, 0, 0, 0, 0, 0, (byte) 0xc0, 1, 0x0b, (byte) 0xff, (byte) 0xfe, 0x7e, 0, 0}; - private static final Ipv4Address IPV4 = new Ipv4Address("42.42.42.42"); - private static final Ipv6Address IPV6 = new Ipv6Address("2001:db8::1"); - private static final Ipv6Address IPV6L = new Ipv6Address("fe80::c001:bff:fe7e:0"); + private static final Ipv4AddressNoZone IPV4 = new Ipv4AddressNoZone("42.42.42.42"); + private static final Ipv6AddressNoZone IPV6 = new Ipv6AddressNoZone("2001:db8::1"); + private static final Ipv6AddressNoZone IPV6L = new Ipv6AddressNoZone("fe80::c001:bff:fe7e:0"); @Test public void testSerializeNextHop() { diff --git a/bgp/extensions/evpn/src/main/java/org/opendaylight/protocol/bgp/evpn/impl/esi/types/EsiModelUtil.java b/bgp/extensions/evpn/src/main/java/org/opendaylight/protocol/bgp/evpn/impl/esi/types/EsiModelUtil.java index a222273c6a..fbe6c249ea 100644 --- a/bgp/extensions/evpn/src/main/java/org/opendaylight/protocol/bgp/evpn/impl/esi/types/EsiModelUtil.java +++ b/bgp/extensions/evpn/src/main/java/org/opendaylight/protocol/bgp/evpn/impl/esi/types/EsiModelUtil.java @@ -9,7 +9,7 @@ package org.opendaylight.protocol.bgp.evpn.impl.esi.types; import com.google.common.base.Preconditions; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.AsNumber; -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.inet.types.rev130715.Ipv4AddressNoZone; 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.params.xml.ns.yang.bgp.evpn.rev180329.esi.esi.arbitrary._case.Arbitrary; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.evpn.rev180329.esi.esi.arbitrary._case.ArbitraryBuilder; @@ -85,7 +85,7 @@ final class EsiModelUtil { return new MacAddress((String) macGEn.getChild(SYSTEM_MAC_NID).get().getValue()); } - static Ipv4Address extractRD(final ContainerNode t4) { - return new Ipv4Address((String) t4.getChild(RD_NID).get().getValue()); + static Ipv4AddressNoZone extractRD(final ContainerNode t4) { + return new Ipv4AddressNoZone((String) t4.getChild(RD_NID).get().getValue()); } } diff --git a/bgp/extensions/evpn/src/main/java/org/opendaylight/protocol/bgp/evpn/impl/nlri/EthSegRParser.java b/bgp/extensions/evpn/src/main/java/org/opendaylight/protocol/bgp/evpn/impl/nlri/EthSegRParser.java index 063f8cb009..eb805d7815 100644 --- a/bgp/extensions/evpn/src/main/java/org/opendaylight/protocol/bgp/evpn/impl/nlri/EthSegRParser.java +++ b/bgp/extensions/evpn/src/main/java/org/opendaylight/protocol/bgp/evpn/impl/nlri/EthSegRParser.java @@ -5,17 +5,16 @@ * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ - package org.opendaylight.protocol.bgp.evpn.impl.nlri; +import static com.google.common.base.Preconditions.checkArgument; import static org.opendaylight.protocol.bgp.evpn.impl.nlri.NlriModelUtil.extractOrigRouteIp; -import com.google.common.base.Preconditions; import io.netty.buffer.ByteBuf; import io.netty.buffer.Unpooled; import org.opendaylight.bgp.concepts.IpAddressUtil; import org.opendaylight.protocol.bgp.evpn.spi.pojo.SimpleEsiTypeRegistry; -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.IpAddressNoZone; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.evpn.rev180329.NlriType; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.evpn.rev180329.es.route.EsRoute; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.evpn.rev180329.es.route.EsRouteBuilder; @@ -33,12 +32,11 @@ final class EthSegRParser extends AbstractEvpnNlri { @Override public EvpnChoice parseEvpn(final ByteBuf buffer) { - Preconditions.checkArgument(buffer.readableBytes() == CONTENT_LENGTH - || buffer.readableBytes() == CONTENT_LENGTH2, + checkArgument(buffer.readableBytes() == CONTENT_LENGTH || buffer.readableBytes() == CONTENT_LENGTH2, "Wrong length of array of bytes. Passed: %s ;", buffer); final Esi esi = SimpleEsiTypeRegistry.getInstance().parseEsi(buffer.readSlice(ESI_SIZE)); - final IpAddress ip = IpAddressUtil.addressForByteBuf(buffer); + final IpAddressNoZone ip = IpAddressUtil.addressForByteBuf(buffer); final EsRouteBuilder builder = new EsRouteBuilder().setEsi(esi).setOrigRouteIp(ip); return new EsRouteCaseBuilder().setEsRoute(builder.build()).build(); @@ -51,13 +49,13 @@ final class EthSegRParser extends AbstractEvpnNlri { @Override public ByteBuf serializeBody(final EvpnChoice evpnInput) { - Preconditions.checkArgument(evpnInput instanceof EsRouteCase, - "Unknown evpn instance. Passed %s. Needed EsRouteCase.", evpnInput.getClass()); + checkArgument(evpnInput instanceof EsRouteCase, "Unknown evpn instance. Passed %s. Needed EsRouteCase.", + evpnInput.getClass()); final EsRoute evpn = ((EsRouteCase) evpnInput).getEsRoute(); final ByteBuf body = Unpooled.buffer(); SimpleEsiTypeRegistry.getInstance().serializeEsi(evpn.getEsi(), body); final ByteBuf orig = IpAddressUtil.bytesFor(evpn.getOrigRouteIp()); - Preconditions.checkArgument(orig.readableBytes() > 0); + checkArgument(orig.readableBytes() > 0); body.writeBytes(orig); return body; } diff --git a/bgp/extensions/evpn/src/main/java/org/opendaylight/protocol/bgp/evpn/impl/nlri/IncMultEthTagRParser.java b/bgp/extensions/evpn/src/main/java/org/opendaylight/protocol/bgp/evpn/impl/nlri/IncMultEthTagRParser.java index 0adef2f87c..503bd2161c 100644 --- a/bgp/extensions/evpn/src/main/java/org/opendaylight/protocol/bgp/evpn/impl/nlri/IncMultEthTagRParser.java +++ b/bgp/extensions/evpn/src/main/java/org/opendaylight/protocol/bgp/evpn/impl/nlri/IncMultEthTagRParser.java @@ -14,7 +14,7 @@ import com.google.common.base.Preconditions; import io.netty.buffer.ByteBuf; import io.netty.buffer.Unpooled; import org.opendaylight.bgp.concepts.IpAddressUtil; -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.IpAddressNoZone; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.evpn.rev180329.NlriType; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.evpn.rev180329.ethernet.tag.id.EthernetTagId; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.evpn.rev180329.ethernet.tag.id.EthernetTagIdBuilder; @@ -46,7 +46,7 @@ final class IncMultEthTagRParser extends AbstractEvpnNlri { "Wrong length of array of bytes. Passed: %s ;", buffer); final EthernetTagId eti = new EthernetTagIdBuilder().setVlanId(ByteBufUtils.readUint32(buffer)).build(); - IpAddress ip = IpAddressUtil.addressForByteBuf(buffer); + final IpAddressNoZone ip = IpAddressUtil.addressForByteBuf(buffer); final IncMultiEthernetTagResBuilder builder = new IncMultiEthernetTagResBuilder() .setEthernetTagId(eti).setOrigRouteIp(ip); return new IncMultiEthernetTagResCaseBuilder().setIncMultiEthernetTagRes(builder.build()).build(); diff --git a/bgp/extensions/evpn/src/main/java/org/opendaylight/protocol/bgp/evpn/impl/nlri/MACIpAdvRParser.java b/bgp/extensions/evpn/src/main/java/org/opendaylight/protocol/bgp/evpn/impl/nlri/MACIpAdvRParser.java index 092fbcabdc..e18d218663 100644 --- a/bgp/extensions/evpn/src/main/java/org/opendaylight/protocol/bgp/evpn/impl/nlri/MACIpAdvRParser.java +++ b/bgp/extensions/evpn/src/main/java/org/opendaylight/protocol/bgp/evpn/impl/nlri/MACIpAdvRParser.java @@ -23,7 +23,7 @@ import org.opendaylight.protocol.bgp.evpn.spi.pojo.SimpleEsiTypeRegistry; import org.opendaylight.protocol.util.ByteArray; import org.opendaylight.protocol.util.Ipv4Util; import org.opendaylight.protocol.util.Ipv6Util; -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.IpAddressNoZone; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.IetfYangUtil; 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.params.xml.ns.yang.bgp.evpn.rev180329.NlriType; @@ -50,7 +50,7 @@ final class MACIpAdvRParser extends AbstractEvpnNlri { final EthernetTagId eti = new EthernetTagIdBuilder().setVlanId(ByteBufUtils.readUint32(buffer)).build(); buffer.skipBytes(1); final MacAddress mac = IetfYangUtil.INSTANCE.macAddressFor(ByteArray.readBytes(buffer, MAC_ADDRESS_LENGTH)); - final IpAddress ip = parseIp(buffer); + final IpAddressNoZone ip = parseIp(buffer); final MplsLabel label1 = mplsLabelForByteBuf(buffer); MplsLabel label2; if (buffer.readableBytes() > 0) { @@ -121,15 +121,15 @@ final class MACIpAdvRParser extends AbstractEvpnNlri { return builder; } - private static ByteBuf serializeIp(final IpAddress ipAddress) { + private static ByteBuf serializeIp(final IpAddressNoZone ipAddress) { final ByteBuf body = Unpooled.buffer(); if (ipAddress != null) { - if (ipAddress.getIpv4Address() != null) { + if (ipAddress.getIpv4AddressNoZone() != null) { body.writeByte(Ipv4Util.IP4_BITS_LENGTH); - body.writeBytes(Ipv4Util.bytesForAddress(ipAddress.getIpv4Address())); - } else if (ipAddress.getIpv6Address() != null) { + body.writeBytes(Ipv4Util.bytesForAddress(ipAddress.getIpv4AddressNoZone())); + } else if (ipAddress.getIpv6AddressNoZone() != null) { body.writeByte(Ipv6Util.IPV6_BITS_LENGTH); - body.writeBytes(Ipv6Util.bytesForAddress(ipAddress.getIpv6Address())); + body.writeBytes(Ipv6Util.bytesForAddress(ipAddress.getIpv6AddressNoZone())); } else { body.writeByte(0); } @@ -139,12 +139,12 @@ final class MACIpAdvRParser extends AbstractEvpnNlri { return body; } - private static IpAddress parseIp(final ByteBuf buffer) { + private static IpAddressNoZone parseIp(final ByteBuf buffer) { final int ipLength = buffer.readUnsignedByte(); if (ipLength == Ipv6Util.IPV6_BITS_LENGTH) { - return new IpAddress(Ipv6Util.addressForByteBuf(buffer)); + return new IpAddressNoZone(Ipv6Util.addressForByteBuf(buffer)); } else if (ipLength == Ipv4Util.IP4_BITS_LENGTH) { - return new IpAddress(Ipv4Util.addressForByteBuf(buffer)); + return new IpAddressNoZone(Ipv4Util.addressForByteBuf(buffer)); } return null; } diff --git a/bgp/extensions/evpn/src/main/java/org/opendaylight/protocol/bgp/evpn/impl/nlri/NlriModelUtil.java b/bgp/extensions/evpn/src/main/java/org/opendaylight/protocol/bgp/evpn/impl/nlri/NlriModelUtil.java index 1db73f3769..74f198d52f 100644 --- a/bgp/extensions/evpn/src/main/java/org/opendaylight/protocol/bgp/evpn/impl/nlri/NlriModelUtil.java +++ b/bgp/extensions/evpn/src/main/java/org/opendaylight/protocol/bgp/evpn/impl/nlri/NlriModelUtil.java @@ -7,8 +7,8 @@ */ package org.opendaylight.protocol.bgp.evpn.impl.nlri; -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.IpAddressNoZone; +import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddressNoZoneBuilder; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.MacAddress; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.evpn.rev180329.ethernet.tag.id.EthernetTagId; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.evpn.rev180329.ethernet.tag.id.EthernetTagIdBuilder; @@ -51,11 +51,10 @@ final class NlriModelUtil { return RouteDistinguisherBuilder.getDefaultInstance((String) evpn.getChild(RD_NID).get().getValue()); } - static IpAddress extractOrigRouteIp(final DataContainerNode evpn) { - return IpAddressBuilder.getDefaultInstance((String) evpn.getChild(ORI_NID).get().getValue()); + static IpAddressNoZone extractOrigRouteIp(final DataContainerNode evpn) { + return IpAddressNoZoneBuilder.getDefaultInstance((String) evpn.getChild(ORI_NID).get().getValue()); } - static EthernetTagId extractETI(final ContainerNode evpn) { final ContainerNode eti = (ContainerNode) evpn.getChild(ETI_NID).get(); return new EthernetTagIdBuilder().setVlanId((Uint32) eti.getChild(VLAN_NID).get().getValue()).build(); @@ -65,19 +64,13 @@ final class NlriModelUtil { return new MacAddress((String) evpn.getChild(MAC_NID).get().getValue()); } - - static IpAddress extractIp(final DataContainerNode evpn) { - if (evpn.getChild(IP_NID).isPresent()) { - return IpAddressBuilder.getDefaultInstance((String) evpn.getChild(IP_NID).get().getValue()); - } - return null; + static IpAddressNoZone extractIp(final DataContainerNode evpn) { + return evpn.getChild(IP_NID).map(child -> IpAddressNoZoneBuilder.getDefaultInstance((String) child.getValue())) + .orElse(null); } static MplsLabel extractMplsLabel(final DataContainerNode evpn, final NodeIdentifier mplsNid) { - if (evpn.getChild(mplsNid).isPresent()) { - return new MplsLabel((Uint32) evpn.getChild(mplsNid).get().getValue()); - } - return null; + return evpn.getChild(mplsNid).map(child -> new MplsLabel((Uint32) child.getValue())).orElse(null); } } diff --git a/bgp/extensions/evpn/src/main/yang/odl-bgp-evpn.yang b/bgp/extensions/evpn/src/main/yang/odl-bgp-evpn.yang index a50a50e433..c2e164422d 100644 --- a/bgp/extensions/evpn/src/main/yang/odl-bgp-evpn.yang +++ b/bgp/extensions/evpn/src/main/yang/odl-bgp-evpn.yang @@ -194,7 +194,7 @@ module odl-bgp-evpn { can be auto-generated or configured by the operator"; leaf router-id { - type inet:ipv4-address; + type inet:ipv4-address-no-zone; mandatory true; } uses local-discriminator; @@ -241,7 +241,7 @@ module odl-bgp-evpn { mandatory true; } leaf ip-address { - type inet:ip-address; + type inet:ip-address-no-zone; } leaf mpls-label1 { type netc:mpls-label; diff --git a/bgp/extensions/evpn/src/test/java/org/opendaylight/protocol/bgp/evpn/impl/EvpnTestUtil.java b/bgp/extensions/evpn/src/test/java/org/opendaylight/protocol/bgp/evpn/impl/EvpnTestUtil.java index 80b2fa28cb..3946e68018 100644 --- a/bgp/extensions/evpn/src/test/java/org/opendaylight/protocol/bgp/evpn/impl/EvpnTestUtil.java +++ b/bgp/extensions/evpn/src/test/java/org/opendaylight/protocol/bgp/evpn/impl/EvpnTestUtil.java @@ -8,9 +8,9 @@ package org.opendaylight.protocol.bgp.evpn.impl; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.AsNumber; -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.inet.types.rev130715.Ipv6Address; +import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddressNoZone; +import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4AddressNoZone; +import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6AddressNoZone; 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.params.xml.ns.yang.bgp.types.rev180329.RouteDistinguisher; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.types.rev180329.RouteDistinguisherBuilder; @@ -36,9 +36,9 @@ public final class EvpnTestUtil { public static final int COMMUNITY_VALUE_SIZE = 6; public static final Uint32 VLAN = Uint32.TEN; public static final String IP_MODEL = "127.0.0.1"; - public static final IpAddress IP = new IpAddress(new Ipv4Address(IP_MODEL)); + public static final IpAddressNoZone IP = new IpAddressNoZone(new Ipv4AddressNoZone(IP_MODEL)); public static final String IPV6_MODEL = "2001::1"; - public static final IpAddress IPV6 = new IpAddress(new Ipv6Address(IPV6_MODEL)); + public static final IpAddressNoZone IPV6 = new IpAddressNoZone(new Ipv6AddressNoZone(IPV6_MODEL)); public static final Uint32 MPLS_LABEL2_MODEL = Uint32.valueOf(24002L); public static final MplsLabel MPLS_LABEL2 = new MplsLabel(MPLS_LABEL2_MODEL); public static final String RD_MODEL = "1.2.3.4:258"; diff --git a/bgp/extensions/evpn/src/test/java/org/opendaylight/protocol/bgp/evpn/impl/esi/types/RouterIdParserTest.java b/bgp/extensions/evpn/src/test/java/org/opendaylight/protocol/bgp/evpn/impl/esi/types/RouterIdParserTest.java index ff55677b19..ccd0e1165c 100644 --- a/bgp/extensions/evpn/src/test/java/org/opendaylight/protocol/bgp/evpn/impl/esi/types/RouterIdParserTest.java +++ b/bgp/extensions/evpn/src/test/java/org/opendaylight/protocol/bgp/evpn/impl/esi/types/RouterIdParserTest.java @@ -21,7 +21,7 @@ import io.netty.buffer.Unpooled; import org.junit.Before; import org.junit.Test; import org.opendaylight.protocol.util.ByteArray; -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.inet.types.rev130715.Ipv4AddressNoZone; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.evpn.rev180329.esi.Esi; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.evpn.rev180329.esi.esi.ArbitraryCaseBuilder; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.evpn.rev180329.esi.esi.RouterIdGeneratedCase; @@ -39,7 +39,7 @@ public class RouterIdParserTest { (byte) 0x02, (byte) 0x02, (byte) 0x02, (byte) 0x00}; private static final byte[] VALUE = {(byte) 0x2A, (byte) 0x2A, (byte) 0x2A, (byte) 0x2A, (byte) 0x02, (byte) 0x02, (byte) 0x02, (byte) 0x02, (byte) 0x00}; - private static final Ipv4Address ROUTE_ID = new Ipv4Address("42.42.42.42"); + private static final Ipv4AddressNoZone ROUTE_ID = new Ipv4AddressNoZone("42.42.42.42"); public static final RouterIdGeneratedCase ROUTE_ID_CASE = new RouterIdGeneratedCaseBuilder() .setRouterIdGenerated(new RouterIdGeneratedBuilder() .setLocalDiscriminator(LD).setRouterId(ROUTE_ID).build()).build(); diff --git a/bgp/extensions/flowspec/src/main/java/org/opendaylight/protocol/bgp/flowspec/extended/communities/RedirectIpNextHopEcHandler.java b/bgp/extensions/flowspec/src/main/java/org/opendaylight/protocol/bgp/flowspec/extended/communities/RedirectIpNextHopEcHandler.java index bcb643d514..0ef3e2bcbe 100644 --- a/bgp/extensions/flowspec/src/main/java/org/opendaylight/protocol/bgp/flowspec/extended/communities/RedirectIpNextHopEcHandler.java +++ b/bgp/extensions/flowspec/src/main/java/org/opendaylight/protocol/bgp/flowspec/extended/communities/RedirectIpNextHopEcHandler.java @@ -14,7 +14,7 @@ import org.opendaylight.protocol.bgp.parser.spi.extended.community.ExtendedCommu import org.opendaylight.protocol.bgp.parser.spi.extended.community.ExtendedCommunitySerializer; import org.opendaylight.protocol.util.Ipv4Util; import org.opendaylight.protocol.util.Ipv6Util; -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.IpAddressNoZone; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.flowspec.rev180329.redirect.ip.nh.extended.community.RedirectIpNhExtendedCommunity; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.flowspec.rev180329.redirect.ip.nh.extended.community.RedirectIpNhExtendedCommunityBuilder; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.flowspec.rev180329.update.attributes.extended.communities.extended.community.RedirectIpNhExtendedCommunityCaseBuilder; @@ -34,11 +34,11 @@ public class RedirectIpNextHopEcHandler implements ExtendedCommunityParser, Exte final RedirectIpNhExtendedCommunity redirect = ((org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns .yang.bgp.flowspec.rev180329.RedirectIpNhExtendedCommunity) extendedCommunity) .getRedirectIpNhExtendedCommunity(); - final IpAddress nextHopAddress = redirect.getNextHopAddress(); - if (nextHopAddress.getIpv4Address() != null) { - Ipv4Util.writeIpv4Address(nextHopAddress.getIpv4Address(), byteAggregator); + final IpAddressNoZone nextHopAddress = redirect.getNextHopAddress(); + if (nextHopAddress.getIpv4AddressNoZone() != null) { + Ipv4Util.writeIpv4Address(nextHopAddress.getIpv4AddressNoZone(), byteAggregator); } else { - Ipv6Util.writeIpv6Address(nextHopAddress.getIpv6Address(), byteAggregator); + Ipv6Util.writeIpv6Address(nextHopAddress.getIpv6AddressNoZone(), byteAggregator); } byteAggregator.writeShort(Boolean.TRUE.equals(redirect.isCopy()) ? 1 : 0); } @@ -47,9 +47,9 @@ public class RedirectIpNextHopEcHandler implements ExtendedCommunityParser, Exte public ExtendedCommunity parseExtendedCommunity(final ByteBuf buffer) { final RedirectIpNhExtendedCommunityBuilder builder = new RedirectIpNhExtendedCommunityBuilder(); if (buffer.readableBytes() > Ipv6Util.IPV6_LENGTH) { - builder.setNextHopAddress(new IpAddress(Ipv6Util.addressForByteBuf(buffer))); + builder.setNextHopAddress(new IpAddressNoZone(Ipv6Util.addressForByteBuf(buffer))); } else { - builder.setNextHopAddress(new IpAddress(Ipv4Util.addressForByteBuf(buffer))); + builder.setNextHopAddress(new IpAddressNoZone(Ipv4Util.addressForByteBuf(buffer))); } builder.setCopy((buffer.readUnsignedShort() & COPY) == 1); return new RedirectIpNhExtendedCommunityCaseBuilder().setRedirectIpNhExtendedCommunity(builder.build()).build(); diff --git a/bgp/extensions/flowspec/src/main/yang/bgp-flowspec.yang b/bgp/extensions/flowspec/src/main/yang/bgp-flowspec.yang index 5324aaaa8b..75f2083096 100644 --- a/bgp/extensions/flowspec/src/main/yang/bgp-flowspec.yang +++ b/bgp/extensions/flowspec/src/main/yang/bgp-flowspec.yang @@ -394,7 +394,7 @@ module bgp-flowspec { grouping redirect-ipv6-extended-community { container redirect-ipv6 { leaf global-administrator { - type inet:ipv6-address; + type inet:ipv6-address-no-zone; } leaf local-administrator { type uint16; @@ -426,7 +426,7 @@ module bgp-flowspec { reference "https://tools.ietf.org/html/draft-ietf-idr-flowspec-redirect-ip-02"; container redirect-ip-nh-extended-community { leaf next-hop-address { - type inet:ip-address; + type inet:ip-address-no-zone; } leaf copy { type boolean; diff --git a/bgp/extensions/flowspec/src/test/java/org/opendaylight/protocol/bgp/flowspec/extended/communities/FSExtendedCommunitiesTest.java b/bgp/extensions/flowspec/src/test/java/org/opendaylight/protocol/bgp/flowspec/extended/communities/FSExtendedCommunitiesTest.java index 2d3229b24b..fa8d4ae572 100644 --- a/bgp/extensions/flowspec/src/test/java/org/opendaylight/protocol/bgp/flowspec/extended/communities/FSExtendedCommunitiesTest.java +++ b/bgp/extensions/flowspec/src/test/java/org/opendaylight/protocol/bgp/flowspec/extended/communities/FSExtendedCommunitiesTest.java @@ -23,9 +23,9 @@ import org.opendaylight.protocol.bgp.parser.spi.BGPExtensionProviderContext; import org.opendaylight.protocol.bgp.parser.spi.extended.community.ExtendedCommunityRegistry; import org.opendaylight.protocol.bgp.parser.spi.pojo.SimpleBGPExtensionProviderContext; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.AsNumber; -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.inet.types.rev130715.Ipv6Address; +import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddressNoZone; +import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4AddressNoZone; +import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6AddressNoZone; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.flowspec.rev180329.Dscp; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.flowspec.rev180329.redirect.as4.extended.community.RedirectAs4Builder; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.flowspec.rev180329.redirect.extended.community.RedirectExtendedCommunityBuilder; @@ -41,9 +41,7 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.flow import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.flowspec.rev180329.update.attributes.extended.communities.extended.community.RedirectExtendedCommunityCaseBuilder; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.flowspec.rev180329.update.attributes.extended.communities.extended.community.RedirectIpNhExtendedCommunityCase; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.flowspec.rev180329.update.attributes.extended.communities.extended.community.RedirectIpNhExtendedCommunityCaseBuilder; -import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.flowspec.rev180329.update.attributes.extended.communities.extended.community.RedirectIpv4ExtendedCommunityCase; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.flowspec.rev180329.update.attributes.extended.communities.extended.community.RedirectIpv4ExtendedCommunityCaseBuilder; -import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.flowspec.rev180329.update.attributes.extended.communities.extended.community.RedirectIpv6ExtendedCommunityCase; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.flowspec.rev180329.update.attributes.extended.communities.extended.community.RedirectIpv6ExtendedCommunityCaseBuilder; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.flowspec.rev180329.update.attributes.extended.communities.extended.community.TrafficActionExtendedCommunityCase; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.flowspec.rev180329.update.attributes.extended.communities.extended.community.TrafficActionExtendedCommunityCaseBuilder; @@ -221,12 +219,15 @@ public class FSExtendedCommunitiesTest { @Test public void testRedirectIpv6Parser() throws BGPDocumentedException, BGPParsingException { - final RedirectIpv6ExtendedCommunityCase redirect = new RedirectIpv6ExtendedCommunityCaseBuilder() - .setRedirectIpv6(new RedirectIpv6Builder() - .setGlobalAdministrator(new Ipv6Address("102:304:506:708:90a:b0c:d0e:f10")) - .setLocalAdministrator(Uint16.valueOf(258)).build()).build(); - final ExtendedCommunities expected = new ExtendedCommunitiesBuilder().setExtendedCommunity(redirect) - .setTransitive(true).build(); + final ExtendedCommunities expected = new ExtendedCommunitiesBuilder() + .setExtendedCommunity(new RedirectIpv6ExtendedCommunityCaseBuilder() + .setRedirectIpv6(new RedirectIpv6Builder() + .setGlobalAdministrator(new Ipv6AddressNoZone("102:304:506:708:90a:b0c:d0e:f10")) + .setLocalAdministrator(Uint16.valueOf(258)) + .build()) + .build()) + .setTransitive(true) + .build(); final ExtendedCommunities parsed = this.registry.parseExtendedCommunity(Unpooled.copiedBuffer(REDIRECT_IPV6)); Assert.assertEquals(expected, parsed); @@ -239,7 +240,7 @@ public class FSExtendedCommunitiesTest { new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.flowspec.rev180329.bgp.rib .route.attributes.extended.communities.extended.community.RedirectIpv6ExtendedCommunityCaseBuilder() .setRedirectIpv6(new RedirectIpv6Builder() - .setGlobalAdministrator(new Ipv6Address("102:304:506:708:90a:b0c:d0e:f10")) + .setGlobalAdministrator(new Ipv6AddressNoZone("102:304:506:708:90a:b0c:d0e:f10")) .setLocalAdministrator(Uint16.valueOf(258)).build()).build(); final ExtendedCommunities expected = new ExtendedCommunitiesBuilder().setExtendedCommunity(redirect) .setTransitive(true).build(); @@ -285,12 +286,15 @@ public class FSExtendedCommunitiesTest { @Test public void testRedirectIpv4Parser() throws BGPDocumentedException, BGPParsingException { - final RedirectIpv4ExtendedCommunityCase redirect = new RedirectIpv4ExtendedCommunityCaseBuilder() - .setRedirectIpv4(new RedirectIpv4Builder().setGlobalAdministrator(new Ipv4Address("127.0.0.1")) - .setLocalAdministrator(Uint16.valueOf(126)).build()).build(); - - final ExtendedCommunities expected = new ExtendedCommunitiesBuilder().setExtendedCommunity(redirect) - .setTransitive(true).build(); + final ExtendedCommunities expected = new ExtendedCommunitiesBuilder() + .setExtendedCommunity(new RedirectIpv4ExtendedCommunityCaseBuilder() + .setRedirectIpv4(new RedirectIpv4Builder() + .setGlobalAdministrator(new Ipv4AddressNoZone("127.0.0.1")) + .setLocalAdministrator(Uint16.valueOf(126)) + .build()) + .build()) + .setTransitive(true) + .build(); final ExtendedCommunities parsed = this.registry.parseExtendedCommunity(Unpooled.copiedBuffer(REDIRECT_IPV4)); Assert.assertEquals(expected, parsed); @@ -298,15 +302,17 @@ public class FSExtendedCommunitiesTest { @Test public void testredirectIpv4Serializer() throws BGPDocumentedException, BGPParsingException { - final org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.flowspec.rev180329.bgp.rib.route - .attributes.extended.communities.extended.community.RedirectIpv4ExtendedCommunityCase redirect = - new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.flowspec.rev180329.bgp.rib - .route.attributes.extended.communities.extended.community.RedirectIpv4ExtendedCommunityCaseBuilder() - .setRedirectIpv4(new RedirectIpv4Builder().setGlobalAdministrator(new Ipv4Address("127.0.0.1")) - .setLocalAdministrator(Uint16.valueOf(126)).build()).build(); - - final ExtendedCommunities expected = new ExtendedCommunitiesBuilder().setExtendedCommunity(redirect) - .setTransitive(true).build(); + final ExtendedCommunities expected = new ExtendedCommunitiesBuilder() + .setExtendedCommunity(new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.flowspec + .rev180329.bgp.rib.route.attributes.extended.communities.extended.community + .RedirectIpv4ExtendedCommunityCaseBuilder() + .setRedirectIpv4(new RedirectIpv4Builder() + .setGlobalAdministrator(new Ipv4AddressNoZone("127.0.0.1")) + .setLocalAdministrator(Uint16.valueOf(126)) + .build()) + .build()) + .setTransitive(true) + .build(); final ByteBuf output = Unpooled.buffer(REDIRECT_IPV4.length); this.registry.serializeExtendedCommunity(expected, output); @@ -315,12 +321,15 @@ public class FSExtendedCommunitiesTest { @Test public void testRedirectIpv4NhParser() throws BGPDocumentedException, BGPParsingException { - final RedirectIpNhExtendedCommunityCase redirect = new RedirectIpNhExtendedCommunityCaseBuilder() - .setRedirectIpNhExtendedCommunity(new RedirectIpNhExtendedCommunityBuilder() - .setNextHopAddress(new IpAddress(new Ipv4Address("127.0.0.1"))).setCopy(true).build()).build(); - - final ExtendedCommunities expected = new ExtendedCommunitiesBuilder().setExtendedCommunity(redirect) - .setTransitive(true).build(); + final ExtendedCommunities expected = new ExtendedCommunitiesBuilder() + .setExtendedCommunity(new RedirectIpNhExtendedCommunityCaseBuilder() + .setRedirectIpNhExtendedCommunity(new RedirectIpNhExtendedCommunityBuilder() + .setNextHopAddress(new IpAddressNoZone(new Ipv4AddressNoZone("127.0.0.1"))) + .setCopy(true) + .build()) + .build()) + .setTransitive(true) + .build(); final ExtendedCommunities parsed = this.registry.parseExtendedCommunity( Unpooled.copiedBuffer(REDIRECT_NH_IPV4)); @@ -334,7 +343,10 @@ public class FSExtendedCommunitiesTest { new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.flowspec.rev180329.bgp.rib .route.attributes.extended.communities.extended.community.RedirectIpNhExtendedCommunityCaseBuilder() .setRedirectIpNhExtendedCommunity(new RedirectIpNhExtendedCommunityBuilder() - .setNextHopAddress(new IpAddress(new Ipv4Address("127.0.0.1"))).setCopy(true).build()).build(); + .setNextHopAddress(new IpAddressNoZone(new Ipv4AddressNoZone("127.0.0.1"))) + .setCopy(true) + .build()) + .build(); final ExtendedCommunities expected = new ExtendedCommunitiesBuilder().setExtendedCommunity(redirect) .setTransitive(true).build(); @@ -348,7 +360,10 @@ public class FSExtendedCommunitiesTest { public void testRedirectIpv6NhParser() throws BGPDocumentedException, BGPParsingException { final RedirectIpNhExtendedCommunityCase redirect = new RedirectIpNhExtendedCommunityCaseBuilder() .setRedirectIpNhExtendedCommunity(new RedirectIpNhExtendedCommunityBuilder() - .setNextHopAddress(new IpAddress(new Ipv6Address("2001::1"))).setCopy(false).build()).build(); + .setNextHopAddress(new IpAddressNoZone(new Ipv6AddressNoZone("2001::1"))) + .setCopy(false) + .build()) + .build(); final ExtendedCommunities expected = new ExtendedCommunitiesBuilder().setExtendedCommunity(redirect) .setTransitive(true).build(); @@ -365,7 +380,7 @@ public class FSExtendedCommunitiesTest { new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.flowspec.rev180329.bgp.rib .route.attributes.extended.communities.extended.community.RedirectIpNhExtendedCommunityCaseBuilder() .setRedirectIpNhExtendedCommunity(new RedirectIpNhExtendedCommunityBuilder() - .setNextHopAddress(new IpAddress(new Ipv6Address("2001::1"))).build()).build(); + .setNextHopAddress(new IpAddressNoZone(new Ipv6AddressNoZone("2001::1"))).build()).build(); final ExtendedCommunities expected = new ExtendedCommunitiesBuilder().setExtendedCommunity(redirect) .setTransitive(true).build(); diff --git a/bgp/extensions/inet/src/test/java/org/opendaylight/protocol/bgp/inet/codec/BGPParserTest.java b/bgp/extensions/inet/src/test/java/org/opendaylight/protocol/bgp/inet/codec/BGPParserTest.java index 2bddc37642..433515b058 100644 --- a/bgp/extensions/inet/src/test/java/org/opendaylight/protocol/bgp/inet/codec/BGPParserTest.java +++ b/bgp/extensions/inet/src/test/java/org/opendaylight/protocol/bgp/inet/codec/BGPParserTest.java @@ -31,8 +31,8 @@ import org.opendaylight.protocol.bgp.parser.spi.pojo.RevisedErrorHandlingSupport import org.opendaylight.protocol.bgp.parser.spi.pojo.ServiceLoaderBGPExtensionProviderContext; import org.opendaylight.protocol.util.ByteArray; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.AsNumber; -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.inet.types.rev130715.Ipv6Address; +import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4AddressNoZone; +import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6AddressNoZone; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6Prefix; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.inet.rev180329.ipv6.prefixes.DestinationIpv6Builder; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.inet.rev180329.ipv6.prefixes.destination.ipv6.Ipv6Prefixes; @@ -176,11 +176,12 @@ public class BGPParserTest { asPath.add(new SegmentsBuilder().setAsSequence(asNumbers).build()); final Ipv6NextHopCase nextHop = new Ipv6NextHopCaseBuilder().setIpv6NextHop( - new Ipv6NextHopBuilder().setGlobal(new Ipv6Address("2001:db8::1")) - .setLinkLocal(new Ipv6Address("fe80::c001:bff:fe7e:0")).build()).build(); + new Ipv6NextHopBuilder().setGlobal(new Ipv6AddressNoZone("2001:db8::1")) + .setLinkLocal(new Ipv6AddressNoZone("fe80::c001:bff:fe7e:0")).build()).build(); - final List clusters = Lists.newArrayList(new ClusterIdentifier(new Ipv4Address("1.2.3.4")), - new ClusterIdentifier(new Ipv4Address("5.6.7.8"))); + final List clusters = Lists.newArrayList( + new ClusterIdentifier(new Ipv4AddressNoZone("1.2.3.4")), + new ClusterIdentifier(new Ipv4AddressNoZone("5.6.7.8"))); // check path attributes @@ -197,7 +198,7 @@ public class BGPParserTest { paBuilder.setMultiExitDisc(new MultiExitDiscBuilder().setMed(Uint32.ZERO).build()); assertEquals(paBuilder.getMultiExitDisc(), attrs.getMultiExitDisc()); - paBuilder.setOriginatorId(new OriginatorIdBuilder().setOriginator(new Ipv4Address("127.0.0.1")).build()); + paBuilder.setOriginatorId(new OriginatorIdBuilder().setOriginator(new Ipv4AddressNoZone("127.0.0.1")).build()); assertEquals(paBuilder.getOriginatorId(), attrs.getOriginatorId()); paBuilder.setClusterId(new ClusterIdBuilder().setCluster(clusters).build()); diff --git a/bgp/extensions/inet/src/test/java/org/opendaylight/protocol/bgp/inet/codec/nexthop/NextHopParserSerializerTest.java b/bgp/extensions/inet/src/test/java/org/opendaylight/protocol/bgp/inet/codec/nexthop/NextHopParserSerializerTest.java index 8f03fac211..bcf2380e8d 100644 --- a/bgp/extensions/inet/src/test/java/org/opendaylight/protocol/bgp/inet/codec/nexthop/NextHopParserSerializerTest.java +++ b/bgp/extensions/inet/src/test/java/org/opendaylight/protocol/bgp/inet/codec/nexthop/NextHopParserSerializerTest.java @@ -5,7 +5,6 @@ * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ - package org.opendaylight.protocol.bgp.inet.codec.nexthop; import static org.junit.Assert.assertArrayEquals; @@ -18,8 +17,8 @@ import org.junit.Before; import org.junit.Test; import org.opendaylight.protocol.bgp.parser.BGPParsingException; import org.opendaylight.protocol.util.ByteArray; -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.inet.types.rev130715.Ipv6Address; +import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4AddressNoZone; +import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6AddressNoZone; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.types.rev180329.next.hop.CNextHop; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.types.rev180329.next.hop.c.next.hop.Ipv4NextHopCase; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.types.rev180329.next.hop.c.next.hop.Ipv4NextHopCaseBuilder; @@ -33,8 +32,8 @@ public class NextHopParserSerializerTest { private static final byte[] IPV6LB = {0x20, 1, 0x0d, (byte) 0xb8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, (byte) 0xfe, (byte) 0x80, 0, 0, 0, 0, 0, 0, (byte) 0xc0, 1, 0x0b, (byte) 0xff, (byte) 0xfe, 0x7e, 0, 0}; - private static final Ipv6Address IPV6 = new Ipv6Address("2001:db8::1"); - private static final Ipv6Address IPV6L = new Ipv6Address("fe80::c001:bff:fe7e:0"); + private static final Ipv6AddressNoZone IPV6 = new Ipv6AddressNoZone("2001:db8::1"); + private static final Ipv6AddressNoZone IPV6L = new Ipv6AddressNoZone("fe80::c001:bff:fe7e:0"); private Ipv4NextHopParserSerializer ipv4NextHopParserSerializer; private Ipv6NextHopParserSerializer ipv6NextHopParserSerializer; @@ -52,7 +51,7 @@ public class NextHopParserSerializerTest { public void testSerializeIpv4NextHopCase() throws BGPParsingException { final byte[] ipv4B = {42, 42, 42, 42}; this.hop = new Ipv4NextHopCaseBuilder().setIpv4NextHop(new Ipv4NextHopBuilder() - .setGlobal(new Ipv4Address("42.42.42.42")).build()).build(); + .setGlobal(new Ipv4AddressNoZone("42.42.42.42")).build()).build(); this.ipv4NextHopParserSerializer.serializeNextHop(this.hop, this.buffer); assertArrayEquals(ipv4B, ByteArray.readAllBytes(this.buffer)); diff --git a/bgp/extensions/l3vpn/src/test/java/org/opendaylight/protocol/bgp/l3vpn/unicast/ipv4/VpnIpv4NextHopTest.java b/bgp/extensions/l3vpn/src/test/java/org/opendaylight/protocol/bgp/l3vpn/unicast/ipv4/VpnIpv4NextHopTest.java index bbca25f059..bd2f9a5f60 100644 --- a/bgp/extensions/l3vpn/src/test/java/org/opendaylight/protocol/bgp/l3vpn/unicast/ipv4/VpnIpv4NextHopTest.java +++ b/bgp/extensions/l3vpn/src/test/java/org/opendaylight/protocol/bgp/l3vpn/unicast/ipv4/VpnIpv4NextHopTest.java @@ -16,7 +16,7 @@ import io.netty.buffer.Unpooled; import org.junit.Test; import org.opendaylight.protocol.bgp.parser.BGPParsingException; import org.opendaylight.protocol.util.ByteArray; -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.inet.types.rev130715.Ipv4AddressNoZone; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.types.rev180329.next.hop.CNextHop; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.types.rev180329.next.hop.c.next.hop.Ipv4NextHopCase; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.types.rev180329.next.hop.c.next.hop.Ipv4NextHopCaseBuilder; @@ -31,7 +31,7 @@ public class VpnIpv4NextHopTest { final ByteBuf buffer = Unpooled.buffer(); final byte[] nextHop = {0, 0, 0, 0, 0, 0, 0, 0, 42, 42, 42, 42}; final CNextHop hop = new Ipv4NextHopCaseBuilder().setIpv4NextHop(new Ipv4NextHopBuilder() - .setGlobal(new Ipv4Address("42.42.42.42")).build()).build(); + .setGlobal(new Ipv4AddressNoZone("42.42.42.42")).build()).build(); HANDLER.serializeNextHop(hop, buffer); assertArrayEquals(nextHop, ByteArray.readAllBytes(buffer)); diff --git a/bgp/extensions/l3vpn/src/test/java/org/opendaylight/protocol/bgp/l3vpn/unicast/ipv6/VpnIpv6NextHopTest.java b/bgp/extensions/l3vpn/src/test/java/org/opendaylight/protocol/bgp/l3vpn/unicast/ipv6/VpnIpv6NextHopTest.java index 2d9217a1bb..ad87f6ba7e 100644 --- a/bgp/extensions/l3vpn/src/test/java/org/opendaylight/protocol/bgp/l3vpn/unicast/ipv6/VpnIpv6NextHopTest.java +++ b/bgp/extensions/l3vpn/src/test/java/org/opendaylight/protocol/bgp/l3vpn/unicast/ipv6/VpnIpv6NextHopTest.java @@ -18,7 +18,7 @@ import org.junit.Test; import org.opendaylight.bgp.concepts.RouteDistinguisherUtil; import org.opendaylight.protocol.util.ByteArray; import org.opendaylight.protocol.util.Ipv6Util; -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.Ipv6AddressNoZone; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.types.rev180329.next.hop.CNextHop; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.types.rev180329.next.hop.c.next.hop.Ipv6NextHopCase; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.types.rev180329.next.hop.c.next.hop.Ipv6NextHopCaseBuilder; @@ -38,7 +38,7 @@ public class VpnIpv6NextHopTest { System.arraycopy(Inet6Address.getByName(TEST_IPV6).getAddress(), 0, nextHop, RouteDistinguisherUtil.RD_LENGTH, Ipv6Util.IPV6_LENGTH); final CNextHop hop = new Ipv6NextHopCaseBuilder().setIpv6NextHop(new Ipv6NextHopBuilder() - .setGlobal(new Ipv6Address(TEST_IPV6)).build()).build(); + .setGlobal(new Ipv6AddressNoZone(TEST_IPV6)).build()).build(); HANDLER.serializeNextHop(hop, buffer); assertArrayEquals(nextHop, ByteArray.readAllBytes(buffer)); diff --git a/bgp/extensions/linkstate/src/main/java/org/opendaylight/protocol/bgp/linkstate/impl/attribute/LinkAttributesParser.java b/bgp/extensions/linkstate/src/main/java/org/opendaylight/protocol/bgp/linkstate/impl/attribute/LinkAttributesParser.java index 4450629686..89ee744d8d 100644 --- a/bgp/extensions/linkstate/src/main/java/org/opendaylight/protocol/bgp/linkstate/impl/attribute/LinkAttributesParser.java +++ b/bgp/extensions/linkstate/src/main/java/org/opendaylight/protocol/bgp/linkstate/impl/attribute/LinkAttributesParser.java @@ -22,8 +22,8 @@ import org.opendaylight.protocol.util.BitArray; import org.opendaylight.protocol.util.ByteArray; import org.opendaylight.protocol.util.Ipv4Util; import org.opendaylight.protocol.util.Ipv6Util; -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.inet.types.rev130715.Ipv6Address; +import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4AddressNoZone; +import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6AddressNoZone; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.linkstate.rev180329.AdministrativeGroup; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.linkstate.rev180329.Delay; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.linkstate.rev180329.Ipv4RouterIdentifier; @@ -290,13 +290,13 @@ public final class LinkAttributesParser { final LinkAttributes linkAttributes = linkAttributesCase.getLinkAttributes(); LOG.trace("Started serializing Link Attributes"); ifPresentApply(linkAttributes.getLocalIpv4RouterId(), value -> TlvUtil.writeTLV(TlvUtil.LOCAL_IPV4_ROUTER_ID, - Ipv4Util.byteBufForAddress((Ipv4Address) value), output)); + Ipv4Util.byteBufForAddress((Ipv4AddressNoZone) value), output)); ifPresentApply(linkAttributes.getLocalIpv6RouterId(), value -> TlvUtil.writeTLV(TlvUtil.LOCAL_IPV6_ROUTER_ID, - Ipv6Util.byteBufForAddress((Ipv6Address) value), output)); + Ipv6Util.byteBufForAddress((Ipv6AddressNoZone) value), output)); ifPresentApply(linkAttributes.getRemoteIpv4RouterId(), value -> TlvUtil.writeTLV(REMOTE_IPV4_ROUTER_ID, - Ipv4Util.byteBufForAddress((Ipv4Address) value), output)); + Ipv4Util.byteBufForAddress((Ipv4AddressNoZone) value), output)); ifPresentApply(linkAttributes.getRemoteIpv6RouterId(), value -> TlvUtil.writeTLV(REMOTE_IPV6_ROUTER_ID, - Ipv6Util.byteBufForAddress((Ipv6Address) value), output)); + Ipv6Util.byteBufForAddress((Ipv6AddressNoZone) value), output)); ifPresentApply(linkAttributes.getAdminGroup(), value -> TlvUtil.writeTLV(ADMIN_GROUP, Unpooled.copyInt(((AdministrativeGroup) value).getValue().intValue()), output)); ifPresentApply(linkAttributes.getMaxLinkBandwidth(), value -> TlvUtil.writeTLV(MAX_BANDWIDTH, diff --git a/bgp/extensions/linkstate/src/main/java/org/opendaylight/protocol/bgp/linkstate/impl/attribute/PrefixAttributesParser.java b/bgp/extensions/linkstate/src/main/java/org/opendaylight/protocol/bgp/linkstate/impl/attribute/PrefixAttributesParser.java index ee70b48500..ec3988c784 100644 --- a/bgp/extensions/linkstate/src/main/java/org/opendaylight/protocol/bgp/linkstate/impl/attribute/PrefixAttributesParser.java +++ b/bgp/extensions/linkstate/src/main/java/org/opendaylight/protocol/bgp/linkstate/impl/attribute/PrefixAttributesParser.java @@ -27,7 +27,7 @@ import org.opendaylight.protocol.util.BitArray; import org.opendaylight.protocol.util.ByteArray; import org.opendaylight.protocol.util.Ipv4Util; import org.opendaylight.protocol.util.Ipv6Util; -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.IpAddressNoZone; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.linkstate.rev180329.ExtendedRouteTag; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.linkstate.rev180329.IgpBits.UpDown; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.linkstate.rev180329.ProtocolId; @@ -117,7 +117,7 @@ public final class PrefixAttributesParser { LOG.debug("Parsed Metric: {}", metric); break; case FORWARDING_ADDRESS: - final IpAddress fwdAddress = parseForwardingAddress(value); + final IpAddressNoZone fwdAddress = parseForwardingAddress(value); builder.setOspfForwardingAddress(fwdAddress); LOG.debug("Parsed FWD Address: {}", fwdAddress); break; @@ -190,12 +190,12 @@ public final class PrefixAttributesParser { } } - private static IpAddress parseForwardingAddress(final ByteBuf value) { + private static IpAddressNoZone parseForwardingAddress(final ByteBuf value) { switch (value.readableBytes()) { case Ipv4Util.IP4_LENGTH: - return new IpAddress(Ipv4Util.addressForByteBuf(value)); + return new IpAddressNoZone(Ipv4Util.addressForByteBuf(value)); case Ipv6Util.IPV6_LENGTH: - return new IpAddress(Ipv6Util.addressForByteBuf(value)); + return new IpAddressNoZone(Ipv6Util.addressForByteBuf(value)); default: LOG.debug("Ignoring unsupported forwarding address length {}", value.readableBytes()); return null; @@ -287,13 +287,14 @@ public final class PrefixAttributesParser { } } - private static void serializeForwardingAddress(final IpAddress forwardingAddress, final ByteBuf byteAggregator) { + private static void serializeForwardingAddress(final IpAddressNoZone forwardingAddress, + final ByteBuf byteAggregator) { if (forwardingAddress != null) { final ByteBuf ospfBuf = Unpooled.buffer(); - if (forwardingAddress.getIpv4Address() != null) { - ospfBuf.writeBytes(Ipv4Util.bytesForAddress(forwardingAddress.getIpv4Address())); - } else if (forwardingAddress.getIpv6Address() != null) { - ospfBuf.writeBytes(Ipv6Util.bytesForAddress(forwardingAddress.getIpv6Address())); + if (forwardingAddress.getIpv4AddressNoZone() != null) { + ospfBuf.writeBytes(Ipv4Util.bytesForAddress(forwardingAddress.getIpv4AddressNoZone())); + } else if (forwardingAddress.getIpv6AddressNoZone() != null) { + ospfBuf.writeBytes(Ipv6Util.bytesForAddress(forwardingAddress.getIpv6AddressNoZone())); } TlvUtil.writeTLV(FORWARDING_ADDRESS, ospfBuf, byteAggregator); } diff --git a/bgp/extensions/linkstate/src/main/java/org/opendaylight/protocol/bgp/linkstate/impl/attribute/sr/binding/sid/sub/tlvs/Ipv4EroParser.java b/bgp/extensions/linkstate/src/main/java/org/opendaylight/protocol/bgp/linkstate/impl/attribute/sr/binding/sid/sub/tlvs/Ipv4EroParser.java index b29c9d3ce6..65cc2c5f45 100644 --- a/bgp/extensions/linkstate/src/main/java/org/opendaylight/protocol/bgp/linkstate/impl/attribute/sr/binding/sid/sub/tlvs/Ipv4EroParser.java +++ b/bgp/extensions/linkstate/src/main/java/org/opendaylight/protocol/bgp/linkstate/impl/attribute/sr/binding/sid/sub/tlvs/Ipv4EroParser.java @@ -16,7 +16,7 @@ import org.opendaylight.protocol.bgp.linkstate.spi.BindingSubTlvsSerializer; import org.opendaylight.protocol.bgp.linkstate.spi.TlvUtil; import org.opendaylight.protocol.util.BitArray; import org.opendaylight.protocol.util.Ipv4Util; -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.inet.types.rev130715.Ipv4AddressNoZone; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.linkstate.rev180329.ProtocolId; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.segment.routing.ext.rev151014.binding.sub.tlvs.BindingSubTlv; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.segment.routing.ext.rev151014.binding.sub.tlvs.binding.sub.tlv.Ipv4EroBackupCase; @@ -69,7 +69,7 @@ public final class Ipv4EroParser implements BindingSubTlvsParser, BindingSubTlvs return new Ipv4EroBackupCaseBuilder().setIpv4EroBackup(builder.build()).build(); } - static ByteBuf serializeIpv4EroCase(final Boolean loose, final Ipv4Address address) { + static ByteBuf serializeIpv4EroCase(final Boolean loose, final Ipv4AddressNoZone address) { final ByteBuf buffer = Unpooled.buffer(); serializeEroFlags(buffer, loose); buffer.writeBytes(Ipv4Util.byteBufForAddress(address)); diff --git a/bgp/extensions/linkstate/src/main/java/org/opendaylight/protocol/bgp/linkstate/impl/attribute/sr/binding/sid/sub/tlvs/Ipv6EroParser.java b/bgp/extensions/linkstate/src/main/java/org/opendaylight/protocol/bgp/linkstate/impl/attribute/sr/binding/sid/sub/tlvs/Ipv6EroParser.java index 706b52bafa..fccab6ac57 100644 --- a/bgp/extensions/linkstate/src/main/java/org/opendaylight/protocol/bgp/linkstate/impl/attribute/sr/binding/sid/sub/tlvs/Ipv6EroParser.java +++ b/bgp/extensions/linkstate/src/main/java/org/opendaylight/protocol/bgp/linkstate/impl/attribute/sr/binding/sid/sub/tlvs/Ipv6EroParser.java @@ -16,7 +16,7 @@ import org.opendaylight.protocol.bgp.linkstate.spi.BindingSubTlvsSerializer; import org.opendaylight.protocol.bgp.linkstate.spi.TlvUtil; import org.opendaylight.protocol.util.BitArray; import org.opendaylight.protocol.util.Ipv6Util; -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.Ipv6AddressNoZone; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.linkstate.rev180329.ProtocolId; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.segment.routing.ext.rev151014.binding.sub.tlvs.BindingSubTlv; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.segment.routing.ext.rev151014.binding.sub.tlvs.binding.sub.tlv.Ipv6EroBackupCase; @@ -66,7 +66,7 @@ public final class Ipv6EroParser implements BindingSubTlvsParser, BindingSubTlvs return new Ipv6EroBackupCaseBuilder().setIpv6EroBackup(builder.build()).build(); } - static ByteBuf serializeIpv6EroCase(final Boolean loose, final Ipv6Address address) { + static ByteBuf serializeIpv6EroCase(final Boolean loose, final Ipv6AddressNoZone address) { final ByteBuf buffer = Unpooled.buffer(); Ipv4EroParser.serializeEroFlags(buffer, loose); buffer.writeBytes(Ipv6Util.byteBufForAddress(address)); diff --git a/bgp/extensions/linkstate/src/main/java/org/opendaylight/protocol/bgp/linkstate/impl/nlri/NodeNlriParser.java b/bgp/extensions/linkstate/src/main/java/org/opendaylight/protocol/bgp/linkstate/impl/nlri/NodeNlriParser.java index 152c260e5b..410f56f42f 100644 --- a/bgp/extensions/linkstate/src/main/java/org/opendaylight/protocol/bgp/linkstate/impl/nlri/NodeNlriParser.java +++ b/bgp/extensions/linkstate/src/main/java/org/opendaylight/protocol/bgp/linkstate/impl/nlri/NodeNlriParser.java @@ -18,7 +18,7 @@ import org.opendaylight.protocol.bgp.linkstate.impl.tlvs.MemAsNumTlvParser; import org.opendaylight.protocol.bgp.linkstate.spi.AbstractNlriTypeCodec; import org.opendaylight.protocol.bgp.linkstate.spi.pojo.SimpleNlriTypeRegistry; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.AsNumber; -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.inet.types.rev130715.Ipv4AddressNoZone; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.linkstate.rev180329.AreaIdentifier; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.linkstate.rev180329.DomainIdentifier; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.linkstate.rev180329.NlriType; @@ -208,9 +208,9 @@ public final class NodeNlriParser extends AbstractNlriTypeCodec { dataContainerChild -> new AreaIdentifier((Uint32) dataContainerChild.getValue())).orElse(null); } - private static Ipv4Address serializeBgpRouterId(final ContainerNode descriptorsData) { + private static Ipv4AddressNoZone serializeBgpRouterId(final ContainerNode descriptorsData) { return descriptorsData.getChild(BGP_ROUTER_NID).map( - dataContainerChild -> new Ipv4Address((String) dataContainerChild.getValue())).orElse(null); + dataContainerChild -> new Ipv4AddressNoZone((String) dataContainerChild.getValue())).orElse(null); } private static AsNumber serializeMemberAsn(final ContainerNode descriptorsData) { diff --git a/bgp/extensions/linkstate/src/main/java/org/opendaylight/protocol/bgp/linkstate/impl/tlvs/AbstractLocalNodeDescriptorTlvCodec.java b/bgp/extensions/linkstate/src/main/java/org/opendaylight/protocol/bgp/linkstate/impl/tlvs/AbstractLocalNodeDescriptorTlvCodec.java index caef4ae722..4b79022104 100644 --- a/bgp/extensions/linkstate/src/main/java/org/opendaylight/protocol/bgp/linkstate/impl/tlvs/AbstractLocalNodeDescriptorTlvCodec.java +++ b/bgp/extensions/linkstate/src/main/java/org/opendaylight/protocol/bgp/linkstate/impl/tlvs/AbstractLocalNodeDescriptorTlvCodec.java @@ -12,7 +12,7 @@ import java.util.HashMap; import java.util.Map; import org.opendaylight.protocol.bgp.linkstate.spi.LinkstateTlvParser; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.AsNumber; -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.inet.types.rev130715.Ipv4AddressNoZone; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.linkstate.rev180329.NodeIdentifier; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.linkstate.rev180329.linkstate.object.type.link._case.LocalNodeDescriptors; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.linkstate.rev180329.linkstate.object.type.link._case.LocalNodeDescriptorsBuilder; @@ -29,7 +29,7 @@ public abstract class AbstractLocalNodeDescriptorTlvCodec parsedSubTlvs = new HashMap<>(); final LocalNodeDescriptorsBuilder builder = new LocalNodeDescriptorsBuilder( parseNodeDescriptor(value, parsedSubTlvs)); - builder.setBgpRouterId((Ipv4Address) parsedSubTlvs.get(BgpRouterIdTlvParser.BGP_ROUTER_ID_QNAME)); + builder.setBgpRouterId((Ipv4AddressNoZone) parsedSubTlvs.get(BgpRouterIdTlvParser.BGP_ROUTER_ID_QNAME)); builder.setMemberAsn((AsNumber) parsedSubTlvs.get(MemAsNumTlvParser.MEMBER_AS_NUMBER_QNAME)); return builder.build(); } diff --git a/bgp/extensions/linkstate/src/main/java/org/opendaylight/protocol/bgp/linkstate/impl/tlvs/BgpRouterIdTlvParser.java b/bgp/extensions/linkstate/src/main/java/org/opendaylight/protocol/bgp/linkstate/impl/tlvs/BgpRouterIdTlvParser.java index fd4f76b8a0..1ff83c31b5 100644 --- a/bgp/extensions/linkstate/src/main/java/org/opendaylight/protocol/bgp/linkstate/impl/tlvs/BgpRouterIdTlvParser.java +++ b/bgp/extensions/linkstate/src/main/java/org/opendaylight/protocol/bgp/linkstate/impl/tlvs/BgpRouterIdTlvParser.java @@ -10,23 +10,23 @@ package org.opendaylight.protocol.bgp.linkstate.impl.tlvs; import io.netty.buffer.ByteBuf; import org.opendaylight.protocol.bgp.linkstate.spi.LinkstateTlvParser; import org.opendaylight.protocol.util.Ipv4Util; -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.inet.types.rev130715.Ipv4AddressNoZone; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.epe.rev150622.EpeNodeDescriptors; import org.opendaylight.yangtools.yang.common.QName; -public final class BgpRouterIdTlvParser implements LinkstateTlvParser, - LinkstateTlvParser.LinkstateTlvSerializer { +public final class BgpRouterIdTlvParser implements LinkstateTlvParser, + LinkstateTlvParser.LinkstateTlvSerializer { private static final int BGP_ROUTER_ID = 516; public static final QName BGP_ROUTER_ID_QNAME = QName.create(EpeNodeDescriptors.QNAME, "bgp-router-id").intern(); @Override - public void serializeTlvBody(final Ipv4Address tlv, final ByteBuf body) { + public void serializeTlvBody(final Ipv4AddressNoZone tlv, final ByteBuf body) { Ipv4Util.writeIpv4Address(tlv, body); } @Override - public Ipv4Address parseTlvBody(final ByteBuf value) { + public Ipv4AddressNoZone parseTlvBody(final ByteBuf value) { return Ipv4Util.addressForByteBuf(value); } diff --git a/bgp/extensions/linkstate/src/main/java/org/opendaylight/protocol/bgp/linkstate/impl/tlvs/RemoteNodeDescriptorTlvParser.java b/bgp/extensions/linkstate/src/main/java/org/opendaylight/protocol/bgp/linkstate/impl/tlvs/RemoteNodeDescriptorTlvParser.java index 0d89c81472..f975e0a2fb 100644 --- a/bgp/extensions/linkstate/src/main/java/org/opendaylight/protocol/bgp/linkstate/impl/tlvs/RemoteNodeDescriptorTlvParser.java +++ b/bgp/extensions/linkstate/src/main/java/org/opendaylight/protocol/bgp/linkstate/impl/tlvs/RemoteNodeDescriptorTlvParser.java @@ -13,7 +13,7 @@ import java.util.Map; import org.opendaylight.protocol.bgp.linkstate.spi.LinkstateTlvParser; import org.opendaylight.protocol.bgp.linkstate.spi.pojo.SimpleNlriTypeRegistry; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.AsNumber; -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.inet.types.rev130715.Ipv4AddressNoZone; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.linkstate.rev180329.linkstate.object.type.link._case.RemoteNodeDescriptors; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.linkstate.rev180329.linkstate.object.type.link._case.RemoteNodeDescriptorsBuilder; import org.opendaylight.yangtools.yang.common.QName; @@ -36,7 +36,7 @@ public final class RemoteNodeDescriptorTlvParser extends AbstractNodeDescriptorT final Map parsedSubTlvs = new HashMap<>(); final RemoteNodeDescriptorsBuilder builder = new RemoteNodeDescriptorsBuilder( parseNodeDescriptor(value, parsedSubTlvs)); - builder.setBgpRouterId((Ipv4Address) parsedSubTlvs.get(BgpRouterIdTlvParser.BGP_ROUTER_ID_QNAME)); + builder.setBgpRouterId((Ipv4AddressNoZone) parsedSubTlvs.get(BgpRouterIdTlvParser.BGP_ROUTER_ID_QNAME)); builder.setMemberAsn((AsNumber) parsedSubTlvs.get(MemAsNumTlvParser.MEMBER_AS_NUMBER_QNAME)); return builder.build(); } diff --git a/bgp/extensions/linkstate/src/main/java/org/opendaylight/protocol/bgp/linkstate/spi/AbstractTeLspNlriCodec.java b/bgp/extensions/linkstate/src/main/java/org/opendaylight/protocol/bgp/linkstate/spi/AbstractTeLspNlriCodec.java index 58cfd5d904..7152f4d663 100644 --- a/bgp/extensions/linkstate/src/main/java/org/opendaylight/protocol/bgp/linkstate/spi/AbstractTeLspNlriCodec.java +++ b/bgp/extensions/linkstate/src/main/java/org/opendaylight/protocol/bgp/linkstate/spi/AbstractTeLspNlriCodec.java @@ -13,8 +13,8 @@ import com.google.common.annotations.VisibleForTesting; import io.netty.buffer.ByteBuf; import org.opendaylight.protocol.util.Ipv4Util; import org.opendaylight.protocol.util.Ipv6Util; -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.inet.types.rev130715.Ipv6Address; +import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4AddressNoZone; +import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6AddressNoZone; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.linkstate.rev180329.linkstate.ObjectType; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.linkstate.rev180329.linkstate.destination.CLinkstateDestination; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.linkstate.rev180329.linkstate.object.type.TeLspCase; @@ -74,18 +74,18 @@ public abstract class AbstractTeLspNlriCodec extends AbstractNlriTypeCodec { private static AddressFamily serializeAddressFamily(final ChoiceNode addressFamily, final boolean ipv4Case) { if (ipv4Case) { return new Ipv4CaseBuilder() - .setIpv4TunnelSenderAddress( - new Ipv4Address((String) addressFamily.getChild(IPV4_TUNNEL_SENDER_ADDRESS).get().getValue())) - .setIpv4TunnelEndpointAddress( - new Ipv4Address((String) addressFamily.getChild(IPV4_TUNNEL_ENDPOINT_ADDRESS).get().getValue())) + .setIpv4TunnelSenderAddress(new Ipv4AddressNoZone( + (String) addressFamily.getChild(IPV4_TUNNEL_SENDER_ADDRESS).get().getValue())) + .setIpv4TunnelEndpointAddress(new Ipv4AddressNoZone( + (String) addressFamily.getChild(IPV4_TUNNEL_ENDPOINT_ADDRESS).get().getValue())) .build(); } return new Ipv6CaseBuilder() .setIpv6TunnelSenderAddress( - new Ipv6Address((String) addressFamily.getChild(IPV6_TUNNEL_SENDER_ADDRESS).get().getValue())) + new Ipv6AddressNoZone((String) addressFamily.getChild(IPV6_TUNNEL_SENDER_ADDRESS).get().getValue())) .setIpv6TunnelEndpointAddress( - new Ipv6Address((String) addressFamily.getChild(IPV6_TUNNEL_ENDPOINT_ADDRESS).get().getValue())) + new Ipv6AddressNoZone((String) addressFamily.getChild(IPV6_TUNNEL_ENDPOINT_ADDRESS).get().getValue())) .build(); } diff --git a/bgp/extensions/linkstate/src/main/yang/bgp-epe.yang b/bgp/extensions/linkstate/src/main/yang/bgp-epe.yang index 2689c1f6fa..e04435742b 100644 --- a/bgp/extensions/linkstate/src/main/yang/bgp-epe.yang +++ b/bgp/extensions/linkstate/src/main/yang/bgp-epe.yang @@ -28,7 +28,7 @@ module bgp-epe { reference "https://tools.ietf.org/html/draft-ietf-idr-bgpls-segment-routing-epe-05#section-4.1"; leaf bgp-router-id { description "BGP Router Identifier."; - type inet:ipv4-address; + type inet:ipv4-address-no-zone; } leaf member-asn { @@ -36,4 +36,4 @@ module bgp-epe { type inet:as-number; } } -} \ No newline at end of file +} diff --git a/bgp/extensions/linkstate/src/main/yang/bgp-linkstate.yang b/bgp/extensions/linkstate/src/main/yang/bgp-linkstate.yang index 44d2a20521..3dc868fead 100644 --- a/bgp/extensions/linkstate/src/main/yang/bgp-linkstate.yang +++ b/bgp/extensions/linkstate/src/main/yang/bgp-linkstate.yang @@ -174,12 +174,12 @@ module bgp-linkstate { typedef ipv4-interface-identifier { reference "http://tools.ietf.org/html/rfc5305#section-3.2"; - type inet:ipv4-address; + type inet:ipv4-address-no-zone; } typedef ipv6-interface-identifier { reference "http://tools.ietf.org/html/rfc6119#section-4.2"; - type inet:ipv6-address; + type inet:ipv6-address-no-zone; } typedef ospf-interface-identifier { @@ -363,21 +363,21 @@ module bgp-linkstate { choice address-family { case ipv4-case { leaf ipv4-tunnel-sender-address { - type inet:ipv4-address; + type inet:ipv4-address-no-zone; mandatory true; } leaf ipv4-tunnel-endpoint-address { - type inet:ipv4-address; + type inet:ipv4-address-no-zone; mandatory true; } } case ipv6-case { leaf ipv6-tunnel-sender-address { - type inet:ipv6-address; + type inet:ipv6-address-no-zone; mandatory true; } leaf ipv6-tunnel-endpoint-address { - type inet:ipv6-address; + type inet:ipv6-address-no-zone; mandatory true; } } @@ -448,12 +448,12 @@ module bgp-linkstate { typedef ipv4-router-identifier { reference "https://tools.ietf.org/html/rfc7752#section-3.3.1.4"; - type inet:ipv4-address; + type inet:ipv4-address-no-zone; } typedef ipv6-router-identifier { reference "https://tools.ietf.org/html/rfc7752#section-3.3.1.4"; - type inet:ipv6-address; + type inet:ipv6-address-no-zone; } grouping node-state { @@ -721,7 +721,7 @@ module bgp-linkstate { type netc:igp-metric; } leaf ospf-forwarding-address { - type inet:ip-address; + type inet:ip-address-no-zone; } container sr-prefix { uses bgp-sr:prefix-sid-tlv; diff --git a/bgp/extensions/linkstate/src/main/yang/bgp-segment-routing.yang b/bgp/extensions/linkstate/src/main/yang/bgp-segment-routing.yang index 9d226a14ba..b85806f684 100644 --- a/bgp/extensions/linkstate/src/main/yang/bgp-segment-routing.yang +++ b/bgp/extensions/linkstate/src/main/yang/bgp-segment-routing.yang @@ -53,7 +53,7 @@ module bgp-segment-routing { } case ipv6-address-case { leaf ipv6-address { - type inet:ipv6-address; + type inet:ipv6-address-no-zone; } } case sid-case { @@ -139,7 +139,7 @@ module bgp-segment-routing { type netc:iso-system-identifier; } leaf neighbor-id { - type inet:ipv4-address; + type inet:ipv4-address-no-zone; } uses sid-label-index; } @@ -200,7 +200,7 @@ module bgp-segment-routing { grouping ero-ipv4-address { uses ero-flags; leaf address { - type inet:ipv4-address; + type inet:ipv4-address-no-zone; mandatory true; } } @@ -208,7 +208,7 @@ module bgp-segment-routing { grouping ero-ipv6-address { uses ero-flags; leaf address { - type inet:ipv6-address; + type inet:ipv6-address-no-zone; mandatory true; } } diff --git a/bgp/extensions/linkstate/src/test/java/org/opendaylight/protocol/bgp/linkstate/LinkstateAttributeParserTest.java b/bgp/extensions/linkstate/src/test/java/org/opendaylight/protocol/bgp/linkstate/LinkstateAttributeParserTest.java index c506972307..4ac945e582 100644 --- a/bgp/extensions/linkstate/src/test/java/org/opendaylight/protocol/bgp/linkstate/LinkstateAttributeParserTest.java +++ b/bgp/extensions/linkstate/src/test/java/org/opendaylight/protocol/bgp/linkstate/LinkstateAttributeParserTest.java @@ -343,7 +343,7 @@ public class LinkstateAttributeParserTest { (byte) 0x12, (byte) 0x34, (byte) 0x56, (byte) 0x78, (byte) 0x10, (byte) 0x30, (byte) 0x50, (byte) 0x70 }, ls.getExtendedTags().get(0).getValue()); assertEquals(10, ls.getPrefixMetric().getValue().intValue()); - assertEquals("10.25.2.27", ls.getOspfForwardingAddress().getIpv4Address().getValue()); + assertEquals("10.25.2.27", ls.getOspfForwardingAddress().getIpv4AddressNoZone().getValue()); //serialization final ByteBuf buff = Unpooled.buffer(); @@ -375,7 +375,7 @@ public class LinkstateAttributeParserTest { final AssociationObject associationObject = teLspAttributes.getAssociationObject(); assertEquals(AssociationType.Recovery, associationObject.getAssociationType()); - final IpAddressNoZone ipv4 = new IpAddressNoZone(Ipv4Util.noZoneAddressForByteBuf(Unpooled.copiedBuffer( + final IpAddressNoZone ipv4 = new IpAddressNoZone(Ipv4Util.addressForByteBuf(Unpooled.copiedBuffer( new byte[]{0x01, 0x02, 0x03, 0x04}))); assertEquals(ipv4, associationObject.getIpAddress()); final short associationId = 2; diff --git a/bgp/extensions/linkstate/src/test/java/org/opendaylight/protocol/bgp/linkstate/ParserTest.java b/bgp/extensions/linkstate/src/test/java/org/opendaylight/protocol/bgp/linkstate/ParserTest.java index 05d2720795..4726d79222 100644 --- a/bgp/extensions/linkstate/src/test/java/org/opendaylight/protocol/bgp/linkstate/ParserTest.java +++ b/bgp/extensions/linkstate/src/test/java/org/opendaylight/protocol/bgp/linkstate/ParserTest.java @@ -33,7 +33,7 @@ import org.opendaylight.protocol.bgp.parser.spi.NlriRegistry; import org.opendaylight.protocol.bgp.parser.spi.pojo.ServiceLoaderBGPExtensionProviderContext; import org.opendaylight.protocol.util.ByteArray; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.AsNumber; -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.inet.types.rev130715.Ipv4AddressNoZone; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.linkstate.rev180329.AreaIdentifier; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.linkstate.rev180329.DomainIdentifier; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.linkstate.rev180329.Identifier; @@ -335,7 +335,7 @@ public class ParserTest { assertNull(message.getWithdrawnRoutes()); final Ipv4NextHopCase nextHop = new Ipv4NextHopCaseBuilder().setIpv4NextHop( - new Ipv4NextHopBuilder().setGlobal(new Ipv4Address("25.25.25.1")).build()).build(); + new Ipv4NextHopBuilder().setGlobal(new Ipv4AddressNoZone("25.25.25.1")).build()).build(); final LocalNodeDescriptorsBuilder ndBuilder = new LocalNodeDescriptorsBuilder() .setAsNumber(new AsNumber(Uint32.valueOf(100))).setDomainId( @@ -366,14 +366,14 @@ public class ParserTest { new OspfNodeCaseBuilder().setOspfNode(new OspfNodeBuilder() .setOspfRouterId(Uint32.valueOf(0x03030304L)).build()).build()).build()); lCase.setLinkDescriptors(new LinkDescriptorsBuilder().setIpv4InterfaceAddress( - new Ipv4InterfaceIdentifier(new Ipv4Address("11.11.11.3"))).build()); + new Ipv4InterfaceIdentifier(new Ipv4AddressNoZone("11.11.11.3"))).build()); linkstates.add(clBuilder.setObjectType(lCase.build()).build()); lCase.setRemoteNodeDescriptors(rdBuilder.setCRouterIdentifier( new OspfNodeCaseBuilder().setOspfNode(new OspfNodeBuilder() .setOspfRouterId(Uint32.valueOf(0x01010102L)).build()).build()).build()); lCase.setLinkDescriptors(new LinkDescriptorsBuilder().setIpv4InterfaceAddress( - new Ipv4InterfaceIdentifier(new Ipv4Address("11.11.11.1"))).build()); + new Ipv4InterfaceIdentifier(new Ipv4AddressNoZone("11.11.11.1"))).build()); linkstates.add(clBuilder.setObjectType(lCase.build()).build()); lCase.setLocalNodeDescriptors(ndBuilder.setCRouterIdentifier( @@ -547,7 +547,7 @@ public class ParserTest { // attributes final Ipv4NextHopCase nextHop = new Ipv4NextHopCaseBuilder().setIpv4NextHop( - new Ipv4NextHopBuilder().setGlobal(new Ipv4Address("25.25.25.1")).build()).build(); + new Ipv4NextHopBuilder().setGlobal(new Ipv4AddressNoZone("25.25.25.1")).build()).build(); final CLinkstateDestinationBuilder clBuilder = new CLinkstateDestinationBuilder(); clBuilder.setIdentifier(new Identifier(Uint64.ONE)); diff --git a/bgp/extensions/linkstate/src/test/java/org/opendaylight/protocol/bgp/linkstate/SrAttributeParserTest.java b/bgp/extensions/linkstate/src/test/java/org/opendaylight/protocol/bgp/linkstate/SrAttributeParserTest.java index 50866d74c7..1489eebd75 100644 --- a/bgp/extensions/linkstate/src/test/java/org/opendaylight/protocol/bgp/linkstate/SrAttributeParserTest.java +++ b/bgp/extensions/linkstate/src/test/java/org/opendaylight/protocol/bgp/linkstate/SrAttributeParserTest.java @@ -30,8 +30,9 @@ import org.opendaylight.protocol.bgp.parser.spi.pojo.SimpleBGPExtensionProviderC import org.opendaylight.protocol.rsvp.parser.spi.pojo.ServiceLoaderRSVPExtensionProviderContext; import org.opendaylight.protocol.util.ByteArray; import org.opendaylight.protocol.util.Ipv6Util; -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.inet.types.rev130715.Ipv4AddressNoZone; 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.Ipv6AddressNoZone; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.linkstate.rev180329.ProtocolId; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.linkstate.rev180329.linkstate.attribute.SrAdjIds; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.linkstate.rev180329.linkstate.attribute.SrAdjIdsBuilder; @@ -312,7 +313,10 @@ public class SrAttributeParserTest { new EroMetricCaseBuilder().setEroMetric(new TeMetric(Uint32.valueOf(6))).build()).build()); bindingSubTlvs.add(new BindingSubTlvsBuilder() .setBindingSubTlv(new Ipv4EroCaseBuilder() - .setIpv4Ero(new Ipv4EroBuilder().setLoose(Boolean.FALSE).setAddress(new Ipv4Address("9.8.7.6")).build()) + .setIpv4Ero(new Ipv4EroBuilder() + .setLoose(Boolean.FALSE) + .setAddress(new Ipv4AddressNoZone("9.8.7.6")) + .build()) .build()) .build()); bindingSubTlvs.add(new BindingSubTlvsBuilder() @@ -327,7 +331,7 @@ public class SrAttributeParserTest { bindingSubTlvs.add(new BindingSubTlvsBuilder() .setBindingSubTlv(new Ipv4EroBackupCaseBuilder() .setIpv4EroBackup(new Ipv4EroBackupBuilder() - .setLoose(Boolean.FALSE).setAddress(new Ipv4Address("3.4.5.6")) + .setLoose(Boolean.FALSE).setAddress(new Ipv4AddressNoZone("3.4.5.6")) .build()) .build()) .build()); @@ -359,14 +363,14 @@ public class SrAttributeParserTest { bindingSubTlvs.add(new BindingSubTlvsBuilder() .setBindingSubTlv(new Ipv6EroCaseBuilder() .setIpv6Ero(new Ipv6EroBuilder() - .setLoose(Boolean.FALSE).setAddress(new Ipv6Address(IPV6_A)) + .setLoose(Boolean.FALSE).setAddress(new Ipv6AddressNoZone(IPV6_A)) .build()) .build()) .build()); bindingSubTlvs.add(new BindingSubTlvsBuilder() .setBindingSubTlv(new Ipv6EroBackupCaseBuilder() .setIpv6EroBackup(new Ipv6EroBackupBuilder() - .setLoose(Boolean.FALSE).setAddress(new Ipv6Address(IPV6_B)) + .setLoose(Boolean.FALSE).setAddress(new Ipv6AddressNoZone(IPV6_B)) .build()) .build()) .build()); @@ -418,7 +422,7 @@ public class SrAttributeParserTest { final SrLanAdjIds srLanAdjId = new SrLanAdjIdsBuilder() .setFlags(OSPF_LAN_ADJ_FLAGS) .setWeight(new Weight(Uint8.TEN)) - .setNeighborId(new Ipv4Address("1.2.3.4")) + .setNeighborId(new Ipv4AddressNoZone("1.2.3.4")) .setSidLabelIndex(new LocalLabelCaseBuilder() .setLocalLabel(new MplsLabel(Uint32.valueOf(24000L))) .build()) diff --git a/bgp/extensions/mvpn/src/main/java/org/opendaylight/protocol/bgp/mvpn/impl/attributes/PEDistinguisherLabelsAttributeHandler.java b/bgp/extensions/mvpn/src/main/java/org/opendaylight/protocol/bgp/mvpn/impl/attributes/PEDistinguisherLabelsAttributeHandler.java index 034f3fe05a..53fd3e1f65 100644 --- a/bgp/extensions/mvpn/src/main/java/org/opendaylight/protocol/bgp/mvpn/impl/attributes/PEDistinguisherLabelsAttributeHandler.java +++ b/bgp/extensions/mvpn/src/main/java/org/opendaylight/protocol/bgp/mvpn/impl/attributes/PEDistinguisherLabelsAttributeHandler.java @@ -23,7 +23,7 @@ import org.opendaylight.protocol.bgp.parser.spi.RevisedErrorHandling; import org.opendaylight.protocol.util.Ipv4Util; import org.opendaylight.protocol.util.Ipv6Util; import org.opendaylight.protocol.util.MplsLabelUtil; -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.IpAddressNoZone; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.message.rev180329.path.attributes.Attributes; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.message.rev180329.path.attributes.AttributesBuilder; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.mvpn.rev180417.bgp.rib.route.PeDistinguisherLabelsAttributeAugmentation; @@ -79,9 +79,9 @@ public final class PEDistinguisherLabelsAttributeHandler extends AbstractAttribu for (int i = 0; i < count; ++i) { final PeDistinguisherLabelAttributeBuilder attribute = new PeDistinguisherLabelAttributeBuilder(); if (isIpv4) { - attribute.setPeAddress(new IpAddress(Ipv4Util.addressForByteBuf(buffer))); + attribute.setPeAddress(new IpAddressNoZone(Ipv4Util.addressForByteBuf(buffer))); } else { - attribute.setPeAddress(new IpAddress(Ipv6Util.addressForByteBuf(buffer))); + attribute.setPeAddress(new IpAddressNoZone(Ipv6Util.addressForByteBuf(buffer))); } attribute.setMplsLabel(MplsLabelUtil.mplsLabelForByteBuf(buffer)); list.add(attribute.build()); @@ -106,10 +106,10 @@ public final class PEDistinguisherLabelsAttributeHandler extends AbstractAttribu = att.getPeDistinguisherLabelsAttribute().getPeDistinguisherLabelAttribute(); final ByteBuf buffer = Unpooled.buffer(); for (final PeDistinguisherLabelAttribute peDist : distinguishers) { - if (peDist.getPeAddress().getIpv4Address() != null) { - buffer.writeBytes(Ipv4Util.bytesForAddress(peDist.getPeAddress().getIpv4Address())); + if (peDist.getPeAddress().getIpv4AddressNoZone() != null) { + buffer.writeBytes(Ipv4Util.bytesForAddress(peDist.getPeAddress().getIpv4AddressNoZone())); } else { - buffer.writeBytes(Ipv6Util.bytesForAddress(peDist.getPeAddress().getIpv6Address())); + buffer.writeBytes(Ipv6Util.bytesForAddress(peDist.getPeAddress().getIpv6AddressNoZone())); } buffer.writeBytes(MplsLabelUtil.byteBufForMplsLabel(peDist.getMplsLabel())); } diff --git a/bgp/extensions/mvpn/src/main/java/org/opendaylight/protocol/bgp/mvpn/impl/attributes/tunnel/identifier/MldpP2mpLspParser.java b/bgp/extensions/mvpn/src/main/java/org/opendaylight/protocol/bgp/mvpn/impl/attributes/tunnel/identifier/MldpP2mpLspParser.java index 7edbd760ee..9523487354 100644 --- a/bgp/extensions/mvpn/src/main/java/org/opendaylight/protocol/bgp/mvpn/impl/attributes/tunnel/identifier/MldpP2mpLspParser.java +++ b/bgp/extensions/mvpn/src/main/java/org/opendaylight/protocol/bgp/mvpn/impl/attributes/tunnel/identifier/MldpP2mpLspParser.java @@ -20,7 +20,7 @@ import org.opendaylight.protocol.bgp.mvpn.spi.attributes.tunnel.identifier.Abstr import org.opendaylight.protocol.bgp.parser.spi.AddressFamilyRegistry; import org.opendaylight.protocol.util.Ipv4Util; import org.opendaylight.protocol.util.Ipv6Util; -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.IpAddressNoZone; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.types.rev180329.AddressFamily; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pmsi.tunnel.rev180329.PmsiTunnelType; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pmsi.tunnel.rev180329.pmsi.tunnel.pmsi.tunnel.TunnelIdentifier; @@ -50,10 +50,10 @@ public final class MldpP2mpLspParser extends AbstractTunnelIdentifier