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;
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) {
uses input;
leaf nexthop {
mandatory true;
- type inet:ipv4-address;
+ type inet:ipv4-address-no-zone;
description
"nexthop";
}
}
}
-}
\ No newline at end of file
+}
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;
final InstanceIdentifier<Ipv4Routes> 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<AddPrefixOutput> addRpcResult = appPeerBenchmark.addPrefix(addPrefix).get();
final Result addResult = addRpcResult.getResult().getResult();
<groupId>${project.groupId}</groupId>
<artifactId>bgp-openconfig-api</artifactId>
</dependency>
- <dependency>
- <groupId>${project.groupId}</groupId>
- <artifactId>util</artifactId>
- </dependency>
<dependency>
<groupId>org.opendaylight.yangtools</groupId>
<artifactId>yang-common</artifactId>
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;
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;
} 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) {
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;
* 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");
}
* 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");
}
* @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);
}
* @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;
}
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;
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)));
}
typedef bgp-id {
description "BGP identifier";
- type inet:ipv4-address;
+ type inet:ipv4-address-no-zone;
}
identity address-family {
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 {
type inet:as-number;
}
leaf network-address {
- type inet:ipv4-address;
+ type inet:ipv4-address-no-zone;
}
}
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;
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 {
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;
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;
}
}
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;
}
}
}
grouping orig-route-ip-grouping {
leaf orig-route-ip {
- type inet:ip-address;
+ type inet:ip-address-no-zone;
mandatory true;
}
}
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;
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() {
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;
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());
}
}
* 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;
@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();
@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;
}
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;
"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();
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;
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) {
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);
}
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;
}
*/
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;
return RouteDistinguisherBuilder.getDefaultInstance((String) evpn.getChild(RD_NID).get().getValue());
}
- static IpAddress extractOrigRouteIp(final DataContainerNode<? extends PathArgument> evpn) {
- return IpAddressBuilder.getDefaultInstance((String) evpn.getChild(ORI_NID).get().getValue());
+ static IpAddressNoZone extractOrigRouteIp(final DataContainerNode<? extends PathArgument> 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();
return new MacAddress((String) evpn.getChild(MAC_NID).get().getValue());
}
-
- static IpAddress extractIp(final DataContainerNode<? extends PathArgument> evpn) {
- if (evpn.getChild(IP_NID).isPresent()) {
- return IpAddressBuilder.getDefaultInstance((String) evpn.getChild(IP_NID).get().getValue());
- }
- return null;
+ static IpAddressNoZone extractIp(final DataContainerNode<? extends PathArgument> evpn) {
+ return evpn.getChild(IP_NID).map(child -> IpAddressNoZoneBuilder.getDefaultInstance((String) child.getValue()))
+ .orElse(null);
}
static MplsLabel extractMplsLabel(final DataContainerNode<? extends PathArgument> 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);
}
}
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;
mandatory true;
}
leaf ip-address {
- type inet:ip-address;
+ type inet:ip-address-no-zone;
}
leaf mpls-label1 {
type netc:mpls-label;
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;
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";
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;
(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();
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;
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);
}
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();
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;
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;
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;
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;
@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);
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();
@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);
@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);
@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));
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();
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();
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();
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;
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<ClusterIdentifier> clusters = Lists.newArrayList(new ClusterIdentifier(new Ipv4Address("1.2.3.4")),
- new ClusterIdentifier(new Ipv4Address("5.6.7.8")));
+ final List<ClusterIdentifier> clusters = Lists.newArrayList(
+ new ClusterIdentifier(new Ipv4AddressNoZone("1.2.3.4")),
+ new ClusterIdentifier(new Ipv4AddressNoZone("5.6.7.8")));
// check path attributes
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());
* 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;
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;
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;
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));
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;
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));
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;
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));
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;
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,
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;
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;
}
}
- 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;
}
}
- 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);
}
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;
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));
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;
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));
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;
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) {
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;
final Map<QName, Object> 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();
}
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<Ipv4Address>,
- LinkstateTlvParser.LinkstateTlvSerializer<Ipv4Address> {
+public final class BgpRouterIdTlvParser implements LinkstateTlvParser<Ipv4AddressNoZone>,
+ LinkstateTlvParser.LinkstateTlvSerializer<Ipv4AddressNoZone> {
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);
}
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;
final Map<QName, Object> 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();
}
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;
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();
}
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 {
type inet:as-number;
}
}
-}
\ No newline at end of file
+}
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 {
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;
}
}
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 {
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;
}
case ipv6-address-case {
leaf ipv6-address {
- type inet:ipv6-address;
+ type inet:ipv6-address-no-zone;
}
}
case sid-case {
type netc:iso-system-identifier;
}
leaf neighbor-id {
- type inet:ipv4-address;
+ type inet:ipv4-address-no-zone;
}
uses sid-label-index;
}
grouping ero-ipv4-address {
uses ero-flags;
leaf address {
- type inet:ipv4-address;
+ type inet:ipv4-address-no-zone;
mandatory true;
}
}
grouping ero-ipv6-address {
uses ero-flags;
leaf address {
- type inet:ipv6-address;
+ type inet:ipv6-address-no-zone;
mandatory true;
}
}
(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();
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;
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;
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(
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(
// 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));
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;
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()
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());
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());
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())
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;
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());
= 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()));
}
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;
if (!serializeOpaqueList(mldpP2mpLsp.getOpaqueValue(), opaqueValues) || addressFamily == 0) {
return NO_TUNNEL_INFORMATION_PRESENT;
}
- final IpAddress rootNode = mldpP2mpLsp.getRootNodeAddress();
+ final IpAddressNoZone rootNode = mldpP2mpLsp.getRootNodeAddress();
buffer.writeByte(P2MP_TYPE);
buffer.writeShort(addressFamily);
- buffer.writeByte(rootNode.getIpv4Address() != null ? Ipv4Util.IP4_LENGTH : Ipv6Util.IPV6_LENGTH);
+ buffer.writeByte(rootNode.getIpv4AddressNoZone() != null ? Ipv4Util.IP4_LENGTH : Ipv6Util.IPV6_LENGTH);
serializeIpAddress(rootNode, buffer);
buffer.writeShort(opaqueValues.readableBytes());
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.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.pmsi.tunnel.rev180329.PAddressPMulticastGroup;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pmsi.tunnel.rev180329.pmsi.tunnel.pmsi.tunnel.tunnel.identifier.bidir.pim.tree.BidirPimTreeBuilder;
// Hidden on purpose
}
- static void serializeIpAddress(final IpAddress ipAddress, final ByteBuf byteBuf) {
- if (ipAddress.getIpv4Address() != null) {
- byteBuf.writeBytes(Ipv4Util.bytesForAddress(ipAddress.getIpv4Address()));
+ static void serializeIpAddress(final IpAddressNoZone ipAddress, final ByteBuf byteBuf) {
+ if (ipAddress.getIpv4AddressNoZone() != null) {
+ byteBuf.writeBytes(Ipv4Util.bytesForAddress(ipAddress.getIpv4AddressNoZone()));
} else {
- byteBuf.writeBytes(Ipv6Util.bytesForAddress(ipAddress.getIpv6Address()));
+ byteBuf.writeBytes(Ipv6Util.bytesForAddress(ipAddress.getIpv6AddressNoZone()));
}
}
- static IpAddress parseIpAddress(final int ipLength, final ByteBuf buffer) {
+ static IpAddressNoZone parseIpAddress(final int ipLength, final ByteBuf buffer) {
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));
}
return null;
}
static PAddressPMulticastGroup parseSenderPMulticastGroup(final ByteBuf buffer) {
final int ipLength = buffer.readableBytes() / 2;
- final IpAddress pSenderAddress = parseIpAddress(ipLength, buffer);
- final IpAddress pMulticastGroup = parseIpAddress(ipLength, buffer);
+ final IpAddressNoZone pSenderAddress = parseIpAddress(ipLength, buffer);
+ final IpAddressNoZone pMulticastGroup = parseIpAddress(ipLength, buffer);
return new BidirPimTreeBuilder().setPAddress(pSenderAddress).setPMulticastGroup(pMulticastGroup).build();
}
}
import org.opendaylight.bgp.concepts.RouteDistinguisherUtil;
import org.opendaylight.protocol.bgp.mvpn.spi.nlri.MvpnParser;
import org.opendaylight.protocol.bgp.mvpn.spi.nlri.MvpnSerializer;
-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.mvpn.rev180417.MulticastSourceRdGrouping;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.mvpn.rev180417.mvpn.MvpnChoice;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.mvpn.rev180417.s.pmsi.a.d.grouping.SPmsiADBuilder;
static MulticastSourceRdGrouping parseRDMulticastSource(final ByteBuf buffer) {
final SPmsiADBuilder builder = new SPmsiADBuilder();
builder.setRouteDistinguisher(RouteDistinguisherUtil.parseRouteDistinguisher(buffer));
- final IpAddress address = IpAddressUtil.addressForByteBuf(buffer);
+ final IpAddressNoZone address = IpAddressUtil.addressForByteBuf(buffer);
builder.setMulticastSource(address);
return builder.build();
}
import org.opendaylight.protocol.bgp.mvpn.impl.attributes.OpaqueUtil;
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.mvpn.rev180417.multicast.group.opaque.grouping.MulticastGroup;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.mvpn.rev180417.multicast.group.opaque.grouping.multicast.group.CGAddressCase;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.mvpn.rev180417.multicast.group.opaque.grouping.multicast.group.CGAddressCaseBuilder;
switch (multicastGroupLength) {
case Ipv4Util.IP4_BITS_LENGTH:
return new CGAddressCaseBuilder()
- .setCGAddress(new IpAddress(Ipv4Util.addressForByteBuf(buffer))).build();
+ .setCGAddress(new IpAddressNoZone(Ipv4Util.addressForByteBuf(buffer))).build();
case Ipv6Util.IPV6_BITS_LENGTH:
return new CGAddressCaseBuilder()
- .setCGAddress(new IpAddress(Ipv6Util.addressForByteBuf(buffer))).build();
+ .setCGAddress(new IpAddressNoZone(Ipv6Util.addressForByteBuf(buffer))).build();
default:
return new LdpMpOpaqueValueCaseBuilder()
.setLdpMpOpaqueValue(new LdpMpOpaqueValueBuilder(OpaqueUtil.parseOpaque(buffer)).build()).build();
uses bgp-t:route-distinguisher-grouping;
leaf multicast-source {
- type inet:ip-address;
+ type inet:ip-address-no-zone;
mandatory true;
}
}
choice multicast-group {
case c-g-address-case {
leaf c-g-address {
- type inet:ip-address;
+ type inet:ip-address-no-zone;
}
}
uses multicast-source-rd-grouping;
leaf multicast-group {
- type inet:ip-address;
+ type inet:ip-address-no-zone;
mandatory true;
}
}
container pe-distinguisher-labels-attribute {
list pe-distinguisher-label-attribute {
leaf pe-address {
- type inet:ip-address;
+ type inet:ip-address-no-zone;
mandatory true;
}
leaf mpls-label {
grouping p-address-p-multicast-group {
leaf p-address {
mandatory true;
- type inet:ip-address;
+ type inet:ip-address-no-zone;
}
leaf p-multicast-group {
mandatory true;
- type inet:ip-address;
+ type inet:ip-address-no-zone;
}
}
}
leaf extended-tunnel-id {
mandatory true;
- type inet:ip-address;
+ type inet:ip-address-no-zone;
}
}
}
}
leaf root-node-address {
mandatory true;
- type inet:ip-address;
+ type inet:ip-address-no-zone;
}
list opaque-value {
uses opaque;
case ingress-replication {
container ingress-replication {
leaf receiving-endpoint-address {
- type inet:ip-address;
+ type inet:ip-address-no-zone;
}
}
}
import org.opendaylight.protocol.bgp.parser.spi.BGPExtensionProviderContext;
import org.opendaylight.protocol.bgp.parser.spi.pojo.SimpleBGPExtensionProviderContext;
import org.opendaylight.protocol.util.ByteArray;
-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.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.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;
final List<PeDistinguisherLabelAttribute> peAtt = new ArrayList<>(2);
peAtt.add(new PeDistinguisherLabelAttributeBuilder()
- .setPeAddress(new IpAddress(new Ipv4Address("127.0.0.1")))
+ .setPeAddress(new IpAddressNoZone(new Ipv4AddressNoZone("127.0.0.1")))
.setMplsLabel(new MplsLabel(Uint32.ONE))
.build());
peAtt.add(new PeDistinguisherLabelAttributeBuilder()
- .setPeAddress(new IpAddress(new Ipv4Address("127.0.0.2")))
+ .setPeAddress(new IpAddressNoZone(new Ipv4AddressNoZone("127.0.0.2")))
.setMplsLabel(new MplsLabel(Uint32.TWO))
.build());
return new AttributesBuilder()
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
-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.HexString;
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;
(byte) 0xfc, (byte) 0x00, (byte) 0x03, // Opaque Type - Length
(byte) 0xb5, (byte) 0xeb, (byte) 0x2d, //Value
};
- private static final IpAddress P_MULTICAST = new IpAddress(new Ipv4Address("23.1.1.1"));
- private static final IpAddress IP_ADDRESS = new IpAddress(new Ipv4Address("1.1.1.1"));
+ private static final IpAddressNoZone P_MULTICAST = new IpAddressNoZone(new Ipv4AddressNoZone("23.1.1.1"));
+ private static final IpAddressNoZone IP_ADDRESS = new IpAddressNoZone(new Ipv4AddressNoZone("1.1.1.1"));
private static final Uint8 NO_SUPPORTED_OPAQUE = Uint8.valueOf(200);
private static final Uint8 GENERIC_LSP_IDENTIFIER = Uint8.ONE;
private static final HexString OPAQUE_TEST = new HexString("07:00:0b:00:00:01:00:00:00:01:00:00:00:00");
private static final HexString OPAQUE_TEST2
= new HexString("07:00:0b:00:00:01:00:00:00:01:00:00:00:00:01:02");
- private static final IpAddress IPV6 = new IpAddress(new Ipv6Address("2001::1"));
+ private static final IpAddressNoZone IPV6 = new IpAddressNoZone(new Ipv6AddressNoZone("2001::1"));
private static final Uint8 EXTENDED_TYPE = Uint8.MAX_VALUE;
private PMSITunnelAttributeHandlerTestUtil() {
return buildAttribute(pmsiTunnelBuilder);
}
- private static TunnelIdentifier buildMldpP2mpLsp(final IpAddress ipAddress,
+ private static TunnelIdentifier buildMldpP2mpLsp(final IpAddressNoZone ipAddress,
final Class<? extends AddressFamily> family, final List<OpaqueValue> opaqueList) {
return new MldpP2mpLspBuilder()
.setMldpP2mpLsp(new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pmsi.tunnel
* 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.mvpn.impl.attributes.tunnel.identifier;
import static org.junit.Assert.assertArrayEquals;
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.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.pmsi.tunnel.rev180329.PAddressPMulticastGroup;
public final class PAddressPMulticastGroupUtilTest {
private static final String IPV6_MODEL = "2001::1";
- private static final IpAddress IPV6 = new IpAddress(new Ipv6Address(IPV6_MODEL));
+ private static final IpAddressNoZone IPV6 = new IpAddressNoZone(new Ipv6AddressNoZone(IPV6_MODEL));
private static final byte[] IPV4_ADDRESS_EXPECTED = {(byte) 0x01, (byte) 0x01, (byte) 0x01, (byte) 0x01};
private static final byte[] IPV6_ADDRESS_EXPECTED = {
0x20, (byte) 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01
private static final byte[] SENDER_P_MULTICAST_GROUP_EXPECTED = {
(byte) 0x01, (byte) 0x01, (byte) 0x01, (byte) 0x01, (byte) 0x17, (byte) 0x01, (byte) 0x01, (byte) 0x01
};
- private static final IpAddress IP_ADDRESS = new IpAddress(new Ipv4Address("1.1.1.1"));
- private static final IpAddress P_MULTICAST = new IpAddress(new Ipv4Address("23.1.1.1"));
+ private static final IpAddressNoZone IP_ADDRESS = new IpAddressNoZone(new Ipv4AddressNoZone("1.1.1.1"));
+ private static final IpAddressNoZone P_MULTICAST = new IpAddressNoZone(new Ipv4AddressNoZone("23.1.1.1"));
@Test
public void parseIpAddress() {
private static class MyPAddressPMulticastGroup implements PAddressPMulticastGroup {
@Override
- public IpAddress getPAddress() {
+ public IpAddressNoZone getPAddress() {
return IP_ADDRESS;
}
@Override
- public IpAddress getPMulticastGroup() {
+ public IpAddressNoZone getPMulticastGroup() {
return P_MULTICAST;
}
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.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.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.opendaylight.params.xml.ns.yang.bgp.mvpn.rev180417.NlriType;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.mvpn.rev180417.intra.as.i.pmsi.a.d.grouping.IntraAsIPmsiADBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.mvpn.rev180417.mvpn.mvpn.choice.IntraAsIPmsiADCase;
private final IntraAsIPmsiADCase expected = new IntraAsIPmsiADCaseBuilder()
.setIntraAsIPmsiAD(new IntraAsIPmsiADBuilder()
.setRouteDistinguisher(new RouteDistinguisher(new RdIpv4("1.2.3.4:258")))
- .setOrigRouteIp(new IpAddress(new Ipv4Address("1.0.0.1")))
+ .setOrigRouteIp(new IpAddressNoZone(new Ipv4AddressNoZone("1.0.0.1")))
.build()).build();
private final IntraAsIPmsiADHandler handler = new IntraAsIPmsiADHandler();
import org.opendaylight.protocol.bgp.mvpn.impl.NlriActivator;
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.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.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.opendaylight.params.xml.ns.yang.bgp.mvpn.rev180417.NlriType;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.mvpn.rev180417.inter.as.i.pmsi.a.d.grouping.InterAsIPmsiADBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.mvpn.rev180417.leaf.a.d.grouping.LeafADBuilder;
.setRouteDistinguisher(new RouteDistinguisher(new RdIpv4("1.2.3.4:258")))
.build()
).build())
- .setOrigRouteIp(new IpAddress(new Ipv4Address("1.0.0.1"))).build())
+ .setOrigRouteIp(new IpAddressNoZone(new Ipv4AddressNoZone("1.0.0.1"))).build())
.build();
private final LeafADHandler handler = new LeafADHandler();
* 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.mvpn.impl.nlri;
import static org.junit.Assert.assertArrayEquals;
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.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.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.opendaylight.params.xml.ns.yang.bgp.mvpn.rev180417.NlriType;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.mvpn.rev180417.multicast.group.opaque.grouping.multicast.group.CGAddressCaseBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.mvpn.rev180417.mvpn.mvpn.choice.SPmsiADCase;
private final SPmsiADCase expected = new SPmsiADCaseBuilder()
.setSPmsiAD(new SPmsiADBuilder()
.setRouteDistinguisher(new RouteDistinguisher(new RdIpv4("1.2.3.4:258")))
- .setMulticastSource(new IpAddress(new Ipv4Address("10.0.0.10")))
+ .setMulticastSource(new IpAddressNoZone(new Ipv4AddressNoZone("10.0.0.10")))
.setMulticastGroup(new CGAddressCaseBuilder()
- .setCGAddress(new IpAddress(new Ipv4Address("12.0.0.12"))).build())
- .setOrigRouteIp(new IpAddress(new Ipv4Address("1.0.0.1")))
+ .setCGAddress(new IpAddressNoZone(new Ipv4AddressNoZone("12.0.0.12"))).build())
+ .setOrigRouteIp(new IpAddressNoZone(new Ipv4AddressNoZone("1.0.0.1")))
.build()).build();
private final SPmsiADHandler handler = new SPmsiADHandler();
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.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.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.opendaylight.params.xml.ns.yang.bgp.mvpn.rev180417.NlriType;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.mvpn.rev180417.c.multicast.grouping.CMulticastBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.mvpn.rev180417.multicast.group.opaque.grouping.multicast.group.CGAddressCaseBuilder;
private final SharedTreeJoinCase expected = new SharedTreeJoinCaseBuilder()
.setSharedTreeJoin(new SharedTreeJoinBuilder()
- .setCMulticast(new CMulticastBuilder()
- .setRouteDistinguisher(new RouteDistinguisher(new RdIpv4("1.2.3.4:258")))
- .setSourceAs(new AsNumber(Uint32.TEN))
- .setMulticastSource(new IpAddress(new Ipv4Address("1.0.0.1")))
- .setMulticastGroup(new CGAddressCaseBuilder()
- .setCGAddress(new IpAddress(new Ipv4Address("2.0.0.2"))).build()).build())
- .build()).build();
+ .setCMulticast(new CMulticastBuilder()
+ .setRouteDistinguisher(new RouteDistinguisher(new RdIpv4("1.2.3.4:258")))
+ .setSourceAs(new AsNumber(Uint32.TEN))
+ .setMulticastSource(new IpAddressNoZone(new Ipv4AddressNoZone("1.0.0.1")))
+ .setMulticastGroup(new CGAddressCaseBuilder()
+ .setCGAddress(new IpAddressNoZone(new Ipv4AddressNoZone("2.0.0.2"))).build()).build())
+ .build()).build();
private final SharedTreeJoinHandler handler = new SharedTreeJoinHandler();
@Test
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.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.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.opendaylight.params.xml.ns.yang.bgp.mvpn.rev180417.NlriType;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.mvpn.rev180417.mvpn.mvpn.choice.SourceActiveADCase;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.mvpn.rev180417.mvpn.mvpn.choice.SourceActiveADCaseBuilder;
private final SourceActiveADCase expected = new SourceActiveADCaseBuilder()
.setSourceActiveAD(new SourceActiveADBuilder()
.setRouteDistinguisher(new RouteDistinguisher(new RdIpv4("1.2.3.4:258")))
- .setMulticastSource(new IpAddress(new Ipv4Address("1.0.0.1")))
- .setMulticastGroup(new IpAddress(new Ipv4Address("2.0.0.2")))
+ .setMulticastSource(new IpAddressNoZone(new Ipv4AddressNoZone("1.0.0.1")))
+ .setMulticastGroup(new IpAddressNoZone(new Ipv4AddressNoZone("2.0.0.2")))
.build())
.build();
private final SourceActiveADHandler handler = new SourceActiveADHandler();
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.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.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.opendaylight.params.xml.ns.yang.bgp.mvpn.rev180417.NlriType;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.mvpn.rev180417.c.multicast.grouping.CMulticastBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.mvpn.rev180417.multicast.group.opaque.grouping.multicast.group.CGAddressCaseBuilder;
.setCMulticast(new CMulticastBuilder()
.setRouteDistinguisher(new RouteDistinguisher(new RdIpv4("1.2.3.4:258")))
.setSourceAs(new AsNumber(Uint32.TEN))
- .setMulticastSource(new IpAddress(new Ipv4Address("1.0.0.1")))
+ .setMulticastSource(new IpAddressNoZone(new Ipv4AddressNoZone("1.0.0.1")))
.setMulticastGroup(new CGAddressCaseBuilder().setCGAddress(
- new IpAddress(new Ipv4Address("2.0.0.2"))).build()).build())
+ new IpAddressNoZone(new Ipv4AddressNoZone("2.0.0.2"))).build()).build())
.build()).build();
private final SourceTreeJoinHandler handler = new SourceTreeJoinHandler();
* 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.route.targetcontrain.impl.nlri;
import static org.junit.Assert.assertArrayEquals;
import org.opendaylight.protocol.bgp.route.targetcontrain.impl.activators.NlriActivator;
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.route.target.constrain.rev180618.route.target.constrain.RouteTargetConstrainChoice;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.route.target.constrain.rev180618.route.target.constrain.route.target.constrain.choice.RouteTargetConstrainAs4ExtendedCommunityCaseBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.route.target.constrain.rev180618.route.target.constrain.route.target.constrain.choice.RouteTargetConstrainDefaultCaseBuilder;
.build()).build();
private static RouteTargetConstrainChoice RT_IPV4 = new RouteTargetConstrainIpv4RouteCaseBuilder()
.setRouteTargetIpv4(new RouteTargetIpv4Builder()
- .setGlobalAdministrator(new Ipv4Address("12.51.2.5"))
+ .setGlobalAdministrator(new Ipv4AddressNoZone("12.51.2.5"))
.setLocalAdministrator(Uint16.valueOf(5421))
.build()).build();
private static RouteTargetConstrainChoice RT_AS_4_OCT = new RouteTargetConstrainAs4ExtendedCommunityCaseBuilder()
* 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.route.targetcontrain.impl.route.policy;
import static org.junit.Assert.assertEquals;
import org.opendaylight.protocol.bgp.route.targetcontrain.impl.activators.StatementActivator;
import org.opendaylight.yang.gen.v1.http.openconfig.net.yang.bgp.types.rev151009.IPV4UNICAST;
import org.opendaylight.yang.gen.v1.http.openconfig.net.yang.routing.policy.rev151009.routing.policy.top.routing.policy.policy.definitions.policy.definition.statements.Statement;
-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.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.rib.rev180329.Route;
final Attributes expected = new AttributesBuilder()
.setCNextHop(new Ipv4NextHopCaseBuilder().setIpv4NextHop(new Ipv4NextHopBuilder()
- .setGlobal(new Ipv4Address("2.2.2.2")).build()).build())
+ .setGlobal(new Ipv4AddressNoZone("2.2.2.2")).build()).build())
.build();
final String rk = "testRoute";
final Route rtRoute = new RouteTargetConstrainRouteBuilder()
}
leaf-list originator-id {
- type inet:ipv4-address;
+ type inet:ipv4-address-no-zone;
description
"List of role expressions that are part of the set";
}
description "action to prepend Originator Id if non Originator Id is present. If no Originator Id"
+ "is defined, local Originator Id is used.";
leaf originator-id {
- type inet:ipv4-address;
+ type inet:ipv4-address-no-zone;
description "Originator Id";
}
}
import org.opendaylight.yang.gen.v1.http.openconfig.net.yang.routing.policy.rev151009.routing.policy.top.routing.policy.policy.definitions.PolicyDefinitionKey;
import org.opendaylight.yang.gen.v1.http.openconfig.net.yang.routing.policy.rev151009.routing.policy.top.routing.policy.policy.definitions.policy.definition.Statements;
import org.opendaylight.yang.gen.v1.http.openconfig.net.yang.routing.policy.rev151009.routing.policy.top.routing.policy.policy.definitions.policy.definition.statements.Statement;
-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.message.rev180329.path.attributes.Attributes;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.types.rev180329.ClusterIdentifier;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
});
BGPRibPolicyImpl(final DataBroker databroker, final StatementRegistryConsumer policyRegistry,
- final long localAs, final Ipv4Address originatorId, final ClusterIdentifier clusterId,
+ final long localAs, final Ipv4AddressNoZone originatorId, final ClusterIdentifier clusterId,
final Config policyConfig) {
this.policyRegistry = requireNonNull(policyRegistry);
this.databroker = requireNonNull(databroker);
import org.opendaylight.protocol.bgp.openconfig.routing.policy.spi.registry.StatementRegistryConsumer;
import org.opendaylight.protocol.bgp.rib.spi.policy.BGPRibRoutingPolicy;
import org.opendaylight.yang.gen.v1.http.openconfig.net.yang.routing.policy.rev151009.apply.policy.group.apply.policy.Config;
-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.ClusterIdentifier;
public final class BGPRibRoutingPolicyFactoryImpl implements BGPRibRoutingPolicyFactory {
}
@Override
- public BGPRibRoutingPolicy buildBGPRibPolicy(final long localAs, final Ipv4Address bgpId,
+ public BGPRibRoutingPolicy buildBGPRibPolicy(final long localAs, final Ipv4AddressNoZone bgpId,
final ClusterIdentifier clusterId, final Config policyConfig) {
requireNonNull(policyConfig);
return new BGPRibPolicyImpl(this.databroker, this.statementRegistryConsumer,
* 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.openconfig.routing.policy.impl;
import static java.util.Objects.requireNonNull;
import org.opendaylight.protocol.bgp.openconfig.routing.policy.spi.RouteEntryBaseAttributes;
-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.ClusterIdentifier;
public final class PolicyRIBBaseParametersImpl implements RouteEntryBaseAttributes {
private final Long localAs;
- private final Ipv4Address originatorId;
+ private final Ipv4AddressNoZone originatorId;
private final ClusterIdentifier clusterId;
- public PolicyRIBBaseParametersImpl(final long localAs, final Ipv4Address originatorId,
+ public PolicyRIBBaseParametersImpl(final long localAs, final Ipv4AddressNoZone originatorId,
final ClusterIdentifier clusterId) {
this.localAs = localAs;
this.originatorId = requireNonNull(originatorId);
}
@Override
- public Ipv4Address getOriginatorId() {
+ public Ipv4AddressNoZone getOriginatorId() {
return this.originatorId;
}
import org.eclipse.jdt.annotation.NonNullByDefault;
import org.opendaylight.protocol.bgp.rib.spi.policy.BGPRibRoutingPolicy;
import org.opendaylight.yang.gen.v1.http.openconfig.net.yang.routing.policy.rev151009.apply.policy.group.apply.policy.Config;
-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.ClusterIdentifier;
/**
* @param policyConfig BGP Openconfig policy Configuration
* @return BGPRIBRoutingPolicy
*/
- BGPRibRoutingPolicy buildBGPRibPolicy(long localAs, Ipv4Address bgpId, ClusterIdentifier clusterId,
+ BGPRibRoutingPolicy buildBGPRibPolicy(long localAs, Ipv4AddressNoZone bgpId, ClusterIdentifier clusterId,
Config policyConfig);
}
package org.opendaylight.protocol.bgp.openconfig.routing.policy.spi;
import org.eclipse.jdt.annotation.NonNullByDefault;
-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.ClusterIdentifier;
/**
*
* @return originator Id
*/
- Ipv4Address getOriginatorId();
+ Ipv4AddressNoZone getOriginatorId();
/**
* Returns cluster identifier.
import org.opendaylight.yang.gen.v1.http.openconfig.net.yang.bgp.types.rev151009.BgpOriginAttrType;
import org.opendaylight.yang.gen.v1.http.openconfig.net.yang.routing.policy.rev151009.generic.actions.route.disposition.RejectRoute;
import org.opendaylight.yang.gen.v1.http.openconfig.net.yang.routing.policy.rev151009.routing.policy.top.routing.policy.policy.definitions.policy.definition.statements.statement.Actions;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IetfInetUtil;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress;
import org.opendaylight.yang.gen.v1.urn.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;
CNextHop nhNew;
if (address != null) {
if (address.getIpv4Address() != null) {
- nhNew = new Ipv4NextHopCaseBuilder().setIpv4NextHop(new Ipv4NextHopBuilder()
- .setGlobal(address.getIpv4Address()).build()).build();
+ nhNew = new Ipv4NextHopCaseBuilder()
+ .setIpv4NextHop(new Ipv4NextHopBuilder()
+ .setGlobal(IetfInetUtil.INSTANCE.ipv4AddressNoZoneFor(address.getIpv4Address()))
+ .build())
+ .build();
} else {
- nhNew = new Ipv6NextHopCaseBuilder().setIpv6NextHop(new Ipv6NextHopBuilder()
- .setGlobal(address.getIpv6Address()).build()).build();
+ nhNew = new Ipv6NextHopCaseBuilder()
+ .setIpv6NextHop(new Ipv6NextHopBuilder()
+ .setGlobal(IetfInetUtil.INSTANCE.ipv6AddressNoZoneFor(address.getIpv6Address()))
+ .build())
+ .build();
}
attributesUpdatedBuilder.setCNextHop(nhNew);
import org.opendaylight.yang.gen.v1.http.openconfig.net.yang.routing.policy.rev151009.routing.policy.top.routing.policy.policy.definitions.PolicyDefinition;
import org.opendaylight.yang.gen.v1.http.openconfig.net.yang.routing.policy.rev151009.routing.policy.top.routing.policy.policy.definitions.PolicyDefinitionKey;
import org.opendaylight.yang.gen.v1.http.openconfig.net.yang.routing.policy.rev151009.routing.policy.top.routing.policy.policy.definitions.policy.definition.statements.Statement;
-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.ClusterIdentifier;
public class AbstractStatementRegistryTest extends AbstractOpenconfigRoutingPolicyLoaderTest {
public static final long LOCAL_AS = 8;
- public static final Ipv4Address IPV4 = new Ipv4Address("1.2.3.4");
+ public static final Ipv4AddressNoZone IPV4 = new Ipv4AddressNoZone("1.2.3.4");
public static final ClusterIdentifier CLUSTER = new ClusterIdentifier(IPV4);
protected StatementRegistry statementRegistry;
import org.opendaylight.protocol.bgp.rib.spi.policy.BGPRouteEntryExportParameters;
import org.opendaylight.yang.gen.v1.http.openconfig.net.yang.bgp.types.rev151009.IPV4UNICAST;
import org.opendaylight.yang.gen.v1.http.openconfig.net.yang.routing.policy.rev151009.routing.policy.top.routing.policy.policy.definitions.policy.definition.statements.Statement;
-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.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.message.rev180329.path.attributes.attributes.LocalPrefBuilder;
final Attributes expected = new AttributesBuilder()
.setOrigin(new OriginBuilder().setValue(BgpOrigin.Igp).build())
.setCNextHop(new Ipv4NextHopCaseBuilder().setIpv4NextHop(new Ipv4NextHopBuilder()
- .setGlobal(new Ipv4Address("4.5.6.7")).build()).build())
+ .setGlobal(new Ipv4AddressNoZone("4.5.6.7")).build()).build())
.setLocalPref(new LocalPrefBuilder().setPref(Uint32.valueOf(100)).build())
.setMultiExitDisc(new MultiExitDiscBuilder().setMed(Uint32.valueOf(15)).build())
.build();
import org.opendaylight.yang.gen.v1.http.openconfig.net.yang.bgp.types.rev151009.IPV4UNICAST;
import org.opendaylight.yang.gen.v1.http.openconfig.net.yang.bgp.types.rev151009.IPV6UNICAST;
import org.opendaylight.yang.gen.v1.http.openconfig.net.yang.routing.policy.rev151009.routing.policy.top.routing.policy.policy.definitions.policy.definition.statements.Statement;
-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.message.rev180329.path.attributes.AttributesBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.message.rev180329.path.attributes.attributes.LocalPrefBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.message.rev180329.path.attributes.attributes.MultiExitDiscBuilder;
.filter(st -> st.getName().equals("nexthop-in-test")).findFirst().get();
RouteAttributeContainer attributeContainer = routeAttributeContainerFalse(new AttributesBuilder()
.setCNextHop(new Ipv6NextHopCaseBuilder().setIpv6NextHop(new Ipv6NextHopBuilder()
- .setGlobal(new Ipv6Address("2001:db8::1")).build()).build())
+ .setGlobal(new Ipv6AddressNoZone("2001:db8::1")).build()).build())
.build());
RouteAttributeContainer result = this.statementRegistry.applyExportStatement(
attributeContainer = routeAttributeContainerFalse(new AttributesBuilder()
.setCNextHop(new Ipv4NextHopCaseBuilder().setIpv4NextHop(new Ipv4NextHopBuilder()
- .setGlobal(new Ipv4Address("42.42.42.42")).build()).build())
+ .setGlobal(new Ipv4AddressNoZone("42.42.42.42")).build()).build())
.build());
result = this.statementRegistry.applyExportStatement(
this.baseAttributes,
* 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.openconfig.routing.policy.statement.actions;
import org.opendaylight.protocol.bgp.openconfig.routing.policy.spi.RouteEntryBaseAttributes;
import org.opendaylight.protocol.bgp.openconfig.routing.policy.spi.policy.action.BgpActionAugPolicy;
import org.opendaylight.protocol.bgp.rib.spi.policy.BGPRouteEntryExportParameters;
import org.opendaylight.protocol.bgp.rib.spi.policy.BGPRouteEntryImportParameters;
-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.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.message.rev180329.path.attributes.attributes.OriginatorIdBuilder;
final Attributes attributes,
final SetOriginatorIdPrepend bgpActions) {
- final Ipv4Address defOri = bgpActions.getSetOriginatorIdPrepend().getOriginatorId();
+ final Ipv4AddressNoZone defOri = bgpActions.getSetOriginatorIdPrepend().getOriginatorId();
return prependOriginatorId(attributes, defOri == null
? routeEntryInfo.getOriginatorId() : defOri);
}
- private static Attributes prependOriginatorId(final Attributes attributes, final Ipv4Address originatorId) {
+ private static Attributes prependOriginatorId(final Attributes attributes, final Ipv4AddressNoZone originatorId) {
if (attributes.getOriginatorId() != null) {
return attributes;
}
final BGPRouteEntryExportParameters routeEntryExportParameters,
final Attributes attributes,
final SetOriginatorIdPrepend bgpActions) {
- final Ipv4Address defOri = bgpActions.getSetOriginatorIdPrepend().getOriginatorId();
+ final Ipv4AddressNoZone defOri = bgpActions.getSetOriginatorIdPrepend().getOriginatorId();
return prependOriginatorId(attributes, defOri == null
? routeEntryInfo.getOriginatorId() : defOri);
}
import java.util.Collections;
import java.util.List;
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.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.message.rev180329.path.attributes.attributes.AsPathBuilder;
public final class ExportAttributeTestUtil {
public static final Uint32 REMOTE_AS = Uint32.valueOf(8);
public static final AsNumber LOCAL_AS = new AsNumber(Uint32.valueOf(65));
- public static final Ipv4Address IPV4 = new Ipv4Address("1.2.3.4");
+ public static final Ipv4AddressNoZone IPV4 = new Ipv4AddressNoZone("1.2.3.4");
public static final ClusterIdentifier CLUSTER = new ClusterIdentifier(IPV4);
private ExportAttributeTestUtil() {
}
private static ClusterId createClusterId() {
- final ClusterIdentifier cluster1 = new ClusterIdentifier(new Ipv4Address("1.1.1.1"));
- final ClusterIdentifier cluster2 = new ClusterIdentifier(new Ipv4Address("1.1.1.2"));
+ final ClusterIdentifier cluster1 = new ClusterIdentifier(new Ipv4AddressNoZone("1.1.1.1"));
+ final ClusterIdentifier cluster2 = new ClusterIdentifier(new Ipv4AddressNoZone("1.1.1.2"));
return new ClusterIdBuilder().setCluster(Arrays.asList(CLUSTER, cluster1, cluster2)).build();
}
private static ClusterId createClusterIdInput() {
- final ClusterIdentifier cluster1 = new ClusterIdentifier(new Ipv4Address("1.1.1.1"));
- final ClusterIdentifier cluster2 = new ClusterIdentifier(new Ipv4Address("1.1.1.2"));
+ final ClusterIdentifier cluster1 = new ClusterIdentifier(new Ipv4AddressNoZone("1.1.1.1"));
+ final ClusterIdentifier cluster2 = new ClusterIdentifier(new Ipv4AddressNoZone("1.1.1.2"));
return new ClusterIdBuilder().setCluster(Arrays.asList(cluster1, cluster2)).build();
}
import java.util.Collections;
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.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.message.rev180329.path.attributes.attributes.AsPathBuilder;
// originator pref
attBuilder.setOriginatorId(new OriginatorIdBuilder()
- .setOriginator(new Ipv4Address("41.41.41.41")).build());
+ .setOriginator(new Ipv4AddressNoZone("41.41.41.41")).build());
// origin pref
attBuilder.setOrigin(createOrigin());
*/
private static Ipv4NextHopCase createNexHop() {
return new Ipv4NextHopCaseBuilder().setIpv4NextHop(new Ipv4NextHopBuilder()
- .setGlobal(new Ipv4Address("199.20.160.41")).build()).build();
+ .setGlobal(new Ipv4AddressNoZone("199.20.160.41")).build()).build();
}
}
import org.opendaylight.yang.gen.v1.http.openconfig.net.yang.bgp.types.rev151009.GRACEFULRESTART;
import org.opendaylight.yang.gen.v1.http.openconfig.net.yang.bgp.types.rev151009.MPBGP;
import org.opendaylight.yang.gen.v1.http.openconfig.net.yang.bgp.types.rev151009.ROUTEREFRESH;
+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.inet.types.rev130715.Ipv4AddressNoZone;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Timeticks;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.openconfig.extensions.rev180329.BgpNeighborStateAugmentation;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.openconfig.extensions.rev180329.BgpNeighborStateAugmentationBuilder;
public static @NonNull Neighbor buildNeighbor(final @NonNull BGPPeerState neighbor,
final @NonNull BGPTableTypeRegistryConsumer bgpTableTypeRegistry) {
return new NeighborBuilder()
- .setNeighborAddress(neighbor.getNeighborAddress())
+ .setNeighborAddress(convertIpAddress(neighbor.getNeighborAddress()))
.setState(buildNeighborState(neighbor.getBGPSessionState(), neighbor.getBGPPeerMessagesState()))
.setTimers(buildTimer(neighbor.getBGPTimersState()))
.setTransport(buildTransport(neighbor.getBGPTransportState()))
.build();
}
+ private static IpAddress convertIpAddress(final IpAddressNoZone addr) {
+ if (addr == null) {
+ return null;
+ }
+ final Ipv4AddressNoZone ipv4 = addr.getIpv4AddressNoZone();
+ if (ipv4 != null) {
+ return new IpAddress(ipv4);
+ }
+ return new IpAddress(addr.getIpv6AddressNoZone());
+ }
+
/**
* Builds Neighbor State from BGPPeerState counters.
*
return null;
}
final NeighborTransportStateAugmentation transportState = new NeighborTransportStateAugmentationBuilder()
- .setLocalPort(neighbor.getLocalPort()).setRemoteAddress(neighbor.getRemoteAddress())
+ .setLocalPort(neighbor.getLocalPort()).setRemoteAddress(convertIpAddress(neighbor.getRemoteAddress()))
.setRemotePort(neighbor.getRemotePort()).build();
return new TransportBuilder().setState(new org.opendaylight.yang.gen.v1.http.openconfig.net.yang.bgp.rev151009
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.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.IpAddressNoZone;
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.PortNumber;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Timeticks;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.openconfig.extensions.rev180329.BgpNeighborStateAugmentation;
static final TablesKey TABLES_KEY = new TablesKey(Ipv4AddressFamily.class, UnicastSubsequentAddressFamily.class);
private final AsNumber as = new AsNumber(Uint32.valueOf(72));
private final BgpId bgpId = new BgpId("127.0.0.1");
- private final IpAddress neighborAddress = new IpAddress(new Ipv4Address("127.0.0.2"));
+ private final IpAddressNoZone neighborAddress = new IpAddressNoZone(new Ipv4AddressNoZone("127.0.0.2"));
private final List<Class<? extends BgpCapability>> supportedCap = Arrays.asList(ASN32.class, ROUTEREFRESH.class,
MPBGP.class, ADDPATHS.class, GRACEFULRESTART.class);
@Mock
Assert.assertNotNull(neighbors);
assertEquals(peerGroupExpected, bgpRib.getPeerGroups().getPeerGroup().get(0));
final Neighbor neighborResult = neighbors.getNeighbor().get(0);
- assertEquals(this.neighborAddress, neighborResult.getNeighborAddress());
+ assertEquals(new IpAddress(neighborAddress.getIpv4AddressNoZone()), neighborResult.getNeighborAddress());
assertEquals(expectedAfiSafis, neighborResult.getAfiSafis());
assertEquals(expectedErrorHandling, neighborResult.getErrorHandling());
assertEquals(expectedGracefulRestart, neighborResult.getGracefulRestart());
.addAugmentation(NeighborTransportStateAugmentation.class,
new NeighborTransportStateAugmentationBuilder().setLocalPort(this.localPort)
.setRemotePort(this.remotePort)
- .setRemoteAddress(this.neighborAddress).build())
+ .setRemoteAddress(new IpAddress(neighborAddress.getIpv4AddressNoZone())).build())
.build()).build();
return transport;
}
grouping originator-id {
leaf originator {
- type inet:ipv4-address;
+ type inet:ipv4-address-no-zone;
}
}
mandatory true;
}
leaf bgp-identifier {
- type inet:ipv4-address;
+ type inet:ipv4-address-no-zone;
mandatory true;
}
list bgp-parameters {
import org.opendaylight.protocol.util.Ipv4Util;
import org.opendaylight.protocol.util.Values;
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.message.rev180329.Open;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.message.rev180329.OpenBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.message.rev180329.open.message.BgpParameters;
if (holdTime == 1 || holdTime == 2) {
throw new BGPDocumentedException("Hold time value not acceptable.", BGPError.HOLD_TIME_NOT_ACC);
}
- Ipv4Address bgpId;
+ final Ipv4AddressNoZone bgpId;
try {
bgpId = Ipv4Util.addressForByteBuf(body);
} catch (final IllegalArgumentException e) {
import org.opendaylight.protocol.bgp.parser.spi.PeerSpecificParserConstraint;
import org.opendaylight.protocol.bgp.parser.spi.RevisedErrorHandling;
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.message.rev180329.OriginatorId;
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;
public void serializeAttribute(final Attributes attribute, final ByteBuf byteAggregator) {
final OriginatorId originator = attribute.getOriginatorId();
if (originator != null) {
- final Ipv4Address address = originator.getOriginator();
+ final Ipv4AddressNoZone address = originator.getOriginator();
if (address != null) {
AttributeUtil.formatAttribute(AttributeUtil.OPTIONAL, TYPE,
Unpooled.wrappedBuffer(Ipv4Util.bytesForAddress(address)), byteAggregator);
import org.opendaylight.protocol.util.ByteArray;
import org.opendaylight.protocol.util.NoopReferenceCache;
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.inet.types.rev130715.Ipv4Prefix;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.message.rev180329.PathId;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.message.rev180329.Update;
asPath.add(new SegmentsBuilder().setAsSequence(asNumbers).build());
final Ipv4NextHopCase nextHop = new Ipv4NextHopCaseBuilder().setIpv4NextHop(
- new Ipv4NextHopBuilder().setGlobal(new Ipv4Address("10.0.0.2")).build()).build();
+ new Ipv4NextHopBuilder().setGlobal(new Ipv4AddressNoZone("10.0.0.2")).build()).build();
final List<Communities> comms = new ArrayList<>();
comms.add((Communities) CommunityUtil.NO_EXPORT);
asPath.add(new SegmentsBuilder().setAsSet(asSet).build());
final Aggregator aggregator = new AggregatorBuilder().setAsNumber(new AsNumber(Uint32.valueOf(30)))
- .setNetworkAddress(new Ipv4Address("10.0.0.9")).build();
+ .setNetworkAddress(new Ipv4AddressNoZone("10.0.0.9")).build();
final Ipv4NextHopCase nextHop = new Ipv4NextHopCaseBuilder().setIpv4NextHop(
- new Ipv4NextHopBuilder().setGlobal(new Ipv4Address("10.0.0.9")).build()).build();
+ new Ipv4NextHopBuilder().setGlobal(new Ipv4AddressNoZone("10.0.0.9")).build()).build();
// check path attributes
final Attributes attrs = message.getAttributes();
// attributes
final Ipv4NextHopCase nextHop = new Ipv4NextHopCaseBuilder().setIpv4NextHop(
- new Ipv4NextHopBuilder().setGlobal(new Ipv4Address("3.3.3.3")).build()).build();
+ new Ipv4NextHopBuilder().setGlobal(new Ipv4AddressNoZone("3.3.3.3")).build()).build();
final List<ExtendedCommunities> comms = new ArrayList<>();
comms.add(new ExtendedCommunitiesBuilder()
.setTransitive(true)
.setExtendedCommunity(new RouteTargetIpv4CaseBuilder()
.setRouteTargetIpv4(new RouteTargetIpv4Builder()
- .setGlobalAdministrator(new Ipv4Address("192.168.1.0"))
+ .setGlobalAdministrator(new Ipv4AddressNoZone("192.168.1.0"))
.setLocalAdministrator(Uint16.valueOf(4660))
.build())
.build())
asPath.add(new SegmentsBuilder().setAsSequence(asNumbers).build());
final Ipv4NextHopCase nextHop = new Ipv4NextHopCaseBuilder().setIpv4NextHop(
- new Ipv4NextHopBuilder().setGlobal(new Ipv4Address("10.0.0.2")).build()).build();
+ new Ipv4NextHopBuilder().setGlobal(new Ipv4AddressNoZone("10.0.0.2")).build()).build();
final List<Communities> comms = new ArrayList<>();
comms.add((Communities) CommunityUtil.NO_EXPORT);
import java.util.List;
import org.junit.Test;
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.message.rev180329.open.message.bgp.parameters.optional.capabilities.CParameters;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.message.rev180329.open.message.bgp.parameters.optional.capabilities.CParametersBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.message.rev180329.open.message.bgp.parameters.optional.capabilities.c.parameters.As4BytesCapabilityBuilder;
public void testBGPAggregatorImpl() {
final BgpAggregator ipv4 = new AggregatorBuilder()
.setAsNumber(new AsNumber(Uint32.valueOf(5524)))
- .setNetworkAddress(new Ipv4Address("124.55.42.1"))
+ .setNetworkAddress(new Ipv4AddressNoZone("124.55.42.1"))
.build();
final BgpAggregator ipv4i = new AggregatorBuilder()
.setAsNumber(new AsNumber(Uint32.valueOf(5525)))
- .setNetworkAddress(new Ipv4Address("124.55.42.1"))
+ .setNetworkAddress(new Ipv4AddressNoZone("124.55.42.1"))
.build();
assertNotSame(ipv4.hashCode(), ipv4i.hashCode());
import org.junit.Before;
import org.junit.Test;
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.c.next.hop.ipv4.next.hop._case.Ipv4NextHop;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.types.rev180329.next.hop.c.next.hop.ipv4.next.hop._case.Ipv4NextHopBuilder;
public class IPv4NextHopTest {
-
private Ipv4NextHop nextHop;
@Before
public void init() {
- this.nextHop = new Ipv4NextHopBuilder().setGlobal(new Ipv4Address("10.0.0.1")).build();
+ this.nextHop = new Ipv4NextHopBuilder().setGlobal(new Ipv4AddressNoZone("10.0.0.1")).build();
}
@Test
import org.junit.Before;
import org.junit.Test;
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.c.next.hop.ipv6.next.hop._case.Ipv6NextHop;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.types.rev180329.next.hop.c.next.hop.ipv6.next.hop._case.Ipv6NextHopBuilder;
@Before
public void init() {
- this.nextHopA = new Ipv6NextHopBuilder().setGlobal(new Ipv6Address("2001:db8:85a3:0:0:8a2e:370:7331")).build();
- this.nextHopB = new Ipv6NextHopBuilder().setGlobal(new Ipv6Address("2001:db8:85a3:0:0:8a2e:370:7331"))
- .setLinkLocal(new Ipv6Address("2001:db8:85a3:0:0:8a2e:370:0000")).build();
+ this.nextHopA = new Ipv6NextHopBuilder().setGlobal(new Ipv6AddressNoZone("2001:db8:85a3:0:0:8a2e:370:7331"))
+ .build();
+ this.nextHopB = new Ipv6NextHopBuilder().setGlobal(new Ipv6AddressNoZone("2001:db8:85a3:0:0:8a2e:370:7331"))
+ .setLinkLocal(new Ipv6AddressNoZone("2001:db8:85a3:0:0:8a2e:370:0000")).build();
}
@Test
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.message.rev180329.Open;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.message.rev180329.OpenBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.message.rev180329.ProtocolVersion;
@Test
public void testSerializeOpen() throws BGPDocumentedException {
final Open open = new OpenBuilder()
- .setBgpIdentifier(new Ipv4Address("127.0.0.1"))
+ .setBgpIdentifier(new Ipv4AddressNoZone("127.0.0.1"))
.setMyAsNumber(Uint16.valueOf(30))
.setHoldTimer(Uint16.valueOf(3))
.setVersion(new ProtocolVersion(Uint8.valueOf(4)))
}
final Open open = new OpenBuilder()
- .setBgpIdentifier(new Ipv4Address("127.0.0.1"))
+ .setBgpIdentifier(new Ipv4AddressNoZone("127.0.0.1"))
.setMyAsNumber(Uint16.valueOf(30))
.setHoldTimer(Uint16.valueOf(3))
.setVersion(new ProtocolVersion(Uint8.valueOf(4)))
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.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.message.rev180329.Keepalive;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.message.rev180329.KeepaliveBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.message.rev180329.Notify;
final Notification open = new OpenBuilder()
.setMyAsNumber(Uint16.valueOf(100))
.setHoldTimer(Uint16.valueOf(180))
- .setBgpIdentifier(new Ipv4Address("20.20.20.20"))
+ .setBgpIdentifier(new Ipv4AddressNoZone("20.20.20.20"))
.setVersion(new ProtocolVersion(Uint8.valueOf(4)))
.build();
final ByteBuf bytes = Unpooled.buffer();
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.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.message.rev180329.path.attributes.attributes.AggregatorBuilder;
private static final Attributes RESULT = new AttributesBuilder()
.setAggregator(new AggregatorBuilder()
.setAsNumber(new AsNumber(Uint32.ONE))
- .setNetworkAddress(new Ipv4Address("255.255.255.1"))
+ .setNetworkAddress(new Ipv4AddressNoZone("255.255.255.1"))
.build())
.build();
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.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.message.rev180329.path.attributes.attributes.ClusterIdBuilder;
@Test
public void testParserAttribute() throws Exception {
final List<ClusterIdentifier> list = new ArrayList<>();
- final Ipv4Address ip1 = new Ipv4Address("192.168.1.1");
- final Ipv4Address ip2 = new Ipv4Address("192.168.1.2");
+ final Ipv4AddressNoZone ip1 = new Ipv4AddressNoZone("192.168.1.1");
+ final Ipv4AddressNoZone ip2 = new Ipv4AddressNoZone("192.168.1.2");
list.add(new ClusterIdentifier(ip1));
list.add(new ClusterIdentifier(ip2));
final Attributes clusterId = new AttributesBuilder().setClusterId(new ClusterIdBuilder().setCluster(list)
import org.opendaylight.protocol.bgp.parser.BGPParsingException;
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.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.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.types.rev180329.next.hop.c.next.hop.Ipv4NextHopCaseBuilder;
private static final Attributes IPV4_RESULT = new AttributesBuilder()
.setCNextHop(new Ipv4NextHopCaseBuilder().setIpv4NextHop(new Ipv4NextHopBuilder()
- .setGlobal(new Ipv4Address("255.255.255.255"))
+ .setGlobal(new Ipv4AddressNoZone("255.255.255.255"))
.build()).build()).build();
private static final Attributes IPV6_RESULT = new AttributesBuilder()
.setCNextHop(new Ipv6NextHopCaseBuilder().setIpv6NextHop(new Ipv6NextHopBuilder()
- .setGlobal(new Ipv6Address("ffff::1"))
- .setLinkLocal(new Ipv6Address("ffff::2"))
+ .setGlobal(new Ipv6AddressNoZone("ffff::1"))
+ .setLinkLocal(new Ipv6AddressNoZone("ffff::2"))
.build()).build()).build();
@Test
import org.opendaylight.protocol.bgp.parser.BGPParsingException;
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.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.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.message.rev180329.path.attributes.attributes.OriginatorIdBuilder;
private static final Attributes RESULT = new AttributesBuilder()
.setOriginatorId(new OriginatorIdBuilder()
- .setOriginator(new Ipv4Address("255.255.255.255"))
+ .setOriginator(new Ipv4AddressNoZone("255.255.255.255"))
.build())
.build();
* 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.parser.impl.message.update.extended.communities;
import static org.junit.Assert.assertArrayEquals;
import io.netty.buffer.ByteBuf;
import io.netty.buffer.Unpooled;
import org.junit.Test;
-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.extended.community.ExtendedCommunity;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.types.rev180329.extended.community.extended.community.Inet4SpecificExtendedCommunityCase;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.types.rev180329.extended.community.extended.community.Inet4SpecificExtendedCommunityCaseBuilder;
final Inet4SpecificExtendedCommunityCase input
= new Inet4SpecificExtendedCommunityCaseBuilder().setInet4SpecificExtendedCommunity(
new Inet4SpecificExtendedCommunityBuilder()
- .setGlobalAdministrator(new Ipv4Address("12.51.2.5"))
+ .setGlobalAdministrator(new Ipv4AddressNoZone("12.51.2.5"))
.setLocalAdministrator(new byte[]{21, 45}).build()).build();
final Inet4SpecificExtendedCommunityCase expected
= new Inet4SpecificExtendedCommunityCaseBuilder().setInet4SpecificExtendedCommunity(
new Inet4SpecificExtendedCommunityBuilder()
.setInet4SpecificExtendedCommunityCommon(new Inet4SpecificExtendedCommunityCommonBuilder()
- .setGlobalAdministrator(new Ipv4Address("12.51.2.5"))
+ .setGlobalAdministrator(new Ipv4AddressNoZone("12.51.2.5"))
.setLocalAdministrator(new byte[]{21, 45}).build()).build())
.build();
final ExtendedCommunity exComm = handler.parseExtendedCommunity(Unpooled.copiedBuffer(INPUT));
= new Inet4SpecificExtendedCommunityCaseBuilder().setInet4SpecificExtendedCommunity(
new Inet4SpecificExtendedCommunityBuilder()
.setInet4SpecificExtendedCommunityCommon(new Inet4SpecificExtendedCommunityCommonBuilder()
- .setGlobalAdministrator(new Ipv4Address("12.51.2.5"))
+ .setGlobalAdministrator(new Ipv4AddressNoZone("12.51.2.5"))
.setLocalAdministrator(new byte[]{21, 45}).build()).build())
.build();
* 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.parser.impl.message.update.extended.communities;
+import static org.junit.Assert.assertArrayEquals;
+import static org.junit.Assert.assertEquals;
+
import io.netty.buffer.ByteBuf;
import io.netty.buffer.Unpooled;
-import org.junit.Assert;
import org.junit.Test;
import org.opendaylight.protocol.bgp.parser.BGPDocumentedException;
import org.opendaylight.protocol.bgp.parser.BGPParsingException;
-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.extended.community.ExtendedCommunity;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.types.rev180329.extended.community.extended.community.RouteOriginIpv4Case;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.types.rev180329.extended.community.extended.community.RouteOriginIpv4CaseBuilder;
import org.opendaylight.yangtools.yang.common.Uint16;
public class RouteOriginIpv4EcHandlerTest {
-
private static final byte[] INPUT = {
12, 51, 2, 5, 0x15, 0x2d
};
final RouteOriginIpv4EcHandler handler = new RouteOriginIpv4EcHandler();
final RouteOriginIpv4Case expected = new RouteOriginIpv4CaseBuilder().setRouteOriginIpv4(
new RouteOriginIpv4Builder()
- .setGlobalAdministrator(new Ipv4Address("12.51.2.5"))
+ .setGlobalAdministrator(new Ipv4AddressNoZone("12.51.2.5"))
.setLocalAdministrator(Uint16.valueOf(5421))
.build()).build();
final ExtendedCommunity exComm = handler.parseExtendedCommunity(Unpooled.copiedBuffer(INPUT));
- Assert.assertEquals(expected, exComm);
+ assertEquals(expected, exComm);
final ByteBuf output = Unpooled.buffer(INPUT.length);
handler.serializeExtendedCommunity(expected, output);
- Assert.assertArrayEquals(INPUT, output.array());
+ assertArrayEquals(INPUT, output.array());
}
-
}
import io.netty.buffer.Unpooled;
import org.junit.Assert;
import org.junit.Test;
-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.extended.community.ExtendedCommunity;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.types.rev180329.extended.community.extended.community.As4GenericSpecExtendedCommunityCaseBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.types.rev180329.extended.community.extended.community.VrfRouteImportExtendedCommunityCase;
final VrfRouteImportExtendedCommunityCase expected = new VrfRouteImportExtendedCommunityCaseBuilder()
.setVrfRouteImportExtendedCommunity(new VrfRouteImportExtendedCommunityBuilder()
.setInet4SpecificExtendedCommunityCommon(new Inet4SpecificExtendedCommunityCommonBuilder()
- .setGlobalAdministrator(new Ipv4Address("12.51.2.5"))
+ .setGlobalAdministrator(new Ipv4AddressNoZone("12.51.2.5"))
.setLocalAdministrator(new byte[]{21, 45}).build())
.build())
.build();
* 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.parser.impl.message.update.extended.communities.route.target;
+import static org.junit.Assert.assertArrayEquals;
+import static org.junit.Assert.assertEquals;
+
import io.netty.buffer.ByteBuf;
import io.netty.buffer.Unpooled;
-import org.junit.Assert;
import org.junit.Test;
import org.opendaylight.protocol.bgp.parser.BGPDocumentedException;
import org.opendaylight.protocol.bgp.parser.BGPParsingException;
-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.extended.community.ExtendedCommunity;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.types.rev180329.extended.community.extended.community.RouteTargetIpv4Case;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.types.rev180329.extended.community.extended.community.RouteTargetIpv4CaseBuilder;
import org.opendaylight.yangtools.yang.common.Uint16;
public class RouteTargetIpv4EcHandlerTest {
-
private static final byte[] INPUT = {
12, 51, 2, 5, 0x15, 0x2d
};
final RouteTargetIpv4EcHandler handler = new RouteTargetIpv4EcHandler();
final RouteTargetIpv4Case expected = new RouteTargetIpv4CaseBuilder().setRouteTargetIpv4(
new RouteTargetIpv4Builder()
- .setGlobalAdministrator(new Ipv4Address("12.51.2.5"))
+ .setGlobalAdministrator(new Ipv4AddressNoZone("12.51.2.5"))
.setLocalAdministrator(Uint16.valueOf(5421))
.build()).build();
final ExtendedCommunity exComm = handler.parseExtendedCommunity(Unpooled.copiedBuffer(INPUT));
- Assert.assertEquals(expected, exComm);
+ assertEquals(expected, exComm);
final ByteBuf output = Unpooled.buffer(INPUT.length);
+
handler.serializeExtendedCommunity(expected, output);
- Assert.assertArrayEquals(INPUT, output.array());
+ assertArrayEquals(INPUT, output.array());
}
-
}
import org.opendaylight.protocol.bgp.parser.BGPParsingException;
import org.opendaylight.protocol.bgp.parser.BgpTableTypeImpl;
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.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.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.Ipv6PrefixesBuilder;
final List<Segments> asPath = new ArrayList<>();
asPath.add(new SegmentsBuilder().setAsSequence(Lists.newArrayList(new AsNumber(Uint32.valueOf(asn)))).build());
final CNextHop 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 Ipv6Prefix pref1 = new Ipv6Prefix("2001:db8:1:2::/64");
final Ipv6Prefix pref2 = new Ipv6Prefix("2001:db8:1:1::/64");
import io.netty.buffer.Unpooled;
import org.junit.Assert;
import org.junit.Test;
-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.inet4.specific.extended.community.common.Inet4SpecificExtendedCommunityCommon;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.types.rev180329.inet4.specific.extended.community.common.Inet4SpecificExtendedCommunityCommonBuilder;
@Test
public void testHandle() {
final Inet4SpecificExtendedCommunityCommon expected = new Inet4SpecificExtendedCommunityCommonBuilder()
- .setGlobalAdministrator(new Ipv4Address("12.51.2.5"))
+ .setGlobalAdministrator(new Ipv4AddressNoZone("12.51.2.5"))
.setLocalAdministrator(new byte[]{21, 45}).build();
final Inet4SpecificExtendedCommunityCommon exComm = Inet4SpecificExtendedCommunityCommonUtil
import org.opendaylight.protocol.bgp.parser.spi.RevisedErrorHandling;
import org.opendaylight.protocol.bgp.parser.spi.extended.community.ExtendedCommunityParser;
import org.opendaylight.protocol.bgp.parser.spi.extended.community.ExtendedCommunitySerializer;
-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.message.rev180329.open.message.BgpParameters;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.message.rev180329.open.message.bgp.parameters.optional.capabilities.CParameters;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.message.rev180329.path.attributes.Attributes;
@Override
public CNextHop parseNextHop(final ByteBuf buffer) throws BGPParsingException {
return new Ipv4NextHopCaseBuilder().setIpv4NextHop(new Ipv4NextHopBuilder()
- .setGlobal(new Ipv4Address("127.0.0.1")).build()).build();
+ .setGlobal(new Ipv4AddressNoZone("127.0.0.1")).build()).build();
}
@Override
import org.opendaylight.protocol.bgp.parser.spi.PeerSpecificParserConstraint;
import org.opendaylight.protocol.bgp.parser.spi.RevisedErrorHandling;
import org.opendaylight.protocol.bgp.parser.spi.SubsequentAddressFamilyRegistry;
-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.message.rev180329.open.message.BgpParameters;
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;
.setAfi(Ipv4AddressFamily.class)
.setSafi(UnicastSubsequentAddressFamily.class)
.setCNextHop(new Ipv4NextHopCaseBuilder().setIpv4NextHop(new Ipv4NextHopBuilder().setGlobal(
- new Ipv4Address("127.0.0.1")).build()).build())
+ new Ipv4AddressNoZone("127.0.0.1")).build()).build())
.build();
final ByteBuf buffer = Unpooled.buffer(mpReachBytes.length);
nlriReg.serializeMpReach(mpReach, buffer);
import org.opendaylight.protocol.bgp.rib.impl.spi.PeerRegistryListener;
import org.opendaylight.protocol.concepts.KeyMapping;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IetfInetUtil;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddressNoZone;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.PortNumber;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
private ChannelFuture futureChannel;
private AutoCloseable listenerRegistration;
- public BGPPeerAcceptorImpl(final IpAddress bindingAddress, final PortNumber portNumber,
+ public BGPPeerAcceptorImpl(final IpAddressNoZone bindingAddress, final PortNumber portNumber,
final BGPDispatcher bgpDispatcher) {
this.bgpDispatcher = requireNonNull(bgpDispatcher);
this.address = getAddress(requireNonNull(bindingAddress), requireNonNull(portNumber));
});
}
- private static InetSocketAddress getAddress(final IpAddress ipAddress, final PortNumber portNumber) {
+ private static InetSocketAddress getAddress(final IpAddressNoZone ipAddress, final PortNumber portNumber) {
final InetAddress inetAddr;
try {
- inetAddr = InetAddress.getByName(ipAddress.getIpv4Address() != null
- ? ipAddress.getIpv4Address().getValue() : ipAddress.getIpv6Address().getValue());
+ inetAddr = InetAddress.getByName(ipAddress.getIpv4AddressNoZone() != null
+ ? ipAddress.getIpv4AddressNoZone().getValue() : ipAddress.getIpv6AddressNoZone().getValue());
} catch (final UnknownHostException e) {
throw new IllegalArgumentException("Illegal binding address " + ipAddress, e);
}
}
@Override
- public void onPeerAdded(final IpAddress ip, final BGPSessionPreferences prefs) {
+ public void onPeerAdded(final IpAddressNoZone ip, final BGPSessionPreferences prefs) {
if (prefs.getMd5Password().isPresent()) {
- this.keys.put(IetfInetUtil.INSTANCE.inetAddressFor(ip), prefs.getMd5Password().get());
+ this.keys.put(IetfInetUtil.INSTANCE.inetAddressForNoZone(ip), prefs.getMd5Password().get());
this.channelConfig.setOption(EpollChannelOption.TCP_MD5SIG, this.keys);
}
}
@Override
- public void onPeerRemoved(final IpAddress ip) {
- if (this.keys.remove(IetfInetUtil.INSTANCE.inetAddressFor(ip)) != null) {
+ public void onPeerRemoved(final IpAddressNoZone ip) {
+ if (this.keys.remove(IetfInetUtil.INSTANCE.inetAddressForNoZone(ip)) != null) {
this.channelConfig.setOption(EpollChannelOption.TCP_MD5SIG, this.keys);
}
}
leaf binding-address {
description "IP address to bind to";
- type inet:ip-address;
+ type inet:ip-address-no-zone;
default "0.0.0.0";
}
default "179";
}
}
-}
\ No newline at end of file
+}
import org.opendaylight.protocol.bgp.rib.impl.BGPSessionImpl;
import org.opendaylight.protocol.bgp.rib.spi.State;
import org.opendaylight.protocol.util.InetSocketAddressUtil;
-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.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.PortNumber;
import org.opendaylight.yangtools.yang.common.Uint16;
@Test
public void testBGPPeerAcceptorImpl() throws Exception {
final InetSocketAddress inetServerAddress = InetSocketAddressUtil.getRandomLoopbackInetSocketAddress();
- final IpAddress serverIpAddress = new IpAddress(new Ipv4Address(InetSocketAddressUtil
+ final IpAddressNoZone serverIpAddress = new IpAddressNoZone(new Ipv4AddressNoZone(InetSocketAddressUtil
.toHostAndPort(inetServerAddress).getHost()));
final PortNumber portNumber = new PortNumber(Uint16.valueOf(
InetSocketAddressUtil.toHostAndPort(inetServerAddress).getPort()));
import org.opendaylight.protocol.bgp.rib.spi.SessionNegotiator;
import org.opendaylight.protocol.util.Ipv6Util;
import org.opendaylight.protocol.util.Values;
-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.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.opendaylight.params.xml.ns.yang.bgp.message.rev180329.Keepalive;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.message.rev180329.KeepaliveBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.message.rev180329.Notify;
return;
}
// Open can be sent first either from ODL (IDLE) or from peer (OPEN_CONFIRM)
- final IpAddress remoteIp = getRemoteIp();
+ final IpAddressNoZone remoteIp = getRemoteIp();
try {
// Check if peer is configured in registry before retrieving preferences
if (!this.registry.isPeerConfigured(remoteIp)) {
}
}
- private IpAddress getRemoteIp() {
- final IpAddress remoteIp = StrictBGPPeerRegistry.getIpAddress(this.channel.remoteAddress());
- if (remoteIp.getIpv6Address() != null) {
- return new IpAddress(Ipv6Util.getFullForm(remoteIp.getIpv6Address()));
+ private IpAddressNoZone getRemoteIp() {
+ final IpAddressNoZone remoteIp = StrictBGPPeerRegistry.getIpAddress(this.channel.remoteAddress());
+ if (remoteIp.getIpv6AddressNoZone() != null) {
+ return new IpAddressNoZone(Ipv6Util.getFullForm(remoteIp.getIpv6AddressNoZone()));
}
return remoteIp;
}
}
private synchronized void handleOpen(final Open openObj) {
- final IpAddress remoteIp = getRemoteIp();
+ final IpAddressNoZone remoteIp = getRemoteIp();
final BGPSessionPreferences preferences = this.registry.getPeerPreferences(remoteIp);
try {
final BGPSessionListener peer = this.registry.getPeer(remoteIp, getSourceId(openObj, preferences),
* @param preferences Local BGP speaker preferences
* @return BGP Id of device that accepted the connection
*/
- protected abstract Ipv4Address getDestinationId(Open openMsg, BGPSessionPreferences preferences);
+ protected abstract Ipv4AddressNoZone getDestinationId(Open openMsg, BGPSessionPreferences preferences);
/**
* Get source identifier.
* @param preferences Local BGP speaker preferences
* @return BGP Id of device that accepted the connection
*/
- protected abstract Ipv4Address getSourceId(Open openMsg, BGPSessionPreferences preferences);
+ protected abstract Ipv4AddressNoZone getSourceId(Open openMsg, BGPSessionPreferences preferences);
public synchronized State getState() {
return this.state;
import org.opendaylight.protocol.bgp.rib.spi.state.BGPAfiSafiState;
import org.opendaylight.protocol.bgp.rib.spi.state.BGPErrorHandlingState;
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.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.rib.rev180329.PeerId;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.rib.rev180329.PeerRole;
final PeerRole role,
final @Nullable ClusterIdentifier clusterId,
final @Nullable AsNumber localAs,
- final IpAddress neighborAddress,
+ final IpAddressNoZone neighborAddress,
final Set<TablesKey> afiSafisAdvertized,
final Set<TablesKey> afiSafisGracefulAdvertized,
final Map<TablesKey, Integer> afiSafisLlGracefulAdvertized) {
final String peerName,
final String groupId,
final PeerRole role,
- final IpAddress neighborAddress,
+ final IpAddressNoZone neighborAddress,
final Set<TablesKey> afiSafisGracefulAdvertized) {
this(rib, peerName, groupId, role, null, null, neighborAddress,
rib.getLocalTablesKeys(), afiSafisGracefulAdvertized, Collections.emptyMap());
import org.opendaylight.protocol.bgp.rib.spi.state.BGPSessionState;
import org.opendaylight.protocol.bgp.rib.spi.state.BGPTimersState;
import org.opendaylight.protocol.bgp.rib.spi.state.BGPTransportState;
-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.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.opendaylight.params.xml.ns.yang.bgp.multiprotocol.rev180329.SendReceive;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.rib.rev180329.ApplicationRibId;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.rib.rev180329.PeerRole;
public ApplicationPeer(
final BGPTableTypeRegistryConsumer tableTypeRegistry,
- final ApplicationRibId applicationRibId, final Ipv4Address ipAddress, final RIB rib) {
+ final ApplicationRibId applicationRibId, final Ipv4AddressNoZone ipAddress, final RIB rib) {
super(rib, applicationRibId.getValue(), APP_PEER_GROUP, PeerRole.Internal,
- new IpAddress(ipAddress), Collections.emptySet());
+ new IpAddressNoZone(ipAddress), Collections.emptySet());
this.tableTypeRegistry = requireNonNull(tableTypeRegistry);
final RIB targetRib = requireNonNull(rib);
this.rawIdentifier = InetAddresses.forString(ipAddress.getValue()).getAddress();
import io.netty.util.concurrent.Promise;
import org.opendaylight.protocol.bgp.rib.impl.spi.BGPPeerRegistry;
import org.opendaylight.protocol.bgp.rib.impl.spi.BGPSessionPreferences;
-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.message.rev180329.Open;
/**
}
@Override
- protected Ipv4Address getDestinationId(final Open openMsg, final BGPSessionPreferences preferences) {
+ protected Ipv4AddressNoZone getDestinationId(final Open openMsg, final BGPSessionPreferences preferences) {
return preferences.getBgpId();
}
@Override
- protected Ipv4Address getSourceId(final Open openMsg, final BGPSessionPreferences preferences) {
+ protected Ipv4AddressNoZone getSourceId(final Open openMsg, final BGPSessionPreferences preferences) {
return openMsg.getBgpIdentifier();
}
}
import org.opendaylight.protocol.bgp.rib.spi.state.BGPTransportState;
import org.opendaylight.protocol.util.Ipv4Util;
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.IpAddressNoZone;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.inet.rev180329.ipv4.prefixes.DestinationIpv4Builder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.inet.rev180329.ipv4.prefixes.destination.ipv4.Ipv4Prefixes;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.inet.rev180329.ipv4.prefixes.destination.ipv4.Ipv4PrefixesBuilder;
public BGPPeer(
final BGPTableTypeRegistryConsumer tableTypeRegistry,
- final IpAddress neighborAddress,
+ final IpAddressNoZone neighborAddress,
final String peerGroupName,
final RIB rib,
final PeerRole role,
* 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.rib.impl;
import io.netty.channel.Channel;
import io.netty.util.concurrent.Promise;
import org.opendaylight.protocol.bgp.rib.impl.spi.BGPPeerRegistry;
import org.opendaylight.protocol.bgp.rib.impl.spi.BGPSessionPreferences;
-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.message.rev180329.Open;
/**
}
@Override
- protected Ipv4Address getSourceId(final Open openMsg, final BGPSessionPreferences preferences) {
+ protected Ipv4AddressNoZone getSourceId(final Open openMsg, final BGPSessionPreferences preferences) {
return preferences.getBgpId();
}
@Override
- protected Ipv4Address getDestinationId(final Open openMsg, final BGPSessionPreferences preferences) {
+ protected Ipv4AddressNoZone getDestinationId(final Open openMsg, final BGPSessionPreferences preferences) {
return openMsg.getBgpIdentifier();
}
}
import org.opendaylight.protocol.util.Ipv6Util;
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.IetfInetUtil;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddressNoZone;
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.message.rev180329.Open;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.message.rev180329.open.message.BgpParameters;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.message.rev180329.open.message.bgp.parameters.OptionalCapabilities;
private static final Logger LOG = LoggerFactory.getLogger(StrictBGPPeerRegistry.class);
@GuardedBy("this")
- private final Map<IpAddress, BGPSessionListener> peers = new HashMap<>();
+ private final Map<IpAddressNoZone, BGPSessionListener> peers = new HashMap<>();
@GuardedBy("this")
- private final Map<IpAddress, BGPSessionId> sessionIds = new HashMap<>();
+ private final Map<IpAddressNoZone, BGPSessionId> sessionIds = new HashMap<>();
@GuardedBy("this")
- private final Map<IpAddress, BGPSessionPreferences> peerPreferences = new HashMap<>();
+ private final Map<IpAddressNoZone, BGPSessionPreferences> peerPreferences = new HashMap<>();
private final Set<PeerRegistryListener> listeners = ConcurrentHashMap.newKeySet();
private final Set<PeerRegistrySessionListener> sessionListeners = ConcurrentHashMap.newKeySet();
}
@Override
- public synchronized void addPeer(final IpAddress oldIp, final BGPSessionListener peer,
+ public synchronized void addPeer(final IpAddressNoZone oldIp, final BGPSessionListener peer,
final BGPSessionPreferences preferences) {
- IpAddress fullIp = getFullIp(oldIp);
+ IpAddressNoZone fullIp = getFullIp(oldIp);
Preconditions.checkArgument(!this.peers.containsKey(fullIp),
"Peer for %s already present", fullIp);
this.peers.put(fullIp, requireNonNull(peer));
}
}
- private static IpAddress getFullIp(final IpAddress ip) {
- final Ipv6Address addr = ip.getIpv6Address();
- return addr == null ? ip : new IpAddress(Ipv6Util.getFullForm(addr));
+ private static IpAddressNoZone getFullIp(final IpAddressNoZone ip) {
+ final Ipv6AddressNoZone addr = ip.getIpv6AddressNoZone();
+ return addr == null ? ip : new IpAddressNoZone(Ipv6Util.getFullForm(addr));
}
@Override
- public synchronized void removePeer(final IpAddress oldIp) {
- IpAddress fullIp = getFullIp(oldIp);
+ public synchronized void removePeer(final IpAddressNoZone oldIp) {
+ IpAddressNoZone fullIp = getFullIp(oldIp);
this.peers.remove(fullIp);
for (final PeerRegistryListener peerRegistryListener : this.listeners) {
peerRegistryListener.onPeerRemoved(fullIp);
}
@Override
- public synchronized void removePeerSession(final IpAddress oldIp) {
- IpAddress fullIp = getFullIp(oldIp);
+ public synchronized void removePeerSession(final IpAddressNoZone oldIp) {
+ IpAddressNoZone fullIp = getFullIp(oldIp);
this.sessionIds.remove(fullIp);
for (final PeerRegistrySessionListener peerRegistrySessionListener : this.sessionListeners) {
peerRegistrySessionListener.onSessionRemoved(fullIp);
}
@Override
- public boolean isPeerConfigured(final IpAddress oldIp) {
- IpAddress fullIp = getFullIp(oldIp);
+ public boolean isPeerConfigured(final IpAddressNoZone oldIp) {
+ IpAddressNoZone fullIp = getFullIp(oldIp);
return this.peers.containsKey(fullIp);
}
- private void checkPeerConfigured(final IpAddress ip) {
+ private void checkPeerConfigured(final IpAddressNoZone ip) {
Preconditions.checkState(isPeerConfigured(ip),
"BGP peer with ip: %s not configured, configured peers are: %s",
ip, this.peers.keySet());
}
@Override
- public synchronized BGPSessionListener getPeer(final IpAddress ip, final Ipv4Address sourceId,
- final Ipv4Address remoteId, final Open openObj) throws BGPDocumentedException {
+ public synchronized BGPSessionListener getPeer(final IpAddressNoZone ip, final Ipv4AddressNoZone sourceId,
+ final Ipv4AddressNoZone remoteId, final Open openObj) throws BGPDocumentedException {
requireNonNull(ip);
requireNonNull(sourceId);
requireNonNull(remoteId);
}
@Override
- public BGPSessionPreferences getPeerPreferences(final IpAddress ip) {
+ public BGPSessionPreferences getPeerPreferences(final IpAddressNoZone ip) {
requireNonNull(ip);
checkPeerConfigured(ip);
return this.peerPreferences.get(ip);
* @return IpAddress equivalent to given socket address
* @throws IllegalArgumentException if submitted socket address is not InetSocketAddress[ipv4 | ipv6]
*/
- public static IpAddress getIpAddress(final SocketAddress socketAddress) {
+ public static IpAddressNoZone getIpAddress(final SocketAddress socketAddress) {
requireNonNull(socketAddress);
Preconditions.checkArgument(socketAddress instanceof InetSocketAddress,
"Expecting InetSocketAddress but was %s", socketAddress.getClass());
Preconditions.checkArgument(inetAddress instanceof Inet4Address
|| inetAddress instanceof Inet6Address, "Expecting %s or %s but was %s",
Inet4Address.class, Inet6Address.class, inetAddress.getClass());
- return IetfInetUtil.INSTANCE.ipAddressFor(inetAddress);
+ return IetfInetUtil.INSTANCE.ipAddressNoZoneFor(inetAddress);
}
@Override
@Override
public synchronized Registration registerPeerRegisterListener(final PeerRegistryListener listener) {
this.listeners.add(listener);
- for (final Entry<IpAddress, BGPSessionPreferences> entry : this.peerPreferences.entrySet()) {
+ for (final Entry<IpAddressNoZone, BGPSessionPreferences> entry : this.peerPreferences.entrySet()) {
listener.onPeerAdded(entry.getKey(), entry.getValue());
}
return new AbstractRegistration() {
@Override
public synchronized Registration registerPeerSessionListener(final PeerRegistrySessionListener listener) {
this.sessionListeners.add(listener);
- for (final IpAddress ipAddress : this.sessionIds.keySet()) {
+ for (final IpAddressNoZone ipAddress : this.sessionIds.keySet()) {
listener.onSessionCreated(ipAddress);
}
return new AbstractRegistration() {
}
@Override
- public void updatePeerPreferences(final IpAddress address, final BGPSessionPreferences preferences) {
+ public void updatePeerPreferences(final IpAddressNoZone address, final BGPSessionPreferences preferences) {
if (this.peerPreferences.containsKey(address)) {
this.peerPreferences.put(address, preferences);
}
import org.opendaylight.yang.gen.v1.http.openconfig.net.yang.bgp.rev151009.bgp.neighbor.group.Config;
import org.opendaylight.yang.gen.v1.http.openconfig.net.yang.bgp.rev151009.bgp.neighbors.Neighbor;
import org.opendaylight.yang.gen.v1.http.openconfig.net.yang.bgp.rev151009.bgp.top.Bgp;
-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.IetfInetUtil;
+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.rib.rev180329.ApplicationRib;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.rib.rev180329.ApplicationRibId;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
"Previous peer instance was not closed.");
this.currentConfiguration = neighbor;
this.bgpAppPeerSingletonService = new BgpAppPeerSingletonService(rib, createAppRibId(neighbor),
- neighbor.getNeighborAddress().getIpv4Address(), tableTypeRegistry);
+ IetfInetUtil.INSTANCE.ipv4AddressNoZoneFor(neighbor.getNeighborAddress().getIpv4Address()),
+ tableTypeRegistry);
}
@Override
@GuardedBy("this")
private boolean isServiceInstantiated;
- BgpAppPeerSingletonService(final RIB rib, final ApplicationRibId appRibId, final Ipv4Address neighborAddress,
- final BGPTableTypeRegistryConsumer tableTypeRegistry) {
+ BgpAppPeerSingletonService(final RIB rib, final ApplicationRibId appRibId,
+ final Ipv4AddressNoZone neighborAddress, final BGPTableTypeRegistryConsumer tableTypeRegistry) {
this.applicationPeer = new ApplicationPeer(tableTypeRegistry, appRibId, neighborAddress, rib);
this.appRibId = appRibId;
this.dataTreeChangeService = rib.getService();
import org.opendaylight.yang.gen.v1.http.openconfig.net.yang.bgp.rev151009.bgp.peer.group.PeerGroup;
import org.opendaylight.yang.gen.v1.http.openconfig.net.yang.bgp.rev151009.bgp.top.Bgp;
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.IpAddressNoZone;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.PortNumber;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.message.rev180329.open.message.BgpParameters;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.message.rev180329.open.message.bgp.parameters.OptionalCapabilities;
}
synchronized void removePeer(final BGPPeerRegistry bgpPeerRegistry) {
- if (BgpPeer.this.currentConfiguration != null) {
- bgpPeerRegistry.removePeer(BgpPeer.this.currentConfiguration.getNeighborAddress());
+ if (this.currentConfiguration != null) {
+ bgpPeerRegistry.removePeer(OpenConfigMappingUtil.convertIpAddress(
+ this.currentConfiguration.getNeighborAddress()));
}
}
private final KeyMapping keys;
private final InetSocketAddress localAddress;
private final BGPPeer bgpPeer;
- private final IpAddress neighborAddress;
+ private final IpAddressNoZone neighborAddress;
private final BGPSessionPreferences prefs;
private Future<Void> connection;
private boolean isServiceInstantiated;
private BgpPeerSingletonService(final RIB rib, final Neighbor neighbor, final InstanceIdentifier<Bgp> bgpIid,
final PeerGroupConfigLoader peerGroupLoader, final BGPTableTypeRegistryConsumer tableTypeRegistry) {
- this.neighborAddress = neighbor.getNeighborAddress();
+ this.neighborAddress = OpenConfigMappingUtil.convertIpAddress(neighbor.getNeighborAddress());
PeerGroup peerGroup = null;
String peerGroupName = null;
this.finalCapabilities = getBgpCapabilities(afisSafis, rib, tableTypeRegistry);
final List<BgpParameters> bgpParameters = getInitialBgpParameters(gracefulTables, llGracefulTimers);
final KeyMapping keyMapping = OpenConfigMappingUtil.getNeighborKey(neighbor);
- final IpAddress neighborLocalAddress = OpenConfigMappingUtil.getLocalAddress(neighbor.getTransport());
+ final IpAddressNoZone neighborLocalAddress = OpenConfigMappingUtil.getLocalAddress(neighbor.getTransport());
final AsNumber globalAs = rib.getLocalAs();
final AsNumber neighborRemoteAs = OpenConfigMappingUtil
.getRemotePeerAs(neighbor.getConfig(), peerGroup, globalAs);
*/
package org.opendaylight.protocol.bgp.rib.impl.config;
+import static com.google.common.base.Preconditions.checkState;
import static org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IetfInetUtil.INSTANCE;
import com.google.common.collect.ImmutableList;
import org.opendaylight.yang.gen.v1.http.openconfig.net.yang.bgp.types.rev151009.PeerType;
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.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.IetfInetUtil;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddressNoZone;
+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.PortNumber;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.multiprotocol.rev180329.BgpTableType;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.multiprotocol.rev180329.SendReceive;
return rootIdentifier.child(Neighbors.class).child(Neighbor.class, neighborKey);
}
+ static IpAddressNoZone convertIpAddress(final IpAddress addr) {
+ if (addr == null) {
+ return null;
+ }
+ final Ipv4Address ipv4 = addr.getIpv4Address();
+ if (ipv4 != null) {
+ return new IpAddressNoZone(INSTANCE.ipv4AddressNoZoneFor(ipv4));
+ }
+ final Ipv6Address ipv6 = addr.getIpv6Address();
+ checkState(ipv6 != null, "Unexpected address %s", addr);
+ return new IpAddressNoZone(INSTANCE.ipv6AddressNoZoneFor(ipv6));
+ }
+
static String getNeighborInstanceName(final InstanceIdentifier<?> rootIdentifier) {
- return Ipv4Util.toStringIP(rootIdentifier.firstKeyOf(Neighbor.class).getNeighborAddress());
+ return Ipv4Util.toStringIP(convertIpAddress(rootIdentifier.firstKeyOf(Neighbor.class).getNeighborAddress()));
}
//make sure IPv4 Unicast (RFC 4271) when required
.yang.bgp.rev151009.bgp.global.base.Config globalConfig) {
final GlobalConfigAugmentation globalConfigAugmentation
= globalConfig.augmentation(GlobalConfigAugmentation.class);
+ final Ipv4Address addr;
if (globalConfigAugmentation != null && globalConfigAugmentation.getRouteReflectorClusterId() != null) {
- return new ClusterIdentifier(globalConfigAugmentation.getRouteReflectorClusterId().getIpv4Address());
+ addr = globalConfigAugmentation.getRouteReflectorClusterId().getIpv4Address();
+ } else {
+ addr = globalConfig.getRouterId();
}
- return new ClusterIdentifier(globalConfig.getRouterId());
+ return new ClusterIdentifier(IetfInetUtil.INSTANCE.ipv4AddressNoZoneFor(addr));
}
static @Nullable ClusterIdentifier getNeighborClusterIdentifier(
final org.opendaylight.yang.gen.v1.http.openconfig.net.yang.bgp.rev151009.bgp.neighbor.group.route
.reflector.Config config = routeReflector.getConfig();
if (config != null && config.getRouteReflectorClusterId() != null) {
- return new ClusterIdentifier(config.getRouteReflectorClusterId().getIpv4Address());
+ return new ClusterIdentifier(IetfInetUtil.INSTANCE.ipv4AddressNoZoneFor(
+ config.getRouteReflectorClusterId().getIpv4Address()));
}
}
return null;
return null;
}
- static @Nullable IpAddress getLocalAddress(@Nullable final Transport transport) {
+ static @Nullable IpAddressNoZone getLocalAddress(@Nullable final Transport transport) {
if (transport != null && transport.getConfig() != null) {
final BgpNeighborTransportConfig.LocalAddress localAddress = transport.getConfig().getLocalAddress();
if (localAddress != null) {
- return localAddress.getIpAddress();
+ return convertIpAddress(localAddress.getIpAddress());
}
}
return null;
import org.opendaylight.yang.gen.v1.http.openconfig.net.yang.bgp.rev151009.bgp.global.base.Config;
import org.opendaylight.yang.gen.v1.http.openconfig.net.yang.bgp.rev151009.bgp.top.bgp.Global;
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.IetfInetUtil;
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.multiprotocol.rev180329.BgpTableType;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.rib.rev180329.PeerId;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.rib.rev180329.RibId;
private ListenerRegistration<SchemaContextListener> schemaContextRegistration;
private List<AfiSafi> afiSafi;
private AsNumber asNumber;
- private Ipv4Address routerId;
+ private Ipv4AddressNoZone routerId;
private ClusterIdentifier clusterId;
private final DataBroker dataBroker;
this.afiSafi = getAfiSafiWithDefault(global.getAfiSafis(), true);
final Config globalConfig = global.getConfig();
this.asNumber = globalConfig.getAs();
- this.routerId = globalConfig.getRouterId();
+ this.routerId = IetfInetUtil.INSTANCE.ipv4AddressNoZoneFor(globalConfig.getRouterId());
this.clusterId = getGlobalClusterIdentifier(globalConfig);
final Map<TablesKey, PathSelectionMode> pathSelectionModes = OpenConfigMappingUtil
.toPathSelectionMode(this.afiSafi, tableTypeRegistry).entrySet()
import org.opendaylight.protocol.bgp.rib.impl.spi.BGPPeerRegistry;
import org.opendaylight.protocol.bgp.rib.impl.spi.PeerRegistrySessionListener;
import org.opendaylight.protocol.bgp.rib.spi.BGPSession;
-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.slf4j.Logger;
import org.slf4j.LoggerFactory;
}
private class PeerRegistrySessionListenerImpl implements PeerRegistrySessionListener {
- private final IpAddress peerAddress;
+ private final IpAddressNoZone peerAddress;
- PeerRegistrySessionListenerImpl(final IpAddress peerAddress) {
+ PeerRegistrySessionListenerImpl(final IpAddressNoZone peerAddress) {
this.peerAddress = peerAddress;
}
@Override
- public void onSessionCreated(final IpAddress ip) {
+ public void onSessionCreated(final IpAddressNoZone ip) {
if (ip.equals(this.peerAddress)) {
LOG.debug("Callback for session creation with peer {} received", ip);
synchronized (BGPProtocolSessionPromise.this) {
}
@Override
- public void onSessionRemoved(final IpAddress ip) {
+ public void onSessionRemoved(final IpAddressNoZone ip) {
if (ip.equals(this.peerAddress)) {
LOG.debug("Callback for session removal with peer {} received", ip);
synchronized (BGPProtocolSessionPromise.this) {
import org.eclipse.jdt.annotation.NonNull;
import org.opendaylight.protocol.bgp.parser.BGPDocumentedException;
import org.opendaylight.protocol.bgp.rib.spi.BGPSessionListener;
-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.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.opendaylight.params.xml.ns.yang.bgp.message.rev180329.Open;
import org.opendaylight.yangtools.concepts.Registration;
* @param peer configured peer as BGPSessionListener
* @param prefs session preferences for configured peer
*/
- void addPeer(IpAddress ip, BGPSessionListener peer, BGPSessionPreferences prefs);
+ void addPeer(IpAddressNoZone ip, BGPSessionListener peer, BGPSessionPreferences prefs);
/**
* Remove configured peer from registry.
*
* @param ip address of remote peer
*/
- void removePeer(@NonNull IpAddress ip);
+ void removePeer(@NonNull IpAddressNoZone ip);
/**
* Remove peer session from registry.
*
* @param ip address of remote peer
*/
- void removePeerSession(@NonNull IpAddress ip);
+ void removePeerSession(@NonNull IpAddressNoZone ip);
/**
* Check whether peer on provided IP address is present in this registry.
* @param ip address of remote peer
* @return true if peer is present false otherwise
*/
- boolean isPeerConfigured(@NonNull IpAddress ip);
+ boolean isPeerConfigured(@NonNull IpAddressNoZone ip);
/**
* Get configured peer after BGP session was successfully established. Called by negotiators.
* @throws BGPDocumentedException if session establishment cannot be finished successfully
* @throws java.lang.IllegalStateException if there is no peer configured for provided ip address
*/
- BGPSessionListener getPeer(IpAddress ip, Ipv4Address sourceId, Ipv4Address remoteId, Open open)
+ BGPSessionListener getPeer(IpAddressNoZone ip, Ipv4AddressNoZone sourceId, Ipv4AddressNoZone remoteId, Open open)
throws BGPDocumentedException;
/**
* @return BGP session preferences for configured peer
* @throws IllegalStateException if there is no peer configured for provided ip address
*/
- BGPSessionPreferences getPeerPreferences(IpAddress ip);
+ BGPSessionPreferences getPeerPreferences(IpAddressNoZone ip);
/**
* Register PeerRegistryListener, which listens to the changes in peer
* @param ip of neighbor
* @param preferences to send in OPEN message
*/
- void updatePeerPreferences(IpAddress ip, BGPSessionPreferences preferences);
+ void updatePeerPreferences(IpAddressNoZone ip, BGPSessionPreferences preferences);
}
package org.opendaylight.protocol.bgp.rib.impl.spi;
import org.eclipse.jdt.annotation.NonNullByDefault;
-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;
/**
* Listens to the changes in a PeerRegisty.
* @param ip The new peer's IP address.
* @param prefs The new peer's preferences.
*/
- void onPeerAdded(IpAddress ip, BGPSessionPreferences prefs);
+ void onPeerAdded(IpAddressNoZone ip, BGPSessionPreferences prefs);
/**
* Invoked when peer is removed from registry.
* @param ip The removed peer's IP address.
*/
- void onPeerRemoved(IpAddress ip);
+ void onPeerRemoved(IpAddressNoZone ip);
}
package org.opendaylight.protocol.bgp.rib.impl.spi;
import org.eclipse.jdt.annotation.NonNullByDefault;
-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;
/**
* Listens to the session changes for peers in a PeerRegisty.
* Invoked when new peer session is created.
* @param ip The peer's IP address.
*/
- void onSessionCreated(IpAddress ip);
+ void onSessionCreated(IpAddressNoZone ip);
/**
* Invoked when peer session is removed.
* @param ip The peer's IP address.
*/
- void onSessionRemoved(IpAddress ip);
-
+ void onSessionRemoved(IpAddressNoZone ip);
}
import org.opendaylight.protocol.bgp.rib.spi.state.BGPPeerState;
import org.opendaylight.protocol.bgp.rib.spi.state.BGPPeerStateConsumer;
import org.opendaylight.yang.gen.v1.http.openconfig.net.yang.bgp.operational.rev151009.BgpAfiSafiGracefulRestartState.Mode;
-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.Notify;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.message.rev180329.Update;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.rib.rev180329.bgp.rib.Rib;
BGPGracelfulRestartState, BGPLlGracelfulRestartState,BGPErrorHandlingState, BGPPeerMessagesState,
BGPPeerStateConsumer, BGPMessagesListener {
private static final long NONE = 0L;
- private final IpAddress neighborAddress;
+ private final IpAddressNoZone neighborAddress;
private final Set<TablesKey> afiSafisAdvertized;
private final Set<TablesKey> afiSafisGracefulAdvertized;
private final Set<TablesKey> afiSafisGracefulReceived = new HashSet<>();
private boolean peerRestarting;
public BGPPeerStateImpl(final @NonNull KeyedInstanceIdentifier<Rib, RibKey> instanceIdentifier,
- final @Nullable String groupId, final @NonNull IpAddress neighborAddress,
+ final @Nullable String groupId, final @NonNull IpAddressNoZone neighborAddress,
final @NonNull Set<TablesKey> afiSafisAdvertized,
final @NonNull Set<TablesKey> afiSafisGracefulAdvertized,
final @NonNull Map<TablesKey, Integer> afiSafisLlGracefulAdvertized) {
}
@Override
- public final IpAddress getNeighborAddress() {
+ public final IpAddressNoZone getNeighborAddress() {
return this.neighborAddress;
}
import org.opendaylight.protocol.bgp.rib.spi.state.BGPSessionState;
import org.opendaylight.protocol.bgp.rib.spi.state.BGPTimersState;
import org.opendaylight.protocol.bgp.rib.spi.state.BGPTransportState;
-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.inet.types.rev130715.PortNumber;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.message.rev180329.open.message.BgpParameters;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.message.rev180329.open.message.bgp.parameters.OptionalCapabilities;
private static final PortNumber NON_DEFINED_PORT = new PortNumber(Uint16.ZERO);
private final Stopwatch sessionStopwatch;
private int holdTimerValue;
- private IpAddress remoteAddress;
+ private IpAddressNoZone remoteAddress;
private PortNumber remotePort = NON_DEFINED_PORT;
private PortNumber localPort = NON_DEFINED_PORT;
@GuardedBy("this")
}
@Override
- public synchronized IpAddress getRemoteAddress() {
+ public synchronized IpAddressNoZone getRemoteAddress() {
return this.remoteAddress;
}
import org.opendaylight.protocol.bgp.rib.spi.SimpleRIBExtensionProviderContext;
import org.opendaylight.protocol.util.InetSocketAddressUtil;
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.IpAddressNoZone;
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.bgp.rib.rib.loc.rib.tables.routes.Ipv4RoutesCase;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.inet.rev180329.ipv4.prefixes.DestinationIpv4Builder;
private static final int RETRY_TIMER = 10;
static final String RIB_ID = "127.0.0.1";
static final BgpId BGP_ID = new BgpId(RIB_ID);
- static final Ipv4Address PEER1 = new Ipv4Address("127.0.0.2");
- static final Ipv4Address PEER2 = new Ipv4Address("127.0.0.3");
- static final Ipv4Address PEER3 = new Ipv4Address("127.0.0.4");
- static final Ipv4Address PEER4 = new Ipv4Address("127.0.0.5");
- static final Ipv4Address PEER5 = new Ipv4Address("127.0.0.6");
- static final Ipv4Address PEER6 = new Ipv4Address("127.0.0.7");
+ static final Ipv4AddressNoZone PEER1 = new Ipv4AddressNoZone("127.0.0.2");
+ static final Ipv4AddressNoZone PEER2 = new Ipv4AddressNoZone("127.0.0.3");
+ static final Ipv4AddressNoZone PEER3 = new Ipv4AddressNoZone("127.0.0.4");
+ static final Ipv4AddressNoZone PEER4 = new Ipv4AddressNoZone("127.0.0.5");
+ static final Ipv4AddressNoZone PEER5 = new Ipv4AddressNoZone("127.0.0.6");
+ static final Ipv4AddressNoZone PEER6 = new Ipv4AddressNoZone("127.0.0.7");
static final AsNumber AS_NUMBER = new AsNumber(Uint32.valueOf(AS));
static final Uint16 PORT = Uint16.valueOf(InetSocketAddressUtil.getRandomPort());
static final Ipv4Prefix PREFIX1 = new Ipv4Prefix("1.1.1.1/32");
private static final ClusterIdentifier CLUSTER_ID = new ClusterIdentifier(RIB_ID);
static final int HOLDTIMER = 2180;
- private static final Ipv4Address NH1 = new Ipv4Address("2.2.2.2");
+ private static final Ipv4AddressNoZone NH1 = new Ipv4AddressNoZone("2.2.2.2");
static final Update UPD_100 = createSimpleUpdate(PREFIX1, new PathId(Uint32.ONE), CLUSTER_ID, 100);
static final Update UPD_50 = createSimpleUpdate(PREFIX1, new PathId(Uint32.TWO), CLUSTER_ID, 50);
static final Update UPD_200 = createSimpleUpdate(PREFIX1, new PathId(Uint32.valueOf(3)), CLUSTER_ID, 200);
}
void causeBGPError(final BGPSessionImpl session) {
- final Open openObj = new OpenBuilder().setBgpIdentifier(new Ipv4Address("1.1.1.1"))
+ final Open openObj = new OpenBuilder().setBgpIdentifier(new Ipv4AddressNoZone("1.1.1.1"))
.setHoldTimer(Uint16.valueOf(50)).setMyAsNumber(Uint16.valueOf(72)).build();
waitFutureSuccess(session.writeAndFlush(openObj));
}
});
}
- BGPSessionImpl createPeerSession(final Ipv4Address peer, final BgpParameters bgpParameters,
+ BGPSessionImpl createPeerSession(final Ipv4AddressNoZone peer, final BgpParameters bgpParameters,
final SimpleSessionListener sessionListener) throws InterruptedException {
return createPeerSession(peer, bgpParameters, sessionListener, AS_NUMBER);
}
- BGPSessionImpl createPeerSession(final Ipv4Address peer, final BgpParameters bgpParameters,
+ BGPSessionImpl createPeerSession(final Ipv4AddressNoZone peer, final BgpParameters bgpParameters,
final SimpleSessionListener sessionListener,
final AsNumber remoteAsNumber) throws InterruptedException {
final StrictBGPPeerRegistry clientRegistry = new StrictBGPPeerRegistry();
this.worker, clientRegistry);
clientDispatchers.add(clientDispatcher);
- clientRegistry.addPeer(new IpAddress(new Ipv4Address(RIB_ID)), sessionListener,
+ clientRegistry.addPeer(new IpAddressNoZone(new Ipv4AddressNoZone(RIB_ID)), sessionListener,
new BGPSessionPreferences(remoteAsNumber, HOLDTIMER, new BgpId(peer),
AS_NUMBER, Lists.newArrayList(bgpParameters)));
return connectPeer(peer, clientDispatcher);
}
- static BGPPeer configurePeer(final BGPTableTypeRegistryConsumer tableRegistry, final Ipv4Address peerAddress,
+ static BGPPeer configurePeer(final BGPTableTypeRegistryConsumer tableRegistry, final Ipv4AddressNoZone peerAddress,
final RIBImpl ribImpl, final BgpParameters bgpParameters, final PeerRole peerRole,
final BGPPeerRegistry bgpPeerRegistry) {
return configurePeer(tableRegistry, peerAddress, ribImpl, bgpParameters, peerRole, bgpPeerRegistry,
}
static BGPPeer configurePeer(final BGPTableTypeRegistryConsumer tableRegistry,
- final Ipv4Address peerAddress, final RIBImpl ribImpl, final BgpParameters bgpParameters,
+ final Ipv4AddressNoZone peerAddress, final RIBImpl ribImpl, final BgpParameters bgpParameters,
final PeerRole peerRole, final BGPPeerRegistry bgpPeerRegistry, final Set<TablesKey> afiSafiAdvertised,
final Set<TablesKey> gracefulAfiSafiAdvertised) {
final BgpPeer bgpPeer = Mockito.mock(BgpPeer.class);
afiSafiAdvertised, gracefulAfiSafiAdvertised, Collections.emptyMap(), bgpPeer);
}
- static BGPPeer configurePeer(final BGPTableTypeRegistryConsumer tableRegistry, final Ipv4Address peerAddress,
+ static BGPPeer configurePeer(final BGPTableTypeRegistryConsumer tableRegistry, final Ipv4AddressNoZone peerAddress,
final RIBImpl ribImpl, final BgpParameters bgpParameters, final PeerRole peerRole,
final BGPPeerRegistry bgpPeerRegistry, final Set<TablesKey> afiSafiAdvertised,
final Set<TablesKey> gracefulAfiSafiAdvertised, final Map<TablesKey, Integer> llGracefulTimersAdvertised,
final BgpPeer peer) {
- final IpAddress ipAddress = new IpAddress(peerAddress);
+ final IpAddressNoZone ipAddress = new IpAddressNoZone(peerAddress);
- final BGPPeer bgpPeer = new BGPPeer(tableRegistry, new IpAddress(peerAddress), null, ribImpl, peerRole,
+ final BGPPeer bgpPeer = new BGPPeer(tableRegistry, new IpAddressNoZone(peerAddress), null, ribImpl, peerRole,
null, null, null, afiSafiAdvertised, gracefulAfiSafiAdvertised, llGracefulTimersAdvertised, peer);
final List<BgpParameters> tlvs = Lists.newArrayList(bgpParameters);
bgpPeerRegistry.addPeer(ipAddress, bgpPeer,
final TablesKey ipv6Key = new TablesKey(Ipv6AddressFamily.class, UnicastSubsequentAddressFamily.class);
advertisedTables.add(ipv6Key);
}
- final List<TablesKey> addPathTables = new ArrayList();
+ final List<TablesKey> addPathTables = new ArrayList<>();
if (addPath) {
addPathTables.add(ipv4Key);
}
attBuilder.setMultiExitDisc(new MultiExitDiscBuilder().setMed(Uint32.ZERO).build());
if (clusterId != null) {
attBuilder.setClusterId(new ClusterIdBuilder().setCluster(Collections.singletonList(clusterId)).build());
- attBuilder.setOriginatorId(new OriginatorIdBuilder().setOriginator(new Ipv4Address(clusterId)).build());
+ attBuilder.setOriginatorId(new OriginatorIdBuilder()
+ .setOriginator(new Ipv4AddressNoZone(clusterId))
+ .build());
}
addAttributeAugmentation(attBuilder, prefix, pathId);
return new UpdateBuilder().setAttributes(attBuilder.build()).build();
import org.opendaylight.protocol.bgp.rib.impl.spi.BGPSessionPreferences;
import org.opendaylight.protocol.util.InetSocketAddressUtil;
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.IetfInetUtil;
+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.opendaylight.params.xml.ns.yang.bgp.message.rev180329.open.message.BgpParameters;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.message.rev180329.open.message.BgpParametersBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.message.rev180329.open.message.bgp.parameters.OptionalCapabilities;
this.serverDispatcher = new BGPDispatcherImpl(ctx.getMessageRegistry(), this.boss, this.worker, this.registry);
this.clientAddress = InetSocketAddressUtil.getRandomLoopbackInetSocketAddress();
- final IpAddress clientPeerIp = new IpAddress(new Ipv4Address(this.clientAddress.getAddress().getHostAddress()));
+ final IpAddressNoZone clientPeerIp = new IpAddressNoZone(new Ipv4AddressNoZone(
+ this.clientAddress.getAddress().getHostAddress()));
this.registry.addPeer(clientPeerIp, this.clientListener, createPreferences(this.clientAddress));
this.clientDispatcher = new BGPDispatcherImpl(ctx.getMessageRegistry(), this.boss, this.worker, this.registry);
}
capas.add(new OptionalCapabilitiesBuilder()
.setCParameters(BgpExtendedMessageUtil.EXTENDED_MESSAGE_CAPABILITY).build());
tlvs.add(new BgpParametersBuilder().setOptionalCapabilities(capas).build());
- final BgpId bgpId = new BgpId(new Ipv4Address(socketAddress.getAddress().getHostAddress()));
+ final BgpId bgpId = new BgpId(IetfInetUtil.INSTANCE.ipv4AddressNoZoneFor(socketAddress.getAddress()));
return new BGPSessionPreferences(AS_NUMBER, HOLD_TIMER, bgpId, AS_NUMBER, tlvs);
}
Channel createServer(final InetSocketAddress serverAddress) {
- this.registry.addPeer(new IpAddress(new Ipv4Address(serverAddress.getAddress().getHostAddress())),
+ this.registry.addPeer(new IpAddressNoZone(new Ipv4AddressNoZone(serverAddress.getAddress().getHostAddress())),
this.serverListener, createPreferences(serverAddress));
LoggerFactory.getLogger(AbstractBGPDispatcherTest.class).info("createServer");
final ChannelFuture future = this.serverDispatcher.createServer(serverAddress);
import org.opendaylight.protocol.bgp.rib.spi.state.BGPSessionState;
import org.opendaylight.protocol.bgp.rib.spi.state.BGPTimersState;
import org.opendaylight.protocol.bgp.rib.spi.state.BGPTransportState;
-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.inet.types.rev130715.PortNumber;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.message.rev180329.Update;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.message.rev180329.open.message.BgpParameters;
BGPPeerState peer4State = peer4.getPeerState();
assertNull(peer4State.getGroupId());
- assertEquals(new IpAddress(PEER4), peer4State.getNeighborAddress());
+ assertEquals(new IpAddressNoZone(PEER4), peer4State.getNeighborAddress());
assertEquals(0L, peer4State.getTotalPathsCount());
assertEquals(0L, peer4State.getTotalPrefixes());
final BGPPeerState peer1State = peer1.getPeerState();
assertNull(peer1State.getGroupId());
- assertEquals(new IpAddress(PEER1), peer1State.getNeighborAddress());
+ assertEquals(new IpAddressNoZone(PEER1), peer1State.getNeighborAddress());
assertEquals(1L, peer1State.getTotalPathsCount());
assertEquals(1L, peer1State.getTotalPrefixes());
final BGPTransportState transportStatePeer1 = peer1State.getBGPTransportState();
assertEquals(new PortNumber(PORT), transportStatePeer1.getLocalPort());
- assertEquals(new IpAddress(PEER1), transportStatePeer1.getRemoteAddress());
+ assertEquals(new IpAddressNoZone(PEER1), transportStatePeer1.getRemoteAddress());
assertEquals(State.UP, peer1State.getBGPSessionState().getSessionState());
checkEquals(() -> assertEquals(1L, peer1State.getBGPPeerMessagesState().getUpdateMessagesReceivedCount()));
peer4State = peer4.getPeerState();
assertNull(peer4State.getGroupId());
- assertEquals(new IpAddress(PEER4), peer4State.getNeighborAddress());
+ assertEquals(new IpAddressNoZone(PEER4), peer4State.getNeighborAddress());
assertEquals(0L, peer4State.getTotalPathsCount());
assertEquals(0L, peer4State.getTotalPrefixes());
final BGPTransportState transportState = peer4State.getBGPTransportState();
assertEquals(new PortNumber(PORT), transportState.getLocalPort());
- assertEquals(new IpAddress(PEER4), transportState.getRemoteAddress());
+ assertEquals(new IpAddressNoZone(PEER4), transportState.getRemoteAddress());
final BGPPeerMessagesState peerMessagesState = peer4State.getBGPPeerMessagesState();
assertEquals(0L, peerMessagesState.getNotificationMessagesReceivedCount());
import org.opendaylight.protocol.bgp.rib.spi.BGPTerminationReason;
import org.opendaylight.protocol.bgp.rib.spi.State;
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.message.rev180329.Notify;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.message.rev180329.NotifyBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.message.rev180329.Open;
public class BGPSessionImplTest {
private static final Uint16 HOLD_TIMER = Uint16.valueOf(3);
private static final AsNumber AS_NUMBER = new AsNumber(Uint32.valueOf(30));
- private static final Ipv4Address BGP_ID = new Ipv4Address("1.1.1.2");
+ private static final Ipv4AddressNoZone BGP_ID = new Ipv4AddressNoZone("1.1.1.2");
private static final String LOCAL_IP = "1.1.1.4";
private static final int LOCAL_PORT = 12345;
import org.opendaylight.yang.gen.v1.http.openconfig.net.yang.bgp.types.rev151009.IPV4UNICAST;
import org.opendaylight.yang.gen.v1.http.openconfig.net.yang.routing.policy.rev151009.DefaultPolicyType;
import org.opendaylight.yang.gen.v1.http.openconfig.net.yang.routing.policy.rev151009.apply.policy.group.apply.policy.Config;
-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.rib.rev180329.rib.TablesKey;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.types.rev180329.BgpId;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.types.rev180329.ClusterIdentifier;
public class DefaultRibPoliciesMockTest extends AbstractStatementRegistryConsumerTest {
protected static final long AS = 64496;
- private final Ipv4Address bgpID = new BgpId(new Ipv4Address("127.0.0.1"));
- private final ClusterIdentifier ci = new ClusterIdentifier(new Ipv4Address("127.0.0.1"));
+ private final BgpId bgpID = new BgpId(new Ipv4AddressNoZone("127.0.0.1"));
+ private final ClusterIdentifier ci = new ClusterIdentifier(new Ipv4AddressNoZone("127.0.0.1"));
protected BGPRibRoutingPolicy policies;
protected BGPRibRoutingPolicyFactory policyProvider;
@Mock
import org.opendaylight.protocol.bgp.rib.impl.spi.BGPPeerRegistry;
import org.opendaylight.protocol.bgp.rib.impl.spi.BGPSessionPreferences;
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.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.opendaylight.params.xml.ns.yang.bgp.linkstate.rev180329.LinkstateAddressFamily;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.linkstate.rev180329.LinkstateSubsequentAddressFamily;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.message.rev180329.Keepalive;
doReturn(mock(ChannelFuture.class)).when(this.speakerListener).close();
final BGPPeerRegistry peerRegistry = new StrictBGPPeerRegistry();
- peerRegistry.addPeer(new IpAddress(new Ipv4Address(peerAddress.getHostAddress())),
+ peerRegistry.addPeer(new IpAddressNoZone(new Ipv4AddressNoZone(peerAddress.getHostAddress())),
new SimpleSessionListener(), prefs);
this.clientSession = new BGPClientSessionNegotiator(new DefaultPromise<>(GlobalEventExecutor.INSTANCE),
.setHoldTimer(Uint16.valueOf(3))
.setVersion(new ProtocolVersion(Uint8.valueOf(4)))
.setBgpParameters(tlvs)
- .setBgpIdentifier(new Ipv4Address("1.1.1.2"))
+ .setBgpIdentifier(new Ipv4AddressNoZone("1.1.1.2"))
.build();
}
this.clientSession.handleMessage(new OpenBuilder()
.setMyAsNumber(Uint16.valueOf(30))
.setHoldTimer(Uint16.ONE)
- .setBgpIdentifier(new Ipv4Address("127.0.0.1"))
+ .setBgpIdentifier(new Ipv4AddressNoZone("127.0.0.1"))
.setVersion(new ProtocolVersion(Uint8.valueOf(4)))
.build());
assertEquals(2, this.receivedMsgs.size());
.setHoldTimer(Uint16.ONE)
.setVersion(new ProtocolVersion(Uint8.valueOf(4)))
.setBgpParameters(tlvs)
- .setBgpIdentifier(new Ipv4Address("1.1.1.2"))
+ .setBgpIdentifier(new Ipv4AddressNoZone("1.1.1.2"))
.build());
assertEquals(2, this.receivedMsgs.size());
assertTrue(this.receivedMsgs.get(1) instanceof Notify);
.setHoldTimer(Uint16.ONE)
.setVersion(new ProtocolVersion(Uint8.valueOf(4)))
.setBgpParameters(tlvs)
- .setBgpIdentifier(new Ipv4Address("1.1.1.2"))
+ .setBgpIdentifier(new Ipv4AddressNoZone("1.1.1.2"))
.build());
assertEquals(2, this.receivedMsgs.size());
assertTrue(this.receivedMsgs.get(1) instanceof Keepalive);
assertTrue(this.receivedMsgs.get(0) instanceof Open);
this.clientSession.handleMessage(new OpenBuilder(this.classicOpen)
- .setBgpIdentifier(new Ipv4Address("1.1.1.1")).build());
+ .setBgpIdentifier(new Ipv4AddressNoZone("1.1.1.1")).build());
assertEquals(2, this.receivedMsgs.size());
assertTrue(this.receivedMsgs.get(1) instanceof Notify);
final Notification m = this.receivedMsgs.get(this.receivedMsgs.size() - 1);
import org.opendaylight.protocol.bgp.mode.impl.add.all.paths.AllPathSelection;
import org.opendaylight.protocol.bgp.parser.BgpTableTypeImpl;
import org.opendaylight.protocol.bgp.rib.impl.config.BgpPeer;
-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.inet.types.rev130715.IpPrefix;
-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.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.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.bgp.rib.rib.loc.rib.tables.routes.Ipv4RoutesCase;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.inet.rev180329.bgp.rib.rib.loc.rib.tables.routes.Ipv6RoutesCase;
private static final RibId RIBID = new RibId("test-rib");
private static final Ipv4Prefix PREFIX2 = new Ipv4Prefix("2.2.2.2/32");
private static final Ipv6Prefix PREFIX3 = new Ipv6Prefix("dead:beef::/64");
- private static final Ipv6Address IPV6_NEXT_HOP = new Ipv6Address("dead:beef::1");
+ private static final Ipv6AddressNoZone IPV6_NEXT_HOP = new Ipv6AddressNoZone("dead:beef::1");
private static final TablesKey IPV6_TABLES_KEY = new TablesKey(Ipv6AddressFamily.class,
UnicastSubsequentAddressFamily.class);
insertRoutes(ipv4prefixes, PEER1, ipv6prefixes, IPV6_NEXT_HOP, this.session, BgpOrigin.Igp);
}
- private static void insertRoutes(final List<Ipv4Prefix> ipv4prefixes, final Ipv4Address ipv4NeighborAddress,
- final List<Ipv6Prefix> ipv6prefixes, final Ipv6Address ipv6NeighborAddress,
+ private static void insertRoutes(final List<Ipv4Prefix> ipv4prefixes, final Ipv4AddressNoZone ipv4NeighborAddress,
+ final List<Ipv6Prefix> ipv6prefixes, final Ipv6AddressNoZone ipv6NeighborAddress,
final BGPSessionImpl session, final BgpOrigin peerRole) {
if (ipv4prefixes == null && ipv6prefixes == null) {
waitFutureSuccess(session.writeAndFlush(BgpPeerUtil.createEndOfRib(TABLES_KEY)));
}
if (ipv4prefixes != null && !ipv4prefixes.isEmpty()) {
- final MpReachNlri reachIpv4 = PeerUtil.createMpReachNlri(new IpAddress(ipv4NeighborAddress),
+ final MpReachNlri reachIpv4 = PeerUtil.createMpReachNlri(new IpAddressNoZone(ipv4NeighborAddress),
ipv4prefixes.stream()
.map(IpPrefix::new)
.collect(Collectors.toList()));
}
if (ipv6prefixes != null && !ipv4prefixes.isEmpty()) {
- final MpReachNlri reachIpv6 = PeerUtil.createMpReachNlri(new IpAddress(ipv6NeighborAddress),
+ final MpReachNlri reachIpv6 = PeerUtil.createMpReachNlri(new IpAddressNoZone(ipv6NeighborAddress),
ipv6prefixes.stream()
.map(IpPrefix::new)
.collect(Collectors.toList()));
import org.opendaylight.protocol.bgp.rib.spi.SimpleRIBExtensionProviderContext;
import org.opendaylight.protocol.bgp.util.HexDumpBGPFileParser;
import org.opendaylight.protocol.concepts.KeyMapping;
-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.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.opendaylight.params.xml.ns.yang.bgp.linkstate.rev180329.LinkstateAddressFamily;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.linkstate.rev180329.LinkstateSubsequentAddressFamily;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.multiprotocol.rev180329.BgpTableType;
private static final TablesKey TABLE_KEY
= new TablesKey(LinkstateAddressFamily.class, LinkstateSubsequentAddressFamily.class);
private static final InstanceIdentifier<BgpRib> BGP_IID = InstanceIdentifier.create(BgpRib.class);
- private final IpAddress localAddress = new IpAddress(new Ipv4Address("127.0.0.1"));
+ private final IpAddressNoZone localAddress = new IpAddressNoZone(new Ipv4AddressNoZone("127.0.0.1"));
private BGPMock mock;
private AbstractRIBExtensionProviderActivator baseact;
private AbstractRIBExtensionProviderActivator lsact;
rib.instantiateServiceInstance();
assertTablesExists(tables);
rib.onGlobalContextUpdated(this.schemaService.getGlobalContext());
- final BGPPeer peer = AbstractAddPathTest.configurePeer(this.tableRegistry, this.localAddress.getIpv4Address(),
- rib, null, PeerRole.Ibgp, new StrictBGPPeerRegistry());
+ final BGPPeer peer = AbstractAddPathTest.configurePeer(this.tableRegistry,
+ this.localAddress.getIpv4AddressNoZone(), rib, null, PeerRole.Ibgp, new StrictBGPPeerRegistry());
peer.instantiateServiceInstance();
final ListenerRegistration<?> reg = this.mock.registerUpdateListener(peer);
reg.close();
rib.instantiateServiceInstance();
rib.onGlobalContextUpdated(this.schemaService.getGlobalContext());
assertTablesExists(tables);
- final BGPPeer peer = AbstractAddPathTest.configurePeer(this.tableRegistry, this.localAddress.getIpv4Address(),
- rib, null, PeerRole.Ibgp, new StrictBGPPeerRegistry());
+ final BGPPeer peer = AbstractAddPathTest.configurePeer(this.tableRegistry,
+ this.localAddress.getIpv4AddressNoZone(), rib, null, PeerRole.Ibgp, new StrictBGPPeerRegistry());
peer.instantiateServiceInstance();
final ListenerRegistration<?> reg = this.mock.registerUpdateListener(peer);
reg.close();
import org.opendaylight.protocol.bgp.parser.BGPError;
import org.opendaylight.protocol.bgp.parser.impl.message.update.LocalPreferenceAttributeParser;
import org.opendaylight.protocol.bgp.rib.spi.RibSupportUtils;
-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.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.Ipv4Prefix;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.inet.rev180329.ipv4.routes.ipv4.routes.Ipv4Route;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.message.rev180329.KeepaliveBuilder;
public class PeerTest extends AbstractRIBTestSetup {
- private final IpAddress neighborAddress = new IpAddress(new Ipv4Address("127.0.0.1"));
+ private final IpAddressNoZone neighborAddress = new IpAddressNoZone(new Ipv4AddressNoZone("127.0.0.1"));
private ApplicationPeer peer;
private BGPSessionImpl session;
private Map<YangInstanceIdentifier, NormalizedNode<?, ?>> routes;
final Ipv4Prefix second = new Ipv4Prefix("127.0.0.1/32");
final Ipv4Prefix third = new Ipv4Prefix("127.0.0.3/32");
this.peer = new ApplicationPeer(this.tableRegistry,
- new ApplicationRibId(this.neighborAddress.getIpv4Address().getValue()),
- this.neighborAddress.getIpv4Address(), getRib());
+ new ApplicationRibId(this.neighborAddress.getIpv4AddressNoZone().getValue()),
+ this.neighborAddress.getIpv4AddressNoZone(), getRib());
this.peer.instantiateServiceInstance(null, null);
final YangInstanceIdentifier base = getRib().getYangRibId().node(LocRib.QNAME)
.node(Tables.QNAME).node(RibSupportUtils.toYangTablesKey(KEY));
@Test
public void testClassicPeer() throws Exception {
- this.classic = AbstractAddPathTest.configurePeer(this.tableRegistry, this.neighborAddress.getIpv4Address(),
- getRib(), null, PeerRole.Ibgp, new StrictBGPPeerRegistry());
+ this.classic = AbstractAddPathTest.configurePeer(this.tableRegistry,
+ this.neighborAddress.getIpv4AddressNoZone(), getRib(), null, PeerRole.Ibgp, new StrictBGPPeerRegistry());
this.classic.instantiateServiceInstance();
this.mockSession();
- assertEquals(this.neighborAddress.getIpv4Address().getValue(), this.classic.getName());
+ assertEquals(this.neighborAddress.getIpv4AddressNoZone().getValue(), this.classic.getName());
this.classic.onSessionUp(this.session);
Assert.assertArrayEquals(new byte[]{1, 1, 1, 1}, this.classic.getRawIdentifier());
assertEquals("BGPPeer{name=127.0.0.1, tables=[TablesKey{_afi=interface org.opendaylight.yang.gen.v1"
final Origin origin = new OriginBuilder().setValue(BgpOrigin.Igp).build();
final AsPath asPath = new AsPathBuilder().setSegments(Collections.emptyList()).build();
final CNextHop nextHop = new Ipv4NextHopCaseBuilder().setIpv4NextHop(new Ipv4NextHopBuilder()
- .setGlobal(new Ipv4Address("127.0.0.1")).build()).build();
+ .setGlobal(new Ipv4AddressNoZone("127.0.0.1")).build()).build();
final AttributesBuilder ab = new AttributesBuilder();
ub.setAttributes(ab.setOrigin(origin).setAsPath(asPath).setCNextHop(nextHop).build());
try {
//create new peer so that it gets advertized routes from RIB
final BGPPeer testingPeer = AbstractAddPathTest.configurePeer(this.tableRegistry,
- this.neighborAddress.getIpv4Address(), getRib(), null, PeerRole.Ibgp, new StrictBGPPeerRegistry());
+ this.neighborAddress.getIpv4AddressNoZone(), getRib(), null, PeerRole.Ibgp, new StrictBGPPeerRegistry());
testingPeer.instantiateServiceInstance();
testingPeer.onSessionUp(this.session);
assertEquals(3, this.routes.size());
.setSafi(UnicastSubsequentAddressFamily.class)
.build()).build()).build()).build())).build());
final Open openObj = new OpenBuilder()
- .setBgpIdentifier(new Ipv4Address("1.1.1.1"))
+ .setBgpIdentifier(new Ipv4AddressNoZone("1.1.1.1"))
.setHoldTimer(Uint16.valueOf(50))
.setMyAsNumber(Uint16.valueOf(72))
.setBgpParameters(params).build();
import java.util.Map;
import java.util.stream.Collectors;
import org.opendaylight.protocol.bgp.parser.spi.PathIdUtil;
-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.inet.types.rev130715.IpPrefix;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Prefix;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6Prefix;
// Hidden on purpose
}
- static MpReachNlri createMpReachNlri(final IpAddress nextHop, final List<IpPrefix> prefixes) {
+ static MpReachNlri createMpReachNlri(final IpAddressNoZone nextHop, final List<IpPrefix> prefixes) {
final Class<? extends AddressFamily> afi;
final CNextHop cNextHop;
final DestinationType destinationType;
- if (nextHop.getIpv4Address() != null) {
+ if (nextHop.getIpv4AddressNoZone() != null) {
afi = Ipv4AddressFamily.class;
cNextHop = new Ipv4NextHopCaseBuilder().setIpv4NextHop(new Ipv4NextHopBuilder()
- .setGlobal(nextHop.getIpv4Address())
+ .setGlobal(nextHop.getIpv4AddressNoZone())
.build()).build();
destinationType = new DestinationIpv4CaseBuilder().setDestinationIpv4(
new DestinationIpv4Builder().setIpv4Prefixes(prefixes.stream()
} else {
afi = Ipv6AddressFamily.class;
cNextHop = new Ipv6NextHopCaseBuilder().setIpv6NextHop(new Ipv6NextHopBuilder()
- .setGlobal(nextHop.getIpv6Address())
+ .setGlobal(nextHop.getIpv6AddressNoZone())
.build()).build();
destinationType = new DestinationIpv6CaseBuilder().setDestinationIpv6(
new DestinationIpv6Builder().setIpv6Prefixes(prefixes.stream()
import org.opendaylight.protocol.bgp.rib.impl.spi.PeerRegistrySessionListener;
import org.opendaylight.protocol.bgp.rib.spi.BGPSessionListener;
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.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.opendaylight.params.xml.ns.yang.bgp.message.rev180329.Open;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.message.rev180329.OpenBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.message.rev180329.open.message.BgpParameters;
private static final AsNumber LOCAL_AS = new AsNumber(Uint32.valueOf(1234));
private static final AsNumber REMOTE_AS = new AsNumber(Uint32.valueOf(1235));
- private static final Ipv4Address FROM = new Ipv4Address("0.0.0.1");
- private static final IpAddress REMOTE_IP = new IpAddress(FROM);
- private static final Ipv4Address TO = new Ipv4Address("255.255.255.255");
+ private static final Ipv4AddressNoZone FROM = new Ipv4AddressNoZone("0.0.0.1");
+ private static final IpAddressNoZone REMOTE_IP = new IpAddressNoZone(FROM);
+ private static final Ipv4AddressNoZone TO = new Ipv4AddressNoZone("255.255.255.255");
private final BGPSessionListener peer1 = getMockSession();
private final Open classicOpen = createOpen(TO, LOCAL_AS);
private StrictBGPPeerRegistry peerRegistry;
private BGPSessionPreferences mockPreferences;
- private static Open createOpen(final Ipv4Address bgpId, final AsNumber as) {
+ private static Open createOpen(final Ipv4AddressNoZone bgpId, final AsNumber as) {
final List<BgpParameters> params = Lists.newArrayList(new BgpParametersBuilder()
.setOptionalCapabilities(Lists.newArrayList(new OptionalCapabilitiesBuilder()
.setCParameters(new CParametersBuilder()
private static PeerRegistrySessionListener getMockSessionListener() {
final PeerRegistrySessionListener mock = Mockito.mock(PeerRegistrySessionListener.class);
- Mockito.doNothing().when(mock).onSessionCreated(Mockito.any(IpAddress.class));
- Mockito.doNothing().when(mock).onSessionRemoved(Mockito.any(IpAddress.class));
+ Mockito.doNothing().when(mock).onSessionCreated(Mockito.any(IpAddressNoZone.class));
+ Mockito.doNothing().when(mock).onSessionRemoved(Mockito.any(IpAddressNoZone.class));
return mock;
}
@Test
public void testIpAddressConstruction() throws BGPDocumentedException {
final InetSocketAddress adr = new InetSocketAddress("127.0.0.1", 179);
- final IpAddress ipAdr = StrictBGPPeerRegistry.getIpAddress(adr);
- assertEquals("127.0.0.1", ipAdr.getIpv4Address().getValue());
+ final IpAddressNoZone ipAdr = StrictBGPPeerRegistry.getIpAddress(adr);
+ assertEquals("127.0.0.1", ipAdr.getIpv4AddressNoZone().getValue());
}
@Test
@Test
public void testPeerConnectionSuccessfull() throws Exception {
- final Ipv4Address to2 = new Ipv4Address("255.255.255.254");
- final IpAddress remoteIp2 = new IpAddress(to2);
+ final Ipv4AddressNoZone to2 = new Ipv4AddressNoZone("255.255.255.254");
+ final IpAddressNoZone remoteIp2 = new IpAddressNoZone(to2);
this.peerRegistry.addPeer(REMOTE_IP, this.peer1, this.mockPreferences);
final BGPSessionListener session2 = getMockSession();
@Test
public void testDropSecondPeer() throws BGPDocumentedException {
- final Ipv4Address higher = new Ipv4Address("192.168.200.200");
- final Ipv4Address lower = new Ipv4Address("10.10.10.10");
- final IpAddress remoteIp = new IpAddress(lower);
+ final Ipv4AddressNoZone higher = new Ipv4AddressNoZone("192.168.200.200");
+ final Ipv4AddressNoZone lower = new Ipv4AddressNoZone("10.10.10.10");
+ final IpAddressNoZone remoteIp = new IpAddressNoZone(lower);
this.peerRegistry.addPeer(remoteIp, this.peer1, this.mockPreferences);
@Test
public void testDropFirstPeer() throws Exception {
- final Ipv4Address higher = new Ipv4Address("123.123.123.123");
- final Ipv4Address lower = new Ipv4Address("123.123.123.122");
- final IpAddress remoteIp = new IpAddress(lower);
+ final Ipv4AddressNoZone higher = new Ipv4AddressNoZone("123.123.123.123");
+ final Ipv4AddressNoZone lower = new Ipv4AddressNoZone("123.123.123.122");
+ final IpAddressNoZone remoteIp = new IpAddressNoZone(lower);
this.peerRegistry.addPeer(remoteIp, this.peer1, this.mockPreferences);
import org.opendaylight.protocol.bgp.rib.spi.RIBQNames;
import org.opendaylight.protocol.bgp.rib.spi.RibSupportUtils;
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.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.Ipv4Prefix;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.message.rev180329.Notify;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.message.rev180329.Open;
public class SynchronizationAndExceptionTest extends AbstractAddPathTest {
private static final int HOLD_TIMER = 3;
private static final AsNumber AS_NUMBER = new AsNumber(Uint32.valueOf(30));
- private static final Ipv4Address BGP_ID = new Ipv4Address("1.1.1.2");
+ private static final Ipv4AddressNoZone BGP_ID = new Ipv4AddressNoZone("1.1.1.2");
private static final String LOCAL_IP = "1.1.1.4";
private static final int LOCAL_PORT = 12345;
private static final String RIB_ID = "1.1.1.2";
.node(RibSupportUtils.toYangTablesKey(new TablesKey(Ipv4AddressFamily.class,
UnicastSubsequentAddressFamily.class))).node(ATTRIBUTES_NID)
.node(UPTODATE_NID);
- private final IpAddress neighbor = new IpAddress(new Ipv4Address(LOCAL_IP));
+ private final IpAddressNoZone neighbor = new IpAddressNoZone(new Ipv4AddressNoZone(LOCAL_IP));
private final BgpTableType ipv4tt = new BgpTableTypeImpl(Ipv4AddressFamily.class,
UnicastSubsequentAddressFamily.class);
private Open classicOpen;
ribImpl.instantiateServiceInstance();
ribImpl.onGlobalContextUpdated(this.schemaService.getGlobalContext());
- final BGPPeer bgpPeer = AbstractAddPathTest.configurePeer(this.tableRegistry, neighbor.getIpv4Address(),
+ final BGPPeer bgpPeer = AbstractAddPathTest.configurePeer(this.tableRegistry, neighbor.getIpv4AddressNoZone(),
ribImpl, null, PeerRole.Ibgp, this.serverRegistry, AFI_SAFIS_ADVERTIZED, Collections.emptySet());
bgpPeer.instantiateServiceInstance();
final BGPSessionImpl bgpSession = new BGPSessionImpl(bgpPeer, this.speakerListener, this.classicOpen,
final Origin origin = new OriginBuilder().setValue(BgpOrigin.Igp).build();
final AsPath asPath = new AsPathBuilder().setSegments(Collections.emptyList()).build();
final CNextHop nextHop = new Ipv4NextHopCaseBuilder().setIpv4NextHop(new Ipv4NextHopBuilder()
- .setGlobal(new Ipv4Address("127.0.0.1")).build()).build();
+ .setGlobal(new Ipv4AddressNoZone("127.0.0.1")).build()).build();
final AttributesBuilder ab = new AttributesBuilder();
wrongMessage.setAttributes(ab.setOrigin(origin).setAsPath(asPath).setCNextHop(nextHop).build());
ribImpl.instantiateServiceInstance();
ribImpl.onGlobalContextUpdated(this.schemaService.getGlobalContext());
- final BGPPeer bgpPeer = AbstractAddPathTest.configurePeer(this.tableRegistry, neighbor.getIpv4Address(),
+ final BGPPeer bgpPeer = AbstractAddPathTest.configurePeer(this.tableRegistry, neighbor.getIpv4AddressNoZone(),
ribImpl, null, PeerRole.Ibgp, this.serverRegistry, AFI_SAFIS_ADVERTIZED, Collections.emptySet());
bgpPeer.instantiateServiceInstance();
final BGPSessionImpl bgpSession = new BGPSessionImpl(bgpPeer, this.speakerListener, this.classicOpen,
final Origin origin = new OriginBuilder().setValue(BgpOrigin.Igp).build();
final AsPath asPath = new AsPathBuilder().setSegments(Collections.emptyList()).build();
final CNextHop nextHop = new Ipv4NextHopCaseBuilder().setIpv4NextHop(new Ipv4NextHopBuilder()
- .setGlobal(new Ipv4Address("127.0.0.1")).build()).build();
+ .setGlobal(new Ipv4AddressNoZone("127.0.0.1")).build()).build();
final AttributesBuilder ab = new AttributesBuilder();
wrongMessage.setAttributes(ab.setOrigin(origin).setAsPath(asPath).setCNextHop(nextHop).build());
import org.opendaylight.protocol.bgp.rib.spi.BGPSessionListener;
import org.opendaylight.protocol.concepts.KeyMapping;
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.IpAddressNoZone;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.rib.rev180329.BgpRib;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.rib.rev180329.Rib;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.rib.rev180329.RibId;
UnicastSubsequentAddressFamily.class)))
.when(this.rib).getLocalTables();
- doNothing().when(this.bgpPeerRegistry).addPeer(any(IpAddress.class),
+ doNothing().when(this.bgpPeerRegistry).addPeer(any(IpAddressNoZone.class),
any(BGPSessionListener.class), any(BGPSessionPreferences.class));
- doNothing().when(this.bgpPeerRegistry).removePeer(any(IpAddress.class));
+ doNothing().when(this.bgpPeerRegistry).removePeer(any(IpAddressNoZone.class));
doReturn("registry").when(this.bgpPeerRegistry).toString();
doNothing().when(this.listener).close();
doReturn(this.bgpPeerRegistry).when(this.dispatcher).getBGPPeerRegistry();
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.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.IpAddressNoZone;
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.PortNumber;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.multiprotocol.rev180329.BgpTableType;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.multiprotocol.rev180329.SendReceive;
private static final NeighborKey NEIGHBOR_KEY = new NeighborKey(NEIGHBOR_ADDRESS);
private static final Ipv4Address ROUTER_ID = new Ipv4Address("1.2.3.4");
private static final Ipv4Address CLUSTER_ID = new Ipv4Address("4.3.2.1");
- private static final Ipv4Address LOCAL_HOST = new Ipv4Address("127.0.0.1");
+ private static final Ipv4AddressNoZone LOCAL_HOST = new Ipv4AddressNoZone("127.0.0.1");
private static final Uint8 ALL_PATHS = Uint8.ZERO;
private static final Uint8 N_PATHS = Uint8.TWO;
assertNull(OpenConfigMappingUtil.getLocalAddress(transport.setConfig(
new org.opendaylight.yang.gen.v1.http.openconfig.net.yang.bgp.rev151009.bgp.neighbor.group.transport
.ConfigBuilder().build()).build()));
- assertEquals(new IpAddress(LOCAL_HOST), OpenConfigMappingUtil.getLocalAddress(transport.setConfig(
+ assertEquals(new IpAddressNoZone(LOCAL_HOST), OpenConfigMappingUtil.getLocalAddress(transport.setConfig(
new org.opendaylight.yang.gen.v1.http.openconfig.net.yang.bgp.rev151009.bgp.neighbor.group.transport
.ConfigBuilder().setLocalAddress(new BgpNeighborTransportConfig
.LocalAddress(new IpAddress(new Ipv4Address(LOCAL_HOST.getValue())))).build()).build()));
import org.opendaylight.yang.gen.v1.http.openconfig.net.yang.bgp.rev151009.bgp.top.bgp.NeighborsBuilder;
import org.opendaylight.yang.gen.v1.http.openconfig.net.yang.bgp.types.rev151009.IPV4UNICAST;
import org.opendaylight.yang.gen.v1.http.openconfig.net.yang.bgp.types.rev151009.IPV6UNICAST;
-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.openconfig.extensions.rev180329.GlobalAddPathsConfig;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.openconfig.extensions.rev180329.GlobalAddPathsConfigBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.types.rev180329.BgpId;
import org.opendaylight.yangtools.yang.common.Uint8;
final class RIBTestsUtil {
- private static final Ipv4Address BGP_ID = new BgpId(new Ipv4Address("127.0.0.1"));
+ private static final BgpId BGP_ID = new BgpId(new Ipv4AddressNoZone("127.0.0.1"));
private static final List<AfiSafi> AFISAFIS_IPV4 = new ArrayList<>();
private static final List<AfiSafi> AFISAFIS_IPV6 = new ArrayList<>();
import org.opendaylight.yang.gen.v1.http.openconfig.net.yang.bgp.rev151009.bgp.top.bgp.Global;
import org.opendaylight.yang.gen.v1.http.openconfig.net.yang.bgp.rev151009.bgp.top.bgp.GlobalBuilder;
import org.opendaylight.yang.gen.v1.http.openconfig.net.yang.bgp.types.rev151009.IPV4UNICAST;
-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.multiprotocol.rev180329.BgpTableType;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.openconfig.extensions.rev180329.GlobalAddPathsConfig;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.openconfig.extensions.rev180329.GlobalAddPathsConfigBuilder;
private static final List<AfiSafi> AFISAFIS = new ArrayList<>();
private static final BgpTableType TABLE_TYPE = new BgpTableTypeImpl(Ipv4AddressFamily.class,
UnicastSubsequentAddressFamily.class);
- private static final Ipv4Address BGP_ID = new BgpId(new Ipv4Address("127.0.0.1"));
+ private static final BgpId BGP_ID = new BgpId(new Ipv4AddressNoZone("127.0.0.1"));
static {
AFISAFIS.add(new AfiSafiBuilder().setAfiSafiName(IPV4UNICAST.class)
import org.eclipse.jdt.annotation.NonNull;
import org.eclipse.jdt.annotation.Nullable;
import org.opendaylight.protocol.bgp.rib.RibReference;
-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;
/**
* Representing operational state related to a particular BGP neighbor.
*
* @return neighbor Address
*/
- @NonNull IpAddress getNeighborAddress();
+ @NonNull IpAddressNoZone getNeighborAddress();
/**
* Paths installed under Effective-Rib-In for a BGP neighbor.
package org.opendaylight.protocol.bgp.rib.spi.state;
import org.eclipse.jdt.annotation.NonNullByDefault;
-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.inet.types.rev130715.PortNumber;
/**
*
* @return IpAddress
*/
- IpAddress getRemoteAddress();
+ IpAddressNoZone getRemoteAddress();
/**
* Remote Port.
import org.opendaylight.mdsal.binding.dom.adapter.test.AbstractDataBrokerTestCustomizer;
import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
import org.opendaylight.mdsal.dom.api.DOMDataTreeWriteTransaction;
-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.message.rev180329.UpdateBuilder;
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;
@Test
public void buildUpdate() {
final Ipv4NextHopCase nextHop = new Ipv4NextHopCaseBuilder().setIpv4NextHop(new Ipv4NextHopBuilder()
- .setGlobal(new Ipv4Address("10.0.0.2")).build()).build();
+ .setGlobal(new Ipv4AddressNoZone("10.0.0.2")).build()).build();
final Attributes attr = new AttributesBuilder().setCNextHop(nextHop).build();
final Collection<MapEntryNode> routes = new HashSet<>();
import java.util.ArrayList;
import java.util.List;
-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.message.rev180329.path.attributes.attributes.ExtendedCommunities;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.message.rev180329.path.attributes.attributes.ExtendedCommunitiesBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.types.rev180329.ShortAsNumber;
private static final ShortAsNumber SHORT_AS = new ShortAsNumber(Uint32.valueOf(20));
private static final As4SpecificCommon AS_4_COMMON = new As4SpecificCommonBuilder()
.setAsNumber(SHORT_AS).setLocalAdministrator(Uint16.valueOf(100)).build();
- private static final Ipv4Address IPV4 = new Ipv4Address("192.168.1.0");
+ private static final Ipv4AddressNoZone IPV4 = new Ipv4AddressNoZone("192.168.1.0");
private static final byte[] BYTE = new byte[]{(byte) 0x4f, (byte) 0x70, (byte) 0x00, (byte) 0x00};
private static final Uint16 LA = Uint16.valueOf(4660).intern();
import java.util.Collections;
import java.util.List;
import org.opendaylight.protocol.bgp.rib.impl.ChannelOutputLimiter;
-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.prefixes.DestinationIpv4Builder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.inet.rev180329.ipv4.prefixes.destination.ipv4.Ipv4PrefixesBuilder;
final class PrefixesBuilder {
private static final Ipv4NextHopCase NEXT_HOP = new Ipv4NextHopCaseBuilder()
- .setIpv4NextHop(new Ipv4NextHopBuilder().setGlobal(new Ipv4Address("127.1.1.1")).build())
+ .setIpv4NextHop(new Ipv4NextHopBuilder().setGlobal(new Ipv4AddressNoZone("127.1.1.1")).build())
.build();
private PrefixesBuilder() {
if (pa != null && pa.getOspfForwardingAddress() != null) {
pb.addAugmentation(Prefix1.class, new Prefix1Builder().setOspfPrefixAttributes(
new OspfPrefixAttributesBuilder().setForwardingAddress(pa.getOspfForwardingAddress()
- .getIpv4Address()).build()).build());
+ .getIpv4AddressNoZone()).build()).build());
}
break;
default:
import org.junit.Test;
import org.opendaylight.mdsal.binding.api.WriteTransaction;
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.bgp.rib.rib.loc.rib.tables.routes.Ipv4RoutesCase;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.inet.rev180329.ipv4.routes.Ipv4Routes;
final Attributes attribute = new AttributesBuilder()
.setOrigin(new OriginBuilder().setValue(BgpOrigin.Igp).build())
.setCNextHop(new Ipv4NextHopCaseBuilder().setIpv4NextHop(new Ipv4NextHopBuilder()
- .setGlobal(new Ipv4Address(nextHop)).build()).build()).build();
+ .setGlobal(new Ipv4AddressNoZone(nextHop)).build()).build()).build();
return new Ipv4RouteBuilder().withKey(new Ipv4RouteKey(new PathId(PATH_ID), ROUTE_IP4PREFIX))
.setPrefix(new Ipv4Prefix(ROUTE_IP4PREFIX)).setAttributes(attribute).build();
}
import org.junit.Test;
import org.opendaylight.mdsal.binding.api.WriteTransaction;
import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
-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.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.bgp.rib.rib.loc.rib.tables.routes.Ipv6RoutesCase;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.inet.rev180329.ipv6.routes.Ipv6Routes;
wTx.commit();
}
- private static Ipv6Route createIpv6Route(final String netxHop) {
+ private static Ipv6Route createIpv6Route(final String nextHop) {
final Attributes attribute = new AttributesBuilder()
.setOrigin(new OriginBuilder().setValue(BgpOrigin.Igp).build())
.setCNextHop(new Ipv6NextHopCaseBuilder().setIpv6NextHop(
- new Ipv6NextHopBuilder().setGlobal(new Ipv6Address(netxHop)).build()).build()).build();
+ new Ipv6NextHopBuilder().setGlobal(new Ipv6AddressNoZone(nextHop)).build()).build()).build();
return new Ipv6RouteBuilder().withKey(new Ipv6RouteKey(new PathId(PATH_ID), ROUTE_IP6PREFIX))
.setPrefix(new Ipv6Prefix(ROUTE_IP6PREFIX)).setAttributes(attribute).build();
}
import org.opendaylight.mdsal.binding.api.WriteTransaction;
import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
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.IpAddressNoZone;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpPrefix;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.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.linkstate.rev180329.AdministrativeGroup;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.linkstate.rev180329.Identifier;
.addAugmentation(Attributes1.class, new Attributes1Builder()
.setLinkStateAttribute(new PrefixAttributesCaseBuilder()
.setPrefixAttributes(new PrefixAttributesBuilder()
- .setOspfForwardingAddress(new IpAddress(new Ipv4Address(ospfFwdAddress)))
+ .setOspfForwardingAddress(new IpAddressNoZone(new Ipv4AddressNoZone(ospfFwdAddress)))
.setPrefixMetric(new IgpMetric(Uint32.valueOf(igpMetric)))
.build())
.build())
belong to one address domain from the other.";
}
leaf address {
- type inet:ip-address;
+ type inet:ip-address-no-zone;
mandatory true;
description
"The remote IP address associated with the TCP
significant bits.";
}
leaf bgp-id {
- type inet:ipv4-address;
+ type inet:ipv4-address-no-zone;
mandatory true;
description
"The BGP Identifier of the peer from which the
grouping peer-up {
leaf local-address {
- type inet:ip-address;
+ type inet:ip-address-no-zone;
mandatory true;
description
"The local IP address associated with the peering
typedef router-id {
description "Monitored router identified by IP address.";
- type inet:ip-address;
+ type inet:ip-address-no-zone;
}
typedef monitor-id {
grouping server-config {
container server {
leaf binding-address {
- type inet:ip-address;
+ type inet:ip-address-no-zone;
default "0.0.0.0";
}
list monitored-router {
leaf address {
- type inet:ip-address;
+ type inet:ip-address-no-zone;
mandatory true;
}
if (mr.isActive()) {
requireNonNull(mr.getAddress());
requireNonNull(mr.getPort());
- final String s = mr.getAddress().getIpv4Address().getValue();
+ final String s = mr.getAddress().getIpv4AddressNoZone().getValue();
final InetAddress addr = InetAddresses.forString(s);
final KeyMapping ret;
final Rfc2385Key rfc2385KeyPassword = mr.getPassword();
import org.opendaylight.mdsal.dom.api.DOMTransactionChain;
import org.opendaylight.protocol.bgp.rib.spi.RIBExtensionConsumerContext;
import org.opendaylight.protocol.bmp.impl.spi.BmpRouterPeer;
-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.Timestamp;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.message.rev180329.open.message.BgpParameters;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.message.rev180329.open.message.bgp.parameters.OptionalCapabilities;
}
}
-
- private static String getStringIpAddress(final IpAddress ipAddress) {
- if (ipAddress.getIpv4Address() != null) {
- return ipAddress.getIpv4Address().getValue();
+ private static String getStringIpAddress(final IpAddressNoZone ipAddress) {
+ if (ipAddress.getIpv4AddressNoZone() != null) {
+ return ipAddress.getIpv4AddressNoZone().getValue();
}
- return ipAddress.getIpv6Address().getValue();
+ return ipAddress.getIpv6AddressNoZone().getValue();
}
}
mrs.stream().filter(Objects::nonNull).filter(KeyConstructorUtil::isNotNullorEmpty)
.forEach(mr -> {
final Rfc2385Key rfc2385KeyPassword = mr.getPassword();
- ret.put(IetfInetUtil.INSTANCE.inetAddressFor(mr.getAddress()),
+ ret.put(IetfInetUtil.INSTANCE.inetAddressForNoZone(mr.getAddress()),
rfc2385KeyPassword.getValue().getBytes(StandardCharsets.US_ASCII));
});
}
import org.opendaylight.protocol.bmp.spi.registry.BmpMessageRegistry;
import org.opendaylight.protocol.bmp.spi.registry.SimpleBmpExtensionProviderContext;
import org.opendaylight.protocol.util.CheckUtil;
-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.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.opendaylight.params.xml.ns.yang.bgp.inet.rev180329.bmp.monitor.monitor.router.peer.pre.policy.rib.tables.routes.Ipv4RoutesCase;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.rib.rev180329.PeerId;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.rib.rev180329.rib.Tables;
// the router (monitee) address where we are going to simulate a BMP request from
private static final String REMOTE_ROUTER_ADDRESS_1 = "127.0.0.12";
private static final String REMOTE_ROUTER_ADDRESS_2 = "127.0.0.13";
- private static final Ipv4Address PEER1 = new Ipv4Address("20.20.20.20");
+ private static final Ipv4AddressNoZone PEER1 = new Ipv4AddressNoZone("20.20.20.20");
private static final MonitorId MONITOR_ID = new MonitorId("monitor");
private static final KeyedInstanceIdentifier<Monitor, MonitorKey> MONITOR_IID = InstanceIdentifier
.create(BmpMonitor.class).child(Monitor.class, new MonitorKey(MONITOR_ID));
assertEquals(PeerType.Global, peer.getType());
assertEquals(PEER_ID, peer.getPeerId());
assertEquals(PEER1, peer.getBgpId());
- assertEquals(TestUtil.IPV4_ADDRESS_10, peer.getAddress().getIpv4Address());
+ assertEquals(TestUtil.IPV4_ADDRESS_10, peer.getAddress().getIpv4AddressNoZone());
assertEquals(TestUtil.PEER_AS, peer.getAs());
assertNull(peer.getPeerDistinguisher());
assertNull(peer.getStats());
assertNotNull(peer.getPeerSession());
final PeerSession peerSession = peer.getPeerSession();
- assertEquals(TestUtil.IPV4_ADDRESS_10, peerSession.getLocalAddress().getIpv4Address());
+ assertEquals(TestUtil.IPV4_ADDRESS_10, peerSession.getLocalAddress().getIpv4AddressNoZone());
assertEquals(TestUtil.PEER_LOCAL_PORT, peerSession.getLocalPort());
assertEquals(TestUtil.PEER_REMOTE_PORT, peerSession.getRemotePort());
assertEquals(Status.Up, peerSession.getStatus());
}
private static RouterId getRouterId(final String routerIp) {
- return new RouterId(new IpAddress(new Ipv4Address(routerIp)));
+ return new RouterId(new IpAddressNoZone(new Ipv4AddressNoZone(routerIp)));
}
}
* 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.bmp.mock;
import static org.opendaylight.protocol.util.Ipv4Util.incrementIpv4Address;
import java.net.InetAddress;
import java.net.InetSocketAddress;
import org.opendaylight.protocol.bmp.api.BmpSession;
-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.bmp.message.rev180329.AdjRibInType;
import org.opendaylight.yangtools.yang.binding.Notification;
private static final Logger LOG = LoggerFactory.getLogger(BmpMockSession.class);
- private static final Ipv4Address NEXT_HOP = new Ipv4Address("1.1.1.1");
+ private static final Ipv4AddressNoZone NEXT_HOP = new Ipv4AddressNoZone("1.1.1.1");
private static final Ipv4Prefix PREFIX = new Ipv4Prefix("1.1.1.1/32");
- private static final Ipv4Address PEER_ADDRESS = NEXT_HOP;
+ private static final Ipv4AddressNoZone PEER_ADDRESS = NEXT_HOP;
private final int peersCount;
private final int prePolicyRoutesCount;
private void advertizePeers(final InetSocketAddress localAddress) {
channel.writeAndFlush(BmpMockUtil.createInitiation());
- Ipv4Address peerAddress = PEER_ADDRESS;
+ Ipv4AddressNoZone peerAddress = PEER_ADDRESS;
for (int i = 0; i < this.peersCount; i++) {
channel.writeAndFlush(BmpMockUtil.createPeerUp(peerAddress, localAddress.getAddress()));
LOG.debug("BMP router {} advertized peer {}", channel.localAddress(), peerAddress);
}
private static void advertizeRoutes(final int count, final AdjRibInType type, final Channel channel,
- final Ipv4Address peerAddress) {
+ final Ipv4AddressNoZone peerAddress) {
Ipv4Prefix prefix = PREFIX;
for (int i = 0; i < count; i++) {
channel.writeAndFlush(BmpMockUtil.createRouteMonitoring(peerAddress, type, prefix));
import java.net.InetAddress;
import java.util.Collections;
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.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.Ipv4Prefix;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.PortNumber;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.message.rev180329.OpenBuilder;
private static final String NAME = "BMP mock";
private static final int HOLD_TIMER = 180;
private static final AsNumber ASN = new AsNumber(Uint32.valueOf(65431));
- private static final Ipv4Address NEXT_HOP = new Ipv4Address("1.2.3.4");
+ private static final Ipv4AddressNoZone NEXT_HOP = new Ipv4AddressNoZone("1.2.3.4");
private static final PortNumber PEER_PORT = new PortNumber(Uint16.valueOf(179).intern());
private static final ProtocolVersion PROTOCOL_VERSION = new ProtocolVersion(Uint8.valueOf(4));
private static final Origin ORIGIN = new OriginBuilder().setValue(BgpOrigin.Igp).build();
return msgBuilder.build();
}
- static PeerUpNotification createPeerUp(final Ipv4Address peerIp, final InetAddress localAddress) {
+ static PeerUpNotification createPeerUp(final Ipv4AddressNoZone peerIp, final InetAddress localAddress) {
final PeerUpNotificationBuilder msgBuilder = new PeerUpNotificationBuilder();
- msgBuilder.setLocalAddress(new IpAddress(new Ipv4Address(localAddress.getHostAddress())));
+ msgBuilder.setLocalAddress(new IpAddressNoZone(new Ipv4AddressNoZone(localAddress.getHostAddress())));
msgBuilder.setLocalPort(PEER_PORT);
msgBuilder.setRemotePort(PEER_PORT);
msgBuilder.setReceivedOpen(new ReceivedOpenBuilder(createOpen(peerIp)).build());
- msgBuilder.setSentOpen(new SentOpenBuilder(createOpen(new Ipv4Address(localAddress.getHostAddress()))).build());
+ msgBuilder.setSentOpen(new SentOpenBuilder(createOpen(new Ipv4AddressNoZone(localAddress.getHostAddress())))
+ .build());
msgBuilder.setPeerHeader(createPeerHeader(peerIp, AdjRibInType.PrePolicy));
return msgBuilder.build();
}
- private static OpenMessage createOpen(final Ipv4Address address) {
+ private static OpenMessage createOpen(final Ipv4AddressNoZone address) {
final OpenBuilder msgBuilder = new OpenBuilder();
msgBuilder.setBgpIdentifier(address);
msgBuilder.setHoldTimer(HOLD_TIMER);
return msgBuilder.build();
}
- private static PeerHeader createPeerHeader(final Ipv4Address bgpId, final AdjRibInType ribType) {
+ private static PeerHeader createPeerHeader(final Ipv4AddressNoZone bgpId, final AdjRibInType ribType) {
return new PeerHeaderBuilder()
- .setAddress(new IpAddress(bgpId))
+ .setAddress(new IpAddressNoZone(bgpId))
.setAdjRibInType(ribType)
.setAs(new AsNumber(ASN))
.setBgpId(bgpId)
.build();
}
- static RouteMonitoringMessage createRouteMonitoring(final Ipv4Address bgpId, final AdjRibInType ribType,
+ static RouteMonitoringMessage createRouteMonitoring(final Ipv4AddressNoZone bgpId, final AdjRibInType ribType,
final Ipv4Prefix prefix) {
final RouteMonitoringMessageBuilder routeMonitMsgBuilder = new RouteMonitoringMessageBuilder()
.setPeerHeader(createPeerHeader(bgpId, ribType))
* 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.bmp.mock;
import static org.junit.Assert.assertEquals;
import com.google.common.net.InetAddresses;
import java.net.InetAddress;
import org.junit.Test;
-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.types.rev180329.next.hop.c.next.hop.Ipv4NextHopCase;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bmp.message.rev180329.AdjRibInType;
public class BmpMockUtilTest {
- private static final Ipv4Address PEER_IP = new Ipv4Address("127.0.0.1");
+ private static final Ipv4AddressNoZone PEER_IP = new Ipv4AddressNoZone("127.0.0.1");
private static final InetAddress LOCAL_ADDRESS = InetAddresses.forString("127.0.0.2");
private static final Ipv4Prefix PREFIX = new Ipv4Prefix("1.2.3.4/32");
public void testCreatePeerUp() {
final PeerUpNotification peerUp = BmpMockUtil.createPeerUp(PEER_IP, LOCAL_ADDRESS);
final PeerHeader peerHeader = peerUp.getPeerHeader();
- assertEquals(PEER_IP, peerHeader.getAddress().getIpv4Address());
+ assertEquals(PEER_IP, peerHeader.getAddress().getIpv4AddressNoZone());
assertEquals(65431L, peerHeader.getAs().getValue().longValue());
assertEquals(PEER_IP, peerHeader.getBgpId());
assertEquals(PeerType.Global, peerHeader.getType());
assertNull(peerUp.getInformation());
- assertEquals(LOCAL_ADDRESS.getHostAddress(), peerUp.getLocalAddress().getIpv4Address().getValue());
+ assertEquals(LOCAL_ADDRESS.getHostAddress(), peerUp.getLocalAddress().getIpv4AddressNoZone().getValue());
assertEquals(179, peerUp.getLocalPort().getValue().intValue());
assertEquals(179, peerUp.getRemotePort().getValue().intValue());
assertNotNull(peerUp.getReceivedOpen());
final RouteMonitoringMessage routeMonitoring = BmpMockUtil
.createRouteMonitoring(PEER_IP, AdjRibInType.PrePolicy, PREFIX);
final PeerHeader peerHeader = routeMonitoring.getPeerHeader();
- assertEquals(PEER_IP, peerHeader.getAddress().getIpv4Address());
+ assertEquals(PEER_IP, peerHeader.getAddress().getIpv4AddressNoZone());
assertEquals(65431L, peerHeader.getAs().getValue().longValue());
assertEquals(PEER_IP, peerHeader.getBgpId());
assertEquals(PeerType.Global, peerHeader.getType());
import org.opendaylight.protocol.bmp.spi.parser.BmpTlvRegistry;
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.inet.types.rev130715.PortNumber;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.message.rev180329.OpenBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.message.rev180329.OpenMessage;
checkArgument(message instanceof PeerUpNotification, "An instance of Peer Up notification is required");
final PeerUpNotification peerUp = (PeerUpNotification) message;
- if (peerUp.getLocalAddress().getIpv4Address() != null) {
+ if (peerUp.getLocalAddress().getIpv4AddressNoZone() != null) {
buffer.writeZero(Ipv6Util.IPV6_LENGTH - Ipv4Util.IP4_LENGTH);
- Ipv4Util.writeIpv4Address(peerUp.getLocalAddress().getIpv4Address(), buffer);
+ Ipv4Util.writeIpv4Address(peerUp.getLocalAddress().getIpv4AddressNoZone(), buffer);
} else {
- Ipv6Util.writeIpv6Address(peerUp.getLocalAddress().getIpv6Address(), buffer);
+ Ipv6Util.writeIpv6Address(peerUp.getLocalAddress().getIpv6AddressNoZone(), buffer);
}
ByteBufUtils.write(buffer, peerUp.getLocalPort().getValue());
ByteBufUtils.write(buffer, peerUp.getRemotePort().getValue());
if (peerUpNot.getPeerHeader().isIpv4()) {
bytes.skipBytes(Ipv6Util.IPV6_LENGTH - Ipv4Util.IP4_LENGTH);
- peerUpNot.setLocalAddress(new IpAddress(Ipv4Util.addressForByteBuf(bytes)));
+ peerUpNot.setLocalAddress(new IpAddressNoZone(Ipv4Util.addressForByteBuf(bytes)));
} else {
- peerUpNot.setLocalAddress(new IpAddress(Ipv6Util.addressForByteBuf(bytes)));
+ peerUpNot.setLocalAddress(new IpAddressNoZone(Ipv6Util.addressForByteBuf(bytes)));
}
peerUpNot.setLocalPort(new PortNumber(ByteBufUtils.readUint16(bytes)));
peerUpNot.setRemotePort(new PortNumber(ByteBufUtils.readUint16(bytes)));
import java.util.ArrayList;
import java.util.List;
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.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.Ipv4Prefix;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.PortNumber;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Counter32;
import org.opendaylight.yangtools.yang.common.Uint8;
public final class TestUtil {
- public static final Ipv4Address IPV4_ADDRESS_10 = new Ipv4Address("10.10.10.10");
- private static final Ipv4Address IPV4_ADDRESS_20 = new Ipv4Address("20.20.20.20");
- private static final Ipv4Address IPV4_ADDRESS_30 = new Ipv4Address("30.30.30.30");
- private static final Ipv4Address IPV4_ADDRESS_40 = new Ipv4Address("40.40.40.40");
- private static final Ipv4Address IPV4_ADDRESS_12 = new Ipv4Address("12.12.12.12");
- private static final Ipv4Address IPV4_ADDRESS_100 = new Ipv4Address("100.100.100.100");
+ public static final Ipv4AddressNoZone IPV4_ADDRESS_10 = new Ipv4AddressNoZone("10.10.10.10");
+ private static final Ipv4AddressNoZone IPV4_ADDRESS_20 = new Ipv4AddressNoZone("20.20.20.20");
+ private static final Ipv4AddressNoZone IPV4_ADDRESS_30 = new Ipv4AddressNoZone("30.30.30.30");
+ private static final Ipv4AddressNoZone IPV4_ADDRESS_40 = new Ipv4AddressNoZone("40.40.40.40");
+ private static final Ipv4AddressNoZone IPV4_ADDRESS_12 = new Ipv4AddressNoZone("12.12.12.12");
+ private static final Ipv4AddressNoZone IPV4_ADDRESS_100 = new Ipv4AddressNoZone("100.100.100.100");
public static final AsNumber PEER_AS = new AsNumber(Uint32.valueOf(72L));
public static final PortNumber PEER_LOCAL_PORT = new PortNumber(Uint16.valueOf(220));
public static final PortNumber PEER_REMOTE_PORT = new PortNumber(Uint16.valueOf(5000));
return terminatMsgBuilder.setTlvs(tlvsBuilder.build()).build();
}
- private static PeerHeader createPeerHeader(final Ipv4Address bgpId, final AdjRibInType ribType) {
+ private static PeerHeader createPeerHeader(final Ipv4AddressNoZone bgpId, final AdjRibInType ribType) {
final PeerHeaderBuilder peerHeaderBuilder = new PeerHeaderBuilder()
- .setAddress(new IpAddress(IPV4_ADDRESS_10))
+ .setAddress(new IpAddressNoZone(IPV4_ADDRESS_10))
.setAs(PEER_AS)
- .setBgpId(new Ipv4Address(bgpId))
+ .setBgpId(bgpId)
.setAdjRibInType(ribType)
.setTimestampMicro(new Timestamp(Uint32.TEN))
.setTimestampSec(new Timestamp(Uint32.valueOf(5)))
return peerHeaderBuilder.build();
}
- private static PeerHeader createPeerHeader(final Ipv4Address bgpId) {
+ private static PeerHeader createPeerHeader(final Ipv4AddressNoZone bgpId) {
return createPeerHeader(bgpId, AdjRibInType.PrePolicy);
}
return createPeerHeader(IPV4_ADDRESS_10);
}
- public static PeerUpNotification createPeerUpNotification(final Ipv4Address bgpId, final boolean multiprotocol) {
- final PeerUpNotificationBuilder peerUpNotifBuilder = new PeerUpNotificationBuilder()
- .setLocalAddress(new IpAddress(IPV4_ADDRESS_10))
- .setLocalPort(PEER_LOCAL_PORT)
- .setPeerHeader(createPeerHeader(bgpId))
- .setReceivedOpen(new ReceivedOpenBuilder(createOpen(multiprotocol)).build())
- .setRemotePort(PEER_REMOTE_PORT)
- .setSentOpen((SentOpen) createOpen(multiprotocol))
- .setInformation(new InformationBuilder().setStringInformation(
- ImmutableList.<StringInformation>builder().add(
- new StringInformationBuilder().setStringTlv(
- new StringTlvBuilder().setStringInfo("aaaa")
- .build()).build()).build()).build());
-
- return peerUpNotifBuilder.build();
+ public static PeerUpNotification createPeerUpNotification(final Ipv4AddressNoZone bgpId,
+ final boolean multiprotocol) {
+ return new PeerUpNotificationBuilder()
+ .setLocalAddress(new IpAddressNoZone(IPV4_ADDRESS_10))
+ .setLocalPort(PEER_LOCAL_PORT)
+ .setPeerHeader(createPeerHeader(bgpId))
+ .setReceivedOpen(new ReceivedOpenBuilder(createOpen(multiprotocol)).build())
+ .setRemotePort(PEER_REMOTE_PORT)
+ .setSentOpen((SentOpen) createOpen(multiprotocol))
+ .setInformation(new InformationBuilder().setStringInformation(
+ ImmutableList.of(new StringInformationBuilder()
+ .setStringTlv(new StringTlvBuilder().setStringInfo("aaaa").build())
+ .build()))
+ .build())
+ .build();
}
static PeerUpNotification createPeerUpNotification() {
return peerDownNotifBuilder.build();
}
- public static PeerDownNotification createPeerDownNotification(final Ipv4Address bgpId) {
+ public static PeerDownNotification createPeerDownNotification(final Ipv4AddressNoZone bgpId) {
final NotificationBuilder notifBuilder = new NotificationBuilder()
.setNotification(new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bmp.message
.rev180329.peer.down.data.notification.NotificationBuilder()
.setErrorCode(Uint8.ONE)
.setErrorSubcode(Uint8.ONE).build());
- final PeerDownNotificationBuilder peerDownNotifBuilder = new PeerDownNotificationBuilder()
+ return new PeerDownNotificationBuilder()
.setData(notifBuilder.build())
.setLocalSystemClosed(true)
- .setPeerHeader(TestUtil.createPeerHeader(bgpId));
- return peerDownNotifBuilder.build();
+ .setPeerHeader(TestUtil.createPeerHeader(bgpId))
+ .build();
}
static PeerDownNotification createPeerDownNotification() {
private static List<BgpParameters> createBgpParameters(final boolean multiprotocol) {
final BgpParametersBuilder bgpParamBuilder = new BgpParametersBuilder()
.setOptionalCapabilities(createOptionalCapabilities(multiprotocol));
- final List<BgpParameters> bgpParameters = Lists.newArrayList();
+ final List<BgpParameters> bgpParameters = new ArrayList<>();
bgpParameters.add(bgpParamBuilder.build());
return bgpParameters;
.setCParameters(paramsBuilder
.setAs4BytesCapability(new As4BytesCapabilityBuilder()
.setAsNumber(new AsNumber(Uint32.valueOf(80))).build()).build());
- final List<OptionalCapabilities> optCapabilities = Lists.newArrayList();
+ final List<OptionalCapabilities> optCapabilities = new ArrayList<>();
optCapabilities.add(optCapabilitiesBuilder.build());
optCapabilities.add(optCapabilitiesBuilder2.build());
private static OpenMessage createOpen(final boolean mutiprotocol) {
final SentOpenBuilder sentOpenBuilder = new SentOpenBuilder()
- .setBgpIdentifier(new Ipv4Address(IPV4_ADDRESS_20))
+ .setBgpIdentifier(IPV4_ADDRESS_20)
.setHoldTimer(Uint16.valueOf(1000))
.setMyAsNumber(Uint16.valueOf(72))
.setBgpParameters(createBgpParameters(mutiprotocol));
}
public static RouteMonitoringMessage createRouteMonitMsg(final boolean withNormalizedIpv4Prefixes,
- final Ipv4Address bgpId, final AdjRibInType ribType) {
- final RouteMonitoringMessageBuilder routeMonitMsgBuilder = new RouteMonitoringMessageBuilder()
+ final Ipv4AddressNoZone bgpId, final AdjRibInType ribType) {
+ return new RouteMonitoringMessageBuilder()
.setPeerHeader(createPeerHeader(bgpId, ribType))
- .setUpdate(createUpdate(withNormalizedIpv4Prefixes));
- return routeMonitMsgBuilder.build();
+ .setUpdate(createUpdate(withNormalizedIpv4Prefixes))
+ .build();
}
- public static RouteMirroringMessage createRouteMirrorMsg(final Ipv4Address bgpId) {
+ public static RouteMirroringMessage createRouteMirrorMsg(final Ipv4AddressNoZone bgpId) {
final RouteMirroringMessageBuilder routeMirrorMsgBuilder = new RouteMirroringMessageBuilder()
.setPeerHeader(createPeerHeader(bgpId));
final org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bmp.message.rev180329.mirror
private static Attributes createAttributes() {
final List<AsNumber> asSequences = Lists.newArrayList(new AsNumber(Uint32.valueOf(72)),
new AsNumber(Uint32.valueOf(82)), new AsNumber(Uint32.valueOf(92)));
- final List<Segments> segments = Lists.newArrayList();
+ final List<Segments> segments = new ArrayList<>();
final SegmentsBuilder segmentsBuild = new SegmentsBuilder();
segmentsBuild.setAsSequence(asSequences).build();
final AttributesBuilder attribBuilder = new AttributesBuilder()
.setAggregator(new AggregatorBuilder().setAsNumber(new AsNumber(Uint32.valueOf(72)))
- .setNetworkAddress(new Ipv4Address(IPV4_ADDRESS_20)).build())
+ .setNetworkAddress(IPV4_ADDRESS_20).build())
.setAigp(new AigpBuilder().setAigpTlv(new AigpTlvBuilder()
.setMetric(new AccumulatedIgpMetric(Uint64.ONE)).build()).build())
.setAsPath(new AsPathBuilder().setSegments(segments).build())
}
private static List<Communities> createCommunities() {
- final List<Communities> communities = Lists.newArrayList();
+ final List<Communities> communities = new ArrayList<>();
final CommunitiesBuilder commBuilder = new CommunitiesBuilder()
.setAsNumber(new AsNumber(Uint32.valueOf(65535)))
.setSemantics(Uint16.valueOf(65381));
return Lists.newArrayList(w1, w2, w3);
}
- public static StatsReportsMessage createStatsReportMsg(final Ipv4Address bgpId) {
+ public static StatsReportsMessage createStatsReportMsg(final Ipv4AddressNoZone bgpId) {
final StatsReportsMessageBuilder statsReportMsgBuilder = new StatsReportsMessageBuilder();
statsReportMsgBuilder.setPeerHeader(TestUtil.createPeerHeader(bgpId));
final org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bmp.message.rev180329.stat
}
- public static RouteMonitoringMessage createRouteMonMsgWithEndOfRibMarker(final Ipv4Address bgpId,
+ public static RouteMonitoringMessage createRouteMonMsgWithEndOfRibMarker(final Ipv4AddressNoZone bgpId,
final AdjRibInType ribType) {
return new RouteMonitoringMessageBuilder().setPeerHeader(createPeerHeader(bgpId, ribType))
.setUpdate(createEndOfRibMarker()).build();
private static Update createEndOfRibMarker() {
return new UpdateBuilder().build();
}
-
}
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.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.IpAddressNoZone;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Timestamp;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bmp.message.rev180329.AdjRibInType;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bmp.message.rev180329.Peer.PeerDistinguisher;
}
if (phBuilder.isIpv4()) {
bytes.skipBytes(Ipv6Util.IPV6_LENGTH - Ipv4Util.IP4_LENGTH);
- phBuilder.setAddress(new IpAddress(Ipv4Util.addressForByteBuf(bytes)));
+ phBuilder.setAddress(new IpAddressNoZone(Ipv4Util.addressForByteBuf(bytes)));
} else {
- phBuilder.setAddress(new IpAddress(Ipv6Util.addressForByteBuf(bytes)));
+ phBuilder.setAddress(new IpAddressNoZone(Ipv6Util.addressForByteBuf(bytes)));
}
phBuilder.setAs(new AsNumber(ByteBufUtils.readUint32(bytes)));
phBuilder.setBgpId(Ipv4Util.addressForByteBuf(bytes));
}
if (peerHeader.isIpv4()) {
output.writeZero(Ipv6Util.IPV6_LENGTH - Ipv4Util.IP4_LENGTH);
- Ipv4Util.writeIpv4Address(peerHeader.getAddress().getIpv4Address(), output);
+ Ipv4Util.writeIpv4Address(peerHeader.getAddress().getIpv4AddressNoZone(), output);
} else {
- Ipv6Util.writeIpv6Address(peerHeader.getAddress().getIpv6Address(), output);
+ Ipv6Util.writeIpv6Address(peerHeader.getAddress().getIpv6AddressNoZone(), output);
}
ByteBufUtils.write(output, peerHeader.getAs().getValue());
Ipv4Util.writeIpv4Address(peerHeader.getBgpId(), output);
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.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.Timestamp;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.types.rev180329.RdTwoOctetAs;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.types.rev180329.RouteDistinguisher;
.setType(PeerType.forValue(0))
.setAdjRibInType(AdjRibInType.forValue(1))
.setIpv4(true)
- .setAddress(new IpAddress(new Ipv4Address("192.168.1.1")))
+ .setAddress(new IpAddressNoZone(new Ipv4AddressNoZone("192.168.1.1")))
.setAs(new AsNumber(Uint32.valueOf(168)))
- .setBgpId(new Ipv4Address("1.1.1.1"))
+ .setBgpId(new Ipv4AddressNoZone("1.1.1.1"))
.setTimestampSec(new Timestamp(Uint32.valueOf(16909060)))
.setTimestampMicro(new Timestamp(Uint32.valueOf(16909060)))
.build());
new RouteDistinguisher(new RdTwoOctetAs("0:" + RD))))
.setAdjRibInType(AdjRibInType.forValue(1))
.setIpv4(false)
- .setAddress(new IpAddress(new Ipv6Address("2001::1")))
+ .setAddress(new IpAddressNoZone(new Ipv6AddressNoZone("2001::1")))
.setAs(new AsNumber(Uint32.valueOf(168)))
- .setBgpId(new Ipv4Address("1.1.1.2"))
+ .setBgpId(new Ipv4AddressNoZone("1.1.1.2"))
.setTimestampSec(new Timestamp(Uint32.ZERO))
.setTimestampMicro(new Timestamp(Uint32.ZERO));
}
leaf listen-address {
- type inet:ip-address;
+ type inet:ip-address-no-zone;
default "0.0.0.0";
}
}
}
}
-}
\ No newline at end of file
+}
* 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.pcep.parser.object;
-import com.google.common.base.Preconditions;
+import static com.google.common.base.Preconditions.checkArgument;
+
import io.netty.buffer.ByteBuf;
import org.opendaylight.protocol.pcep.spi.PCEPDeserializerException;
import org.opendaylight.protocol.util.Ipv4Util;
@Override
public Object parseObject(final ObjectHeader header, final ByteBuf buffer) throws PCEPDeserializerException {
- Preconditions.checkArgument(buffer != null && buffer.isReadable(),
- "Array of bytes is mandatory. Can't be null or empty.");
- return
- new PccIdReqBuilder().setIpAddress(new IpAddressNoZone(Ipv4Util.noZoneAddressForByteBuf(buffer))).build();
+ checkArgument(buffer != null && buffer.isReadable(), "Array of bytes is mandatory. Can't be null or empty.");
+ return new PccIdReqBuilder().setIpAddress(new IpAddressNoZone(Ipv4Util.addressForByteBuf(buffer))).build();
}
}
* 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.pcep.parser.object;
-import com.google.common.base.Preconditions;
+import static com.google.common.base.Preconditions.checkArgument;
+
import io.netty.buffer.ByteBuf;
import org.opendaylight.protocol.pcep.spi.PCEPDeserializerException;
import org.opendaylight.protocol.util.Ipv6Util;
@Override
public Object parseObject(final ObjectHeader header, final ByteBuf buffer) throws PCEPDeserializerException {
- Preconditions.checkArgument(buffer != null && buffer.isReadable(),
- "Array of bytes is mandatory. Can't be null or empty.");
- return
- new PccIdReqBuilder().setIpAddress(new IpAddressNoZone(Ipv6Util.noZoneAddressForByteBuf(buffer))).build();
+ checkArgument(buffer != null && buffer.isReadable(), "Array of bytes is mandatory. Can't be null or empty.");
+ return new PccIdReqBuilder().setIpAddress(new IpAddressNoZone(Ipv6Util.addressForByteBuf(buffer))).build();
}
}
* 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.pcep.parser.object;
-import com.google.common.base.Preconditions;
+import static com.google.common.base.Preconditions.checkArgument;
+
import io.netty.buffer.ByteBuf;
import org.opendaylight.protocol.pcep.spi.PCEPDeserializerException;
import org.opendaylight.protocol.util.Ipv4Util;
@Override
public Object parseObject(final ObjectHeader header, final ByteBuf buffer) throws PCEPDeserializerException {
- Preconditions.checkArgument(buffer != null && buffer.isReadable(),
- "Array of bytes is mandatory. Can't be null or empty.");
- return new PceIdBuilder().setIpAddress(new IpAddressNoZone(Ipv4Util.noZoneAddressForByteBuf(buffer))).build();
+ checkArgument(buffer != null && buffer.isReadable(), "Array of bytes is mandatory. Can't be null or empty.");
+ return new PceIdBuilder().setIpAddress(new IpAddressNoZone(Ipv4Util.addressForByteBuf(buffer))).build();
}
}
* 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.pcep.parser.object;
-import com.google.common.base.Preconditions;
+import static com.google.common.base.Preconditions.checkArgument;
+
import io.netty.buffer.ByteBuf;
import org.opendaylight.protocol.pcep.spi.PCEPDeserializerException;
import org.opendaylight.protocol.util.Ipv6Util;
@Override
public Object parseObject(final ObjectHeader header, final ByteBuf buffer) throws PCEPDeserializerException {
- Preconditions.checkArgument(buffer != null && buffer.isReadable(),
- "Array of bytes is mandatory. Can't be null or empty.");
- return new PceIdBuilder().setIpAddress(new IpAddressNoZone(Ipv6Util.noZoneAddressForByteBuf(buffer))).build();
+ checkArgument(buffer != null && buffer.isReadable(), "Array of bytes is mandatory. Can't be null or empty.");
+ return new PceIdBuilder().setIpAddress(new IpAddressNoZone(Ipv6Util.addressForByteBuf(buffer))).build();
}
}
throw new PCEPDeserializerException("Wrong length of array of bytes.");
}
final Ipv4Builder ipv4bldr = new Ipv4Builder()
- .setSourceIpv4Address(Ipv4Util.noZoneAddressForByteBuf(bytes))
- .setDestinationIpv4Address(Ipv4Util.noZoneAddressForByteBuf(bytes));
+ .setSourceIpv4Address(Ipv4Util.addressForByteBuf(bytes))
+ .setDestinationIpv4Address(Ipv4Util.addressForByteBuf(bytes));
builder.setIgnore(header.isIgnore())
.setProcessingRule(header.isProcessingRule())
.setAddressFamily(new Ipv4CaseBuilder().setIpv4(ipv4bldr.build()).build());
throw new PCEPDeserializerException("Wrong length of array of bytes.");
}
final Ipv6Builder ipv6bldr = new Ipv6Builder()
- .setSourceIpv6Address(Ipv6Util.noZoneAddressForByteBuf(bytes))
- .setDestinationIpv6Address(Ipv6Util.noZoneAddressForByteBuf(bytes));
- builder.setIgnore(header.isIgnore())
+ .setSourceIpv6Address(Ipv6Util.addressForByteBuf(bytes))
+ .setDestinationIpv6Address(Ipv6Util.addressForByteBuf(bytes));
+ return builder.setIgnore(header.isIgnore())
.setProcessingRule(header.isProcessingRule())
- .setAddressFamily(new Ipv6CaseBuilder().setIpv6(ipv6bldr.build()).build());
- return builder.build();
+ .setAddressFamily(new Ipv6CaseBuilder().setIpv6(ipv6bldr.build()).build())
+ .build();
}
}
builder.setProcessingRule(header.isProcessingRule());
final P2mpIpv4Builder p2mpIpv4Builder = new P2mpIpv4Builder();
p2mpIpv4Builder.setP2mpLeaves(P2mpLeaves.forValue(bytes.readInt()));
- p2mpIpv4Builder.setSourceIpv4Address(Ipv4Util.noZoneAddressForByteBuf(bytes));
+ p2mpIpv4Builder.setSourceIpv4Address(Ipv4Util.addressForByteBuf(bytes));
List<Ipv4AddressNoZone> dest = new ArrayList<>();
while (bytes.isReadable()) {
- dest.add(Ipv4Util.noZoneAddressForByteBuf(bytes));
+ dest.add(Ipv4Util.addressForByteBuf(bytes));
}
p2mpIpv4Builder.setDestinationIpv4Address(dest);
builder.setAddressFamily(new P2mpIpv4CaseBuilder().setP2mpIpv4(p2mpIpv4Builder.build()).build());
final P2mpIpv6Builder p2mpIpv6Builder = new P2mpIpv6Builder()
.setP2mpLeaves(P2mpLeaves.forValue(bytes.readInt()))
- .setSourceIpv6Address(Ipv6Util.noZoneAddressForByteBuf(bytes));
+ .setSourceIpv6Address(Ipv6Util.addressForByteBuf(bytes));
List<Ipv6AddressNoZone> dest = new ArrayList<>();
while (bytes.isReadable()) {
- dest.add(Ipv6Util.noZoneAddressForByteBuf(bytes));
+ dest.add(Ipv6Util.addressForByteBuf(bytes));
}
p2mpIpv6Builder.setDestinationIpv6Address(dest);
- final EndpointsObjBuilder builder = new EndpointsObjBuilder()
+ return new EndpointsObjBuilder()
.setIgnore(header.isIgnore())
.setProcessingRule(header.isProcessingRule())
- .setAddressFamily(new P2mpIpv6CaseBuilder().setP2mpIpv6(p2mpIpv6Builder.build()).build());
- return builder.build();
+ .setAddressFamily(new P2mpIpv6CaseBuilder().setP2mpIpv6(p2mpIpv6Builder.build()).build())
+ .build();
}
}
builder.setProcessingRule(header.isProcessingRule());
List<Ipv4AddressNoZone> dest = new ArrayList<>();
while (bytes.isReadable()) {
- dest.add(Ipv4Util.noZoneAddressForByteBuf(bytes));
+ dest.add(Ipv4Util.addressForByteBuf(bytes));
}
builder.setDestination(new Ipv4DestinationCaseBuilder().setDestinationIpv4Address(dest).build());
return builder.build();
builder.setProcessingRule(header.isProcessingRule());
List<Ipv6AddressNoZone> dest = new ArrayList<>();
while (bytes.isReadable()) {
- dest.add(Ipv6Util.noZoneAddressForByteBuf(bytes));
+ dest.add(Ipv6Util.addressForByteBuf(bytes));
}
- builder.setDestination(new Ipv6DestinationCaseBuilder().setDestinationIpv6Address(dest).build());
- return builder.build();
+ return builder.setDestination(new Ipv6DestinationCaseBuilder().setDestinationIpv6Address(dest).build())
+ .build();
}
}
checkArgument(buffer.readableBytes() == V4_LENGTH, "Length %s does not match LSP Identifiers Ipv4 tlv length.",
buffer.readableBytes());
final Ipv4Builder builder = new Ipv4Builder()
- .setIpv4TunnelSenderAddress(Ipv4Util.noZoneAddressForByteBuf(buffer));
+ .setIpv4TunnelSenderAddress(Ipv4Util.addressForByteBuf(buffer));
final LspId lspId = new LspId(Uint32.valueOf(buffer.readUnsignedShort()));
final TunnelId tunnelId = new TunnelId(ByteBufUtils.readUint16(buffer));
- builder.setIpv4ExtendedTunnelId(new Ipv4ExtendedTunnelId(Ipv4Util.noZoneAddressForByteBuf(buffer)));
- builder.setIpv4TunnelEndpointAddress(Ipv4Util.noZoneAddressForByteBuf(buffer));
+ builder.setIpv4ExtendedTunnelId(new Ipv4ExtendedTunnelId(Ipv4Util.addressForByteBuf(buffer)));
+ builder.setIpv4TunnelEndpointAddress(Ipv4Util.addressForByteBuf(buffer));
final AddressFamily afi = new Ipv4CaseBuilder().setIpv4(builder.build()).build();
return new LspIdentifiersBuilder()
.setAddressFamily(afi)
checkArgument(buffer.readableBytes() == V6_LENGTH, "Length %s does not match LSP Identifiers Ipv6 tlv length.",
buffer.readableBytes());
final Ipv6Builder builder = new Ipv6Builder();
- builder.setIpv6TunnelSenderAddress(Ipv6Util.noZoneAddressForByteBuf(buffer));
+ builder.setIpv6TunnelSenderAddress(Ipv6Util.addressForByteBuf(buffer));
final LspId lspId = new LspId(Uint32.valueOf(buffer.readUnsignedShort()));
final TunnelId tunnelId = new TunnelId(ByteBufUtils.readUint16(buffer));
- builder.setIpv6ExtendedTunnelId(new Ipv6ExtendedTunnelId(Ipv6Util.noZoneAddressForByteBuf(buffer)));
- builder.setIpv6TunnelEndpointAddress(Ipv6Util.noZoneAddressForByteBuf(buffer));
+ builder.setIpv6ExtendedTunnelId(new Ipv6ExtendedTunnelId(Ipv6Util.addressForByteBuf(buffer)));
+ builder.setIpv6TunnelEndpointAddress(Ipv6Util.addressForByteBuf(buffer));
final AddressFamily afi = new Ipv6CaseBuilder().setIpv6(builder.build()).build();
return new LspIdentifiersBuilder().setAddressFamily(afi).setLspId(lspId).setTunnelId(tunnelId).build();
}
private static RsvpCase parseRsvp(final int classType, final ByteBuf buffer) {
final RsvpErrorBuilder builder = new RsvpErrorBuilder();
if (classType == RSVP_IPV4_ERROR_CLASS_TYPE) {
- builder.setNode(new IpAddressNoZone(Ipv4Util.noZoneAddressForByteBuf(buffer)));
+ builder.setNode(new IpAddressNoZone(Ipv4Util.addressForByteBuf(buffer)));
} else if (classType == RSVP_IPV6_ERROR_CLASS_TYPE) {
- builder.setNode(new IpAddressNoZone(Ipv6Util.noZoneAddressForByteBuf(buffer)));
+ builder.setNode(new IpAddressNoZone(Ipv6Util.addressForByteBuf(buffer)));
}
final BitArray flags = BitArray.valueOf(buffer, FLAGS_SIZE);
builder.setFlags(new Flags(flags.get(IN_PLACE), flags.get(NOT_GUILTY)));
final LspIdentifiers tlv3 = new LspIdentifiersBuilder()
.setAddressFamily(new Ipv4CaseBuilder()
.setIpv4(new Ipv4Builder()
- .setIpv4TunnelSenderAddress(Ipv4Util.noZoneAddressForByteBuf(Unpooled.wrappedBuffer(
+ .setIpv4TunnelSenderAddress(Ipv4Util.addressForByteBuf(Unpooled.wrappedBuffer(
new byte[] { (byte) 0x12, (byte) 0x34, (byte) 0x56, (byte) 0x78 })))
- .setIpv4ExtendedTunnelId(new Ipv4ExtendedTunnelId(Ipv4Util.noZoneAddressForByteBuf(
+ .setIpv4ExtendedTunnelId(new Ipv4ExtendedTunnelId(Ipv4Util.addressForByteBuf(
Unpooled.wrappedBuffer(new byte[] { (byte) 0x12, (byte) 0x34, (byte) 0x56, (byte) 0x78 }))))
- .setIpv4TunnelEndpointAddress(Ipv4Util.noZoneAddressForByteBuf(Unpooled.wrappedBuffer(
+ .setIpv4TunnelEndpointAddress(Ipv4Util.addressForByteBuf(Unpooled.wrappedBuffer(
new byte[] { (byte) 0x12, (byte) 0x34, (byte) 0x56, (byte) 0x78 })))
.build())
.build())
final RsvpErrorSpec tlv4 = new RsvpErrorSpecBuilder()
.setErrorType(new RsvpCaseBuilder()
.setRsvpError(new RsvpErrorBuilder()
- .setNode(new IpAddressNoZone(Ipv4Util.noZoneAddressForByteBuf(Unpooled.wrappedBuffer(
+ .setNode(new IpAddressNoZone(Ipv4Util.addressForByteBuf(Unpooled.wrappedBuffer(
new byte[] { (byte) 0x12, (byte) 0x34, (byte) 0x56, (byte) 0x78 }))))
.setFlags(new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev150820
.ErrorSpec.Flags(false, true))
public void testLspIdentifiers4Tlv() throws PCEPDeserializerException {
final Stateful07LSPIdentifierIpv4TlvParser parser = new Stateful07LSPIdentifierIpv4TlvParser();
final Ipv4Builder afi = new Ipv4Builder();
- afi.setIpv4TunnelSenderAddress(Ipv4Util.noZoneAddressForByteBuf(Unpooled.wrappedBuffer(
+ afi.setIpv4TunnelSenderAddress(Ipv4Util.addressForByteBuf(Unpooled.wrappedBuffer(
new byte[] { (byte) 0x12, (byte) 0x34, (byte) 0x56, (byte) 0x78 })));
- afi.setIpv4ExtendedTunnelId(new Ipv4ExtendedTunnelId(Ipv4Util.noZoneAddressForByteBuf(
+ afi.setIpv4ExtendedTunnelId(new Ipv4ExtendedTunnelId(Ipv4Util.addressForByteBuf(
Unpooled.wrappedBuffer(new byte[] { (byte) 0x12, (byte) 0x34, (byte) 0x56, (byte) 0x78 }))));
- afi.setIpv4TunnelEndpointAddress(Ipv4Util.noZoneAddressForByteBuf(Unpooled.wrappedBuffer(
+ afi.setIpv4TunnelEndpointAddress(Ipv4Util.addressForByteBuf(Unpooled.wrappedBuffer(
new byte[] { (byte) 0x12, (byte) 0x34, (byte) 0x56, (byte) 0x78 })));
final LspIdentifiers tlv = new LspIdentifiersBuilder().setAddressFamily(
new Ipv4CaseBuilder().setIpv4(afi.build()).build()).setLspId(new LspId(Uint32.valueOf(65535)))
public void testLspIdentifiers6Tlv() throws PCEPDeserializerException {
final Stateful07LSPIdentifierIpv6TlvParser parser = new Stateful07LSPIdentifierIpv6TlvParser();
final Ipv6Builder afi = new Ipv6Builder();
- afi.setIpv6TunnelSenderAddress(Ipv6Util.noZoneAddressForByteBuf(Unpooled.wrappedBuffer(
+ afi.setIpv6TunnelSenderAddress(Ipv6Util.addressForByteBuf(Unpooled.wrappedBuffer(
new byte[] {
(byte) 0x12, (byte) 0x34, (byte) 0x56, (byte) 0x78,
(byte) 0x9A, (byte) 0xBC, (byte) 0xDE, (byte) 0xF0, (byte) 0x12, (byte) 0x34, (byte) 0x56, (byte) 0x78,
(byte) 0x9A, (byte) 0xBC, (byte) 0xDE, (byte) 0xF0
})));
- afi.setIpv6ExtendedTunnelId(new Ipv6ExtendedTunnelId(Ipv6Util.noZoneAddressForByteBuf(Unpooled.wrappedBuffer(
+ afi.setIpv6ExtendedTunnelId(new Ipv6ExtendedTunnelId(Ipv6Util.addressForByteBuf(Unpooled.wrappedBuffer(
new byte[] {
(byte) 0x12, (byte) 0x34, (byte) 0x56,
(byte) 0x78, (byte) 0x12, (byte) 0x34, (byte) 0x56, (byte) 0x78, (byte) 0x01, (byte) 0x23, (byte) 0x45,
(byte) 0x67, (byte) 0x01, (byte) 0x23, (byte) 0x45, (byte) 0x67
}))));
- afi.setIpv6TunnelEndpointAddress(Ipv6Util.noZoneAddressForByteBuf(Unpooled.wrappedBuffer(
+ afi.setIpv6TunnelEndpointAddress(Ipv6Util.addressForByteBuf(Unpooled.wrappedBuffer(
new byte[] {
(byte) 0x12, (byte) 0x34, (byte) 0x56, (byte) 0x78,
(byte) 0x9A, (byte) 0xBC, (byte) 0xDE, (byte) 0xF0, (byte) 0x12, (byte) 0x34, (byte) 0x56, (byte) 0x78,
public void testRSVPError4SpecTlv() throws PCEPDeserializerException {
final Stateful07RSVPErrorSpecTlvParser parser = new Stateful07RSVPErrorSpecTlvParser();
final RsvpErrorBuilder builder = new RsvpErrorBuilder()
- .setNode(new IpAddressNoZone(Ipv4Util.noZoneAddressForByteBuf(Unpooled.wrappedBuffer(
+ .setNode(new IpAddressNoZone(Ipv4Util.addressForByteBuf(Unpooled.wrappedBuffer(
new byte[] { (byte) 0x12, (byte) 0x34, (byte) 0x56, (byte) 0x78 }))))
.setFlags(new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev150820.ErrorSpec
.Flags(false, true))
public void testRSVPError6SpecTlv() throws PCEPDeserializerException {
final Stateful07RSVPErrorSpecTlvParser parser = new Stateful07RSVPErrorSpecTlvParser();
final RsvpErrorBuilder builder = new RsvpErrorBuilder()
- .setNode(new IpAddressNoZone(Ipv6Util.noZoneAddressForByteBuf(Unpooled.wrappedBuffer(new byte[] {
+ .setNode(new IpAddressNoZone(Ipv6Util.addressForByteBuf(Unpooled.wrappedBuffer(new byte[] {
(byte) 0x12, (byte) 0x34, (byte) 0x56, (byte) 0x78,
(byte) 0x9a, (byte) 0xbc, (byte) 0xde, (byte) 0xf0, (byte) 0x12, (byte) 0x34, (byte) 0x56,
(byte) 0x78, (byte) 0x9a, (byte) 0xbc, (byte) 0xde, (byte) 0xf0
final ByteBuf result
= Unpooled.wrappedBuffer(ByteArray.fileToBytes("src/test/resources/PCEPEndPointsObject1IPv4.bin"));
- final EndpointsObjBuilder builder = new EndpointsObjBuilder();
- builder.setProcessingRule(true);
- builder.setIgnore(false);
- builder.setAddressFamily(new Ipv4CaseBuilder().setIpv4(
- new Ipv4Builder().setSourceIpv4Address(Ipv4Util.noZoneAddressForByteBuf(Unpooled.wrappedBuffer(srcIPBytes)))
- .setDestinationIpv4Address(
- Ipv4Util.noZoneAddressForByteBuf(Unpooled.wrappedBuffer(destIPBytes))).build()).build());
+ final EndpointsObjBuilder builder = new EndpointsObjBuilder()
+ .setProcessingRule(true)
+ .setIgnore(false)
+ .setAddressFamily(new Ipv4CaseBuilder()
+ .setIpv4(new Ipv4Builder()
+ .setSourceIpv4Address(Ipv4Util.addressForByteBuf(Unpooled.wrappedBuffer(srcIPBytes)))
+ .setDestinationIpv4Address(Ipv4Util.addressForByteBuf(Unpooled.wrappedBuffer(destIPBytes)))
+ .build())
+ .build());
assertEquals(builder.build(), parser.parseObject(new ObjectHeaderImpl(true, false),
result.slice(4, result.readableBytes() - 4)));
builder.setIgnore(false);
builder.setAddressFamily(new P2mpIpv4CaseBuilder().setP2mpIpv4(new P2mpIpv4Builder()
.setP2mpLeaves(P2mpLeaves.NewLeavesToAdd)
- .setSourceIpv4Address(Ipv4Util.noZoneAddressForByteBuf(Unpooled.wrappedBuffer(srcIPBytes)))
+ .setSourceIpv4Address(Ipv4Util.addressForByteBuf(Unpooled.wrappedBuffer(srcIPBytes)))
.setDestinationIpv4Address(Arrays.asList(new Ipv4AddressNoZone("255.255.255.255"),
new Ipv4AddressNoZone("255.255.255.252"))).build()).build());
builder.setProcessingRule(true);
builder.setIgnore(false);
builder.setAddressFamily(new Ipv6CaseBuilder().setIpv6(
- new Ipv6Builder().setSourceIpv6Address(Ipv6Util.noZoneAddressForByteBuf(Unpooled.wrappedBuffer(srcIPBytes)))
- .setDestinationIpv6Address(Ipv6Util.noZoneAddressForByteBuf(Unpooled.wrappedBuffer(destIPBytes)))
+ new Ipv6Builder().setSourceIpv6Address(Ipv6Util.addressForByteBuf(Unpooled.wrappedBuffer(srcIPBytes)))
+ .setDestinationIpv6Address(Ipv6Util.addressForByteBuf(Unpooled.wrappedBuffer(destIPBytes)))
.build()).build());
assertEquals(builder.build(), parser.parseObject(new ObjectHeaderImpl(true, false),
builder.setIgnore(false);
builder.setAddressFamily(new P2mpIpv6CaseBuilder().setP2mpIpv6(new P2mpIpv6Builder()
.setP2mpLeaves(P2mpLeaves.NewLeavesToAdd)
- .setSourceIpv6Address(Ipv6Util.noZoneAddressForByteBuf(Unpooled.wrappedBuffer(srcIPBytes)))
+ .setSourceIpv6Address(Ipv6Util.addressForByteBuf(Unpooled.wrappedBuffer(srcIPBytes)))
.setDestinationIpv6Address(Arrays.asList(
new Ipv6AddressNoZone("2:5dd2:ffec:a1b6:581e:9f50::"),
new Ipv6AddressNoZone("3:5dd2:ffec:a1b6:581e:9f50::")
* 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.pcep.pcc.mock;
-import com.google.common.base.Preconditions;
+import static com.google.common.base.Preconditions.checkArgument;
+
import io.netty.buffer.ByteBuf;
import org.opendaylight.protocol.pcep.parser.object.end.points.PCEPEndPointsIpv4ObjectParser;
import org.opendaylight.protocol.pcep.spi.PCEPDeserializerException;
@Override
public Object parseObject(final ObjectHeader header, final ByteBuf bytes) throws PCEPDeserializerException {
- Preconditions.checkArgument(bytes != null && bytes.isReadable(),
- "Array of bytes is mandatory. Can't be null or empty.");
+ checkArgument(bytes != null && bytes.isReadable(), "Array of bytes is mandatory. Can't be null or empty.");
final EndpointsObjBuilder builder = new EndpointsObjBuilder();
if (bytes.readableBytes() != Ipv4Util.IP4_LENGTH * 2) {
throw new PCEPDeserializerException("Wrong length of array of bytes.");
builder.setIgnore(header.isIgnore());
builder.setProcessingRule(header.isProcessingRule());
final Ipv4Builder b = new Ipv4Builder();
- b.setSourceIpv4Address(Ipv4Util.noZoneAddressForByteBuf(bytes));
- b.setDestinationIpv4Address(Ipv4Util.noZoneAddressForByteBuf(bytes));
+ b.setSourceIpv4Address(Ipv4Util.addressForByteBuf(bytes));
+ b.setDestinationIpv4Address(Ipv4Util.addressForByteBuf(bytes));
builder.setAddressFamily(new Ipv4CaseBuilder().setIpv4(b.build()).build());
return builder.build();
}
* 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.pcep.pcc.mock;
import static org.junit.Assert.assertEquals;
import org.opendaylight.protocol.pcep.spi.ObjectHeaderImpl;
import org.opendaylight.protocol.pcep.spi.PCEPDeserializerException;
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.pcep.types.rev181109.ObjectHeader;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.endpoints.address.family.Ipv4Case;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.endpoints.object.EndpointsObj;
public void testParseObject() throws PCEPDeserializerException {
final ObjectHeader header = new ObjectHeaderImpl(false, false);
final ByteBuf bytes = Unpooled.buffer();
- bytes.writeBytes(Ipv4Util.bytesForAddress(new Ipv4Address(IP1)));
- bytes.writeBytes(Ipv4Util.bytesForAddress(new Ipv4Address(IP2)));
+ bytes.writeBytes(Ipv4Util.bytesForAddress(new Ipv4AddressNoZone(IP1)));
+ bytes.writeBytes(Ipv4Util.bytesForAddress(new Ipv4AddressNoZone(IP2)));
final EndpointsObj output = (EndpointsObj) new PCCEndPointIpv4ObjectParser().parseObject(header, bytes);
assertEquals(IP1, ((Ipv4Case) output.getAddressFamily()).getIpv4().getSourceIpv4Address().getValue());
private static Nai parseNai(final SidType sidType, final ByteBuf buffer) {
switch (sidType) {
case Ipv4NodeId:
- return new IpNodeIdBuilder().setIpAddress(
- new IpAddressNoZone(Ipv4Util.noZoneAddressForByteBuf(buffer))).build();
+ return new IpNodeIdBuilder().setIpAddress(new IpAddressNoZone(Ipv4Util.addressForByteBuf(buffer)))
+ .build();
case Ipv6NodeId:
- return new IpNodeIdBuilder().setIpAddress(
- new IpAddressNoZone(Ipv6Util.noZoneAddressForByteBuf(buffer))).build();
+ return new IpNodeIdBuilder().setIpAddress(new IpAddressNoZone(Ipv6Util.addressForByteBuf(buffer)))
+ .build();
case Ipv4Adjacency:
return new IpAdjacencyBuilder()
- .setLocalIpAddress(new IpAddressNoZone(Ipv4Util.noZoneAddressForByteBuf(buffer)))
- .setRemoteIpAddress(new IpAddressNoZone(Ipv4Util.noZoneAddressForByteBuf(buffer))).build();
+ .setLocalIpAddress(new IpAddressNoZone(Ipv4Util.addressForByteBuf(buffer)))
+ .setRemoteIpAddress(new IpAddressNoZone(Ipv4Util.addressForByteBuf(buffer))).build();
case Ipv6Adjacency:
return new IpAdjacencyBuilder()
- .setLocalIpAddress(new IpAddressNoZone(Ipv6Util.noZoneAddressForByteBuf(buffer)))
- .setRemoteIpAddress(new IpAddressNoZone(Ipv6Util.noZoneAddressForByteBuf(buffer))).build();
+ .setLocalIpAddress(new IpAddressNoZone(Ipv6Util.addressForByteBuf(buffer)))
+ .setRemoteIpAddress(new IpAddressNoZone(Ipv6Util.addressForByteBuf(buffer))).build();
case Unnumbered:
return new UnnumberedAdjacencyBuilder()
.setLocalNodeId(ByteBufUtils.readUint32(buffer))
nor its relationship to other control, management, or
data plane addresses.";
- type inet:ip-address;
+ type inet:ip-address-no-zone;
}
container stateful-tlv {
import org.opendaylight.protocol.pcep.PCEPSession;
import org.opendaylight.protocol.pcep.PCEPTerminationReason;
import org.opendaylight.protocol.pcep.TerminationReason;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddressBuilder;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddressNoZoneBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.ietf.stateful.rev181109.LspObject;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.ietf.stateful.rev181109.Path1;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.ietf.stateful.rev181109.lsp.object.Lsp;
onSessionUp(psession, pccBuilder);
this.synced.set(isSynchronized());
- pccBuilder.setIpAddress(IpAddressBuilder.getDefaultInstance(peerAddress.getHostAddress()));
+ pccBuilder.setIpAddress(IpAddressNoZoneBuilder.getDefaultInstance(peerAddress.getHostAddress()));
final InstanceIdentifier<Node1> topologyAugment = state.getNodeId().augmentation(Node1.class);
this.pccIdentifier = topologyAugment.child(PathComputationClient.class);
final Node initialNodeState = state.getInitialNodeState();
import org.opendaylight.protocol.concepts.KeyMapping;
import org.opendaylight.protocol.pcep.SpeakerIdMapping;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IetfInetUtil;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddressNoZone;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.PortNumber;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.rfc2385.cfg.rev160324.Rfc2385Key;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.topology.pcep.config.rev181109.PcepNodeConfig;
return ret;
}
- static InetSocketAddress getInetSocketAddress(final @NonNull IpAddress address, final @NonNull PortNumber port) {
- return new InetSocketAddress(IetfInetUtil.INSTANCE.inetAddressFor(address), port.getValue().toJava());
+ static InetSocketAddress getInetSocketAddress(final @NonNull IpAddressNoZone address,
+ final @NonNull PortNumber port) {
+ return new InetSocketAddress(IetfInetUtil.INSTANCE.inetAddressForNoZone(address), port.getValue().toJava());
}
static boolean filterPcepTopologies(final @Nullable TopologyTypes topologyTypes) {
import org.opendaylight.protocol.pcep.impl.DefaultPCEPSessionNegotiator;
import org.opendaylight.protocol.pcep.impl.PCEPSessionImpl;
import org.opendaylight.protocol.util.InetSocketAddressUtil;
-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.inet.types.rev130715.IpPrefix;
-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.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.PortNumber;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.config.rev171025.pcep.config.SessionConfig;
@SuppressWarnings("unchecked") final T listenerFactory = (T) ((Class) ((ParameterizedType) this.getClass()
.getGenericSuperclass()).getActualTypeArguments()[0]).newInstance();
- doReturn(new IpAddress(new Ipv4Address(this.testAddress))).when(this.sessionConfig).getListenAddress();
+ doReturn(new IpAddressNoZone(new Ipv4AddressNoZone(this.testAddress))).when(this.sessionConfig)
+ .getListenAddress();
doReturn(new PortNumber(Uint16.valueOf(4189))).when(this.sessionConfig).getListenPort();
doReturn(RPC_TIMEOUT).when(this.sessionConfig).getRpcTimeout();
doReturn(TEST_TOPOLOGY_ID).when(this.topology).getTopologyId();
Optional.of(MsgBuilderUtil.createSrp(Uint32.ZERO)), null);
this.listener.onMessage(this.session, esm);
readDataOperational(getDataBroker(), this.pathComputationClientIId, pcc -> {
- assertEquals(this.testAddress, pcc.getIpAddress().getIpv4Address().getValue());
+ assertEquals(this.testAddress, pcc.getIpAddress().getIpv4AddressNoZone().getValue());
// reported lsp so far empty, has not received response (PcRpt) yet
assertTrue(pcc.getReportedLsp().isEmpty());
return pcc;
import org.opendaylight.mdsal.binding.dom.adapter.test.AbstractConcurrentDataBrokerTest;
import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
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.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.network.concepts.rev131125.Bandwidth;
node1Builder.setPathComputationClient(new PathComputationClientBuilder()
.setStateSync(PccSyncState.Synchronized)
.setReportedLsp(Lists.newArrayList(reportedLps))
- .setIpAddress(new IpAddress(new Ipv4Address(ipv4Address)))
+ .setIpAddress(new IpAddressNoZone(new Ipv4AddressNoZone(ipv4Address)))
.build());
nodeBuilder.addAugmentation(Node1.class, node1Builder.build());
final WriteTransaction wTx = getDataBroker().newWriteOnlyTransaction();
public final class AssociationObjectParserIPV4 extends AbstractAssociationParser {
@Override
protected IpAddressNoZone parseAssociationIpAddress(final ByteBuf byteBuf) {
- return new IpAddressNoZone(Ipv4Util.noZoneAddressForByteBuf(byteBuf));
+ return new IpAddressNoZone(Ipv4Util.addressForByteBuf(byteBuf));
}
}
public final class AssociationObjectParserIPV6 extends AbstractAssociationParser {
@Override
protected IpAddressNoZone parseAssociationIpAddress(final ByteBuf byteBuf) {
- return new IpAddressNoZone(Ipv6Util.noZoneAddressForByteBuf(byteBuf));
+ return new IpAddressNoZone(Ipv6Util.addressForByteBuf(byteBuf));
}
}
final List<Plr> plrList = new ArrayList<>();
while (byteBuf.isReadable()) {
final PlrBuilder plr = new PlrBuilder();
- plr.setPlrId(Ipv4Util.noZoneAddressForByteBuf(byteBuf));
- plr.setAvoidNode(Ipv4Util.noZoneAddressForByteBuf(byteBuf));
+ plr.setPlrId(Ipv4Util.addressForByteBuf(byteBuf));
+ plr.setAvoidNode(Ipv4Util.addressForByteBuf(byteBuf));
plrList.add(plr.build());
}
return ipv4Case.setPlr(plrList).build();
while (plrId.isReadable()) {
final PlrIdBuilder plr = new PlrIdBuilder();
- plr.setPlrId(Ipv6Util.noZoneAddressForByteBuf(plrId));
+ plr.setPlrId(Ipv6Util.addressForByteBuf(plrId));
plrIdList.add(plr.build());
}
final List<AvoidNode> avoidNodeList = new ArrayList<>();
while (byteBuf.isReadable()) {
final AvoidNodeBuilder plr = new AvoidNodeBuilder();
- plr.setAvoidNode(Ipv6Util.noZoneAddressForByteBuf(byteBuf));
+ plr.setAvoidNode(Ipv6Util.addressForByteBuf(byteBuf));
avoidNodeList.add(plr.build());
}
import java.util.List;
import java.util.Map.Entry;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IetfInetUtil;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Address;
+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.Ipv4Prefix;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.PortNumber;
// Hidden on purpose
}
- /**
- * Reads from ByteBuf buffer and converts bytes to Ipv4Address.
- *
- * @param buffer containing Ipv4 address, starting at reader index
- * @return Ipv4Address
- */
- public static Ipv4Address addressForByteBuf(final ByteBuf buffer) {
- return IetfInetUtil.INSTANCE.ipv4AddressFor(ByteArray.readBytes(buffer, IP4_LENGTH));
- }
-
/**
* Reads from ByteBuf buffer and converts bytes to Ipv4Address.
*
* @param buffer containing Ipv4 address, starting at reader index
* @return Ipv4AddressNoZone
*/
- public static Ipv4AddressNoZone noZoneAddressForByteBuf(final ByteBuf buffer) {
+ public static Ipv4AddressNoZone addressForByteBuf(final ByteBuf buffer) {
return IetfInetUtil.INSTANCE.ipv4AddressNoZoneFor(ByteArray.readBytes(buffer, IP4_LENGTH));
}
* @param ipAddress Ipv4 address
* @return ByteBuf with filled in bytes from ipAddress
*/
- public static ByteBuf byteBufForAddress(final Ipv4Address ipAddress) {
+ public static ByteBuf byteBufForAddress(final Ipv4AddressNoZone ipAddress) {
return Unpooled.wrappedBuffer(bytesForAddress(ipAddress));
}
* @param address Ipv4Address to be converted
* @return byte array
*/
- public static byte[] bytesForAddress(final Ipv4Address address) {
- return IetfInetUtil.INSTANCE.ipv4AddressBytes(address);
+ public static byte[] bytesForAddress(final Ipv4AddressNoZone address) {
+ return IetfInetUtil.INSTANCE.ipv4AddressNoZoneBytes(address);
}
public static int prefixBitsToBytes(final int bits) {
* Converts InetAddress to IpAddress.
*
* @param inetAddress address
- * @return IpAddress
+ * @return IpAddressNoZone
*/
- public static IpAddress getIpAddress(final InetAddress inetAddress) {
- return IetfInetUtil.INSTANCE.ipAddressFor(inetAddress);
+ public static IpAddressNoZone getIpAddress(final InetAddress inetAddress) {
+ return IetfInetUtil.INSTANCE.ipAddressNoZoneFor(inetAddress);
}
/**
* @param port number
* @return InetSocketAddress
*/
- public static InetSocketAddress toInetSocketAddress(final IpAddress ipAddress, final PortNumber port) {
+ public static InetSocketAddress toInetSocketAddress(final IpAddressNoZone ipAddress, final PortNumber port) {
final String ipString = toStringIP(ipAddress);
return new InetSocketAddress(InetAddresses.forString(ipString), port.getValue().toJava());
}
* @param ipv4Address ipv4 address to be incremented
* @return new ipv4 address
*/
- public static Ipv4Address incrementIpv4Address(final Ipv4Address ipv4Address) {
- return new Ipv4Address(incrementIpv4Address(ipv4Address.getValue()));
+ public static Ipv4AddressNoZone incrementIpv4Address(final Ipv4AddressNoZone ipv4Address) {
+ return new Ipv4AddressNoZone(incrementIpv4Address(ipv4Address.getValue()));
}
public static Ipv4Prefix incrementIpv4Prefix(final Ipv4Prefix ipv4Prefix) {
- final Entry<Ipv4Address, Integer> splitIpv4Prefix = IetfInetUtil.INSTANCE.splitIpv4Prefix(ipv4Prefix);
+ final Entry<Ipv4AddressNoZone, Integer> splitIpv4Prefix =
+ IetfInetUtil.INSTANCE.splitIpv4PrefixNoZone(ipv4Prefix);
return IetfInetUtil.INSTANCE.ipv4PrefixFor(incrementIpv4Address(splitIpv4Prefix.getKey()),
splitIpv4Prefix.getValue());
}
* @param ipAddress address
* @return String value of Ipv4Address or Ipv6Address
*/
- public static String toStringIP(final IpAddress ipAddress) {
- if (ipAddress.getIpv4Address() != null) {
- return ipAddress.getIpv4Address().getValue();
- }
- return ipAddress.getIpv6Address().getValue();
- }
-
-
- /**
- * Writes IPv4 address if not null, otherwise writes zeros to the
- * <code>output</code> ByteBuf. ByteBuf's writerIndex is increased by 4.
- *
- * @param ipv4Address
- * IPv4 address to be written to the output.
- * @param output
- * ByteBuf, where ipv4Address or zeros are written.
- */
- public static void writeIpv4Address(final Ipv4Address ipv4Address, final ByteBuf output) {
- if (ipv4Address != null) {
- output.writeBytes(bytesForAddress(ipv4Address));
- } else {
- output.writeInt(0);
+ public static String toStringIP(final IpAddressNoZone ipAddress) {
+ if (ipAddress.getIpv4AddressNoZone() != null) {
+ return ipAddress.getIpv4AddressNoZone().getValue();
}
+ return ipAddress.getIpv6AddressNoZone().getValue();
}
/**
import java.util.Collections;
import java.util.List;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IetfInetUtil;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.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.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6Prefix;
* @param ip to be uncompressed
* @return Ipv6Address with same, but uncompressed, value
*/
- public static Ipv6Address getFullForm(final Ipv6Address ip) {
- return new Ipv6Address(InetAddresses.forString(ip.getValue()).getHostAddress());
+ public static Ipv6AddressNoZone getFullForm(final Ipv6AddressNoZone ip) {
+ return new Ipv6AddressNoZone(InetAddresses.forString(ip.getValue()).getHostAddress());
}
/**
* @param buffer containing Ipv6 address, starting at reader index
* @return Ipv6Address
*/
- public static Ipv6Address addressForByteBuf(final ByteBuf buffer) {
- return IetfInetUtil.INSTANCE.ipv6AddressFor(ByteArray.readBytes(buffer, IPV6_LENGTH));
- }
-
- /**
- * Reads from ByteBuf buffer and converts bytes to Ipv6AddressNoZone.
- *
- * @param buffer containing Ipv6 address, starting at reader index
- * @return Ipv6AddressNoZone
- */
- public static Ipv6AddressNoZone noZoneAddressForByteBuf(final ByteBuf buffer) {
+ public static Ipv6AddressNoZone addressForByteBuf(final ByteBuf buffer) {
return IetfInetUtil.INSTANCE.ipv6AddressNoZoneFor(ByteArray.readBytes(buffer, IPV6_LENGTH));
}
* @param ipAddress Ipv6 address
* @return ByteBuf with filled in bytes from ipAddress
*/
- public static ByteBuf byteBufForAddress(final Ipv6Address ipAddress) {
+ public static ByteBuf byteBufForAddress(final Ipv6AddressNoZone ipAddress) {
return Unpooled.wrappedBuffer(bytesForAddress(ipAddress));
}
* @param address Ipv6Address to be converted
* @return byte array
*/
- public static byte[] bytesForAddress(final Ipv6Address address) {
- return IetfInetUtil.INSTANCE.ipv6AddressBytes(address);
+ public static byte[] bytesForAddress(final Ipv6AddressNoZone address) {
+ return IetfInetUtil.INSTANCE.ipv6AddressNoZoneBytes(address);
}
/**
return list;
}
- /**
- * Writes IPv6 address if not null, otherwise writes zeros to the
- * <code>output</code> ByteBuf. ByteBuf's writerIndex is increased by 16.
- *
- * @param ipv6Address
- * IPv6 address to be written to the output.
- * @param output
- * ByteBuf, where ipv6Address or zeros are written.
- */
- public static void writeIpv6Address(final Ipv6Address ipv6Address, final ByteBuf output) {
- if (ipv6Address != null) {
- output.writeBytes(bytesForAddress(ipv6Address));
- } else {
- output.writeZero(IPV6_LENGTH);
- }
- }
-
/**
* Writes IPv6 address if not null, otherwise writes zeros to the
* <code>output</code> ByteBuf. ByteBuf's writerIndex is increased by 16.
import java.net.InetSocketAddress;
import java.net.UnknownHostException;
import java.util.List;
-import org.junit.Assert;
import org.junit.Test;
-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.inet.types.rev130715.IpPrefix;
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.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.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6Prefix;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.PortNumber;
import org.opendaylight.yangtools.yang.common.Uint16;
final ByteBuf bb4 = Unpooled.wrappedBuffer(new byte[]{123, 122, 4, 5});
final ByteBuf bb6 = Unpooled.wrappedBuffer(new byte[]{0x20, (byte) 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01});
- assertEquals(bb4, Ipv4Util.byteBufForAddress(new Ipv4Address("123.122.4.5")));
- assertEquals(bb6, Ipv6Util.byteBufForAddress(new Ipv6Address("2001::1")));
+ assertEquals(bb4, Ipv4Util.byteBufForAddress(new Ipv4AddressNoZone("123.122.4.5")));
+ assertEquals(bb6, Ipv6Util.byteBufForAddress(new Ipv6AddressNoZone("2001::1")));
}
@Test
public void testBytesForAddress() {
assertArrayEquals(new byte[]{12, 58, (byte) 201, 99},
- Ipv4Util.bytesForAddress(new Ipv4Address("12.58.201.99")));
+ Ipv4Util.bytesForAddress(new Ipv4AddressNoZone("12.58.201.99")));
assertArrayEquals(new byte[]{0x20, (byte) 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x01}, Ipv6Util.bytesForAddress(new Ipv6Address("2001::1")));
+ 0x00, 0x00, 0x00, 0x01}, Ipv6Util.bytesForAddress(new Ipv6AddressNoZone("2001::1")));
}
@Test
@Test
public void testFullFormOfIpv6() {
- assertEquals(new Ipv6Address("0:0:0:0:0:0:0:1"), Ipv6Util.getFullForm(new Ipv6Address("::1")));
+ assertEquals(new Ipv6Address("0:0:0:0:0:0:0:1"), Ipv6Util.getFullForm(new Ipv6AddressNoZone("::1")));
}
@Test
public void testInetAddressToIpAddress() {
- final IpAddress ipAddress = Ipv4Util.getIpAddress(InetAddresses.forString("123.42.13.8"));
- Assert.assertNotNull(ipAddress.getIpv4Address());
- Assert.assertEquals(new Ipv4Address("123.42.13.8"), ipAddress.getIpv4Address());
+ final IpAddressNoZone ipAddress = Ipv4Util.getIpAddress(InetAddresses.forString("123.42.13.8"));
+ assertNotNull(ipAddress.getIpv4AddressNoZone());
+ assertEquals(new Ipv4Address("123.42.13.8"), ipAddress.getIpv4AddressNoZone());
- final IpAddress ipAddress2 = Ipv4Util.getIpAddress(InetAddresses.forString("2001:db8:1:2::"));
- Assert.assertNotNull(ipAddress2.getIpv6Address());
- Assert.assertEquals(new Ipv6Address("2001:db8:1:2::"), ipAddress2.getIpv6Address());
+ final IpAddressNoZone ipAddress2 = Ipv4Util.getIpAddress(InetAddresses.forString("2001:db8:1:2::"));
+ assertNotNull(ipAddress2.getIpv6AddressNoZone());
+ assertEquals(new Ipv6Address("2001:db8:1:2::"), ipAddress2.getIpv6AddressNoZone());
}
@Test
public void testToInetSocketAddress() {
- final InetSocketAddress isa = Ipv4Util.toInetSocketAddress(new IpAddress(new Ipv4Address("123.42.13.8")),
- new PortNumber(Uint16.TEN));
- Assert.assertEquals(10, isa.getPort());
- Assert.assertEquals("123.42.13.8", InetAddresses.toAddrString(isa.getAddress()));
-
- final InetSocketAddress isa2 = Ipv4Util.toInetSocketAddress(new IpAddress(new Ipv6Address("2001:db8:1:2::")),
- new PortNumber(Uint16.TEN));
- Assert.assertEquals(10, isa2.getPort());
- Assert.assertEquals("2001:db8:1:2::", InetAddresses.toAddrString(isa2.getAddress()));
+ final InetSocketAddress isa = Ipv4Util.toInetSocketAddress(
+ new IpAddressNoZone(new Ipv4AddressNoZone("123.42.13.8")), new PortNumber(Uint16.TEN));
+ assertEquals(10, isa.getPort());
+ assertEquals("123.42.13.8", InetAddresses.toAddrString(isa.getAddress()));
+
+ final InetSocketAddress isa2 = Ipv4Util.toInetSocketAddress(
+ new IpAddressNoZone(new Ipv6AddressNoZone("2001:db8:1:2::")), new PortNumber(Uint16.TEN));
+ assertEquals(10, isa2.getPort());
+ assertEquals("2001:db8:1:2::", InetAddresses.toAddrString(isa2.getAddress()));
}
}
import io.netty.buffer.ByteBuf;
import io.netty.buffer.Unpooled;
import org.junit.Test;
-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;
public class Ipv4UtilTest {
public void testWriteIpv4Address() {
final byte[] result = { 127, 0, 0, 1 };
final ByteBuf output = Unpooled.buffer(Ipv4Util.IP4_LENGTH);
- writeIpv4Address(new Ipv4Address("127.0.0.1"), output);
+ writeIpv4Address(new Ipv4AddressNoZone("127.0.0.1"), output);
assertArrayEquals(result, output.array());
output.clear();
import io.netty.buffer.ByteBuf;
import io.netty.buffer.Unpooled;
import org.junit.Test;
-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.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6Prefix;
public class Ipv6UtilTest {
final byte[] result = { 0x20, (byte) 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x01 };
final ByteBuf output = Unpooled.buffer(Ipv6Util.IPV6_LENGTH);
- writeIpv6Address(new Ipv6Address("2001::1"), output);
+ writeIpv6Address(new Ipv6AddressNoZone("2001::1"), output);
assertArrayEquals(result, output.array());
output.clear();