2 * Copyright (c) 2016 Cisco Systems, Inc. and others. All rights reserved.
4 * This program and the accompanying materials are made available under the
5 * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6 * and is available at http://www.eclipse.org/legal/epl-v10.html
8 package org.opendaylight.lispflowmapping.lisp.util;
10 import static org.junit.Assert.assertArrayEquals;
11 import static org.junit.Assert.assertEquals;
12 import static org.junit.Assert.assertFalse;
13 import static org.junit.Assert.assertTrue;
14 import static org.opendaylight.yangtools.yang.common.UintConversions.fromJava;
16 import java.net.Inet4Address;
17 import java.net.Inet6Address;
18 import java.net.UnknownHostException;
19 import org.junit.Test;
20 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress;
21 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpPrefix;
22 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Address;
23 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Prefix;
24 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6Address;
25 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6Prefix;
26 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.InstanceIdType;
27 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.ServicePathIdType;
28 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.SimpleAddress;
29 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.lisp.address.Address;
30 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.lisp.address.address.InstanceId;
31 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.lisp.address.address.InstanceIdBuilder;
32 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.lisp.address.address.Ipv4Builder;
33 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.lisp.address.address.Ipv4PrefixBuilder;
34 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.lisp.address.address.Ipv6Builder;
35 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.lisp.address.address.Ipv6PrefixBuilder;
36 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.lisp.address.address.MacBuilder;
37 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.lisp.address.address.ServicePath;
38 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.lisp.address.address.ServicePathBuilder;
39 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.lisp.address.address.SourceDestKey;
40 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.lisp.address.address.SourceDestKeyBuilder;
41 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.MacAddress;
42 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.inet.binary.types.rev160303.Ipv4AddressBinary;
43 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.inet.binary.types.rev160303.Ipv6AddressBinary;
44 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.binary.address.types.rev160504.augmented.lisp.address.address.Ipv4BinaryBuilder;
45 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.binary.address.types.rev160504.augmented.lisp.address.address.Ipv4PrefixBinary;
46 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.binary.address.types.rev160504.augmented.lisp.address.address.Ipv4PrefixBinaryBuilder;
47 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.binary.address.types.rev160504.augmented.lisp.address.address.Ipv6BinaryBuilder;
48 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.binary.address.types.rev160504.augmented.lisp.address.address.Ipv6PrefixBinary;
49 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.binary.address.types.rev160504.augmented.lisp.address.address.Ipv6PrefixBinaryBuilder;
50 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.eid.container.Eid;
51 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.eid.container.EidBuilder;
52 import org.slf4j.Logger;
53 import org.slf4j.LoggerFactory;
55 public class MaskUtilTest {
57 protected static final Logger LOG = LoggerFactory.getLogger(MaskUtilTest.class);
58 private static final String IPV4_STRING = "255.255.255.255";
59 private static final String IPV6_STRING = "1111:2222:3333:4444:5555:6666:7777:8888";
60 private static byte[] ipv4ByteAddress;
61 private static byte[] ipv4ExpectedByteAddress;
62 private static byte[] ipv6ByteAddress;
63 private static byte[] ipv6ExpectedByteAddress;
67 ipv4ByteAddress = Inet4Address.getByName(IPV4_STRING).getAddress();
68 ipv4ExpectedByteAddress = Inet4Address.getByName("255.255.240.0").getAddress();
69 ipv6ByteAddress = Inet6Address.getByName(IPV6_STRING).getAddress();
70 ipv6ExpectedByteAddress = Inet6Address.getByName("1111:2222:3333:4444:4000::").getAddress();
71 } catch (UnknownHostException e) {
72 LOG.error("Unknow host", e);
76 private static final String IPV4_STRING_1 = "1.2.3.0";
77 private static final String IPV4_STRING_2 = "1.3.4.0";
78 private static final String MASK_1 = "/32";
79 private static final String MASK_2 = "/20";
80 private static final String MASK_3 = "/66";
81 private static final String MASK_4 = "/128";
82 private static final String MAC_STRING = "aa:bb:cc:dd:ee:ff";
84 private static final Ipv4Address IPV4_ADDRESS = new Ipv4Address(IPV4_STRING_1);
85 private static final Ipv6Address IPV6_ADDRESS = new Ipv6Address(IPV6_STRING);
86 private static final Ipv4Prefix IPV4_PREFIX = new Ipv4Prefix(IPV4_STRING_1 + MASK_1);
87 private static final Ipv6Prefix IPV6_PREFIX = new Ipv6Prefix(IPV6_STRING + MASK_4);
88 private static final Ipv4AddressBinary IPV4_ADDRESS_BINARY = new Ipv4AddressBinary(ipv4ByteAddress);
89 private static final Ipv6AddressBinary IPV6_ADDRESS_BINARY = new Ipv6AddressBinary(ipv6ByteAddress);
90 private static final Ipv4PrefixBinary IPV4_PREFIX_BINARY = new Ipv4PrefixBinaryBuilder()
91 .setIpv4AddressBinary(IPV4_ADDRESS_BINARY).setIpv4MaskLength(fromJava((short) 32)).build();
92 private static final Ipv6PrefixBinary IPV6_PREFIX_BINARY = new Ipv6PrefixBinaryBuilder()
93 .setIpv6AddressBinary(IPV6_ADDRESS_BINARY).setIpv6MaskLength(fromJava((short) 128)).build();
95 private static final Address ADDRESS_IPV4 = new Ipv4Builder().setIpv4(IPV4_ADDRESS).build();
96 private static final Address ADDRESS_IPV6 = new Ipv6Builder().setIpv6(new Ipv6Address(IPV6_STRING)).build();
97 private static final Address ADDRESS_IPV4_BINARY = new Ipv4BinaryBuilder()
98 .setIpv4Binary(IPV4_ADDRESS_BINARY).build();
99 private static final Address ADDRESS_IPV6_BINARY = new Ipv6BinaryBuilder()
100 .setIpv6Binary(IPV6_ADDRESS_BINARY).build();
101 private static final Address ADDRESS_IPV4_PREFIX = new Ipv4PrefixBuilder()
102 .setIpv4Prefix(IPV4_PREFIX).build();
103 private static final Address ADDRESS_IPV6_PREFIX = new Ipv6PrefixBuilder()
104 .setIpv6Prefix(IPV6_PREFIX).build();
105 private static final Address ADDRESS_SOURCE_DEST_KEY = getDefaultSourceDestKeyAddressBuilder().build();
106 private static final Address ADDRESS_INSTANCE_ID_IP_PREFIX = getDefaultIpPrefixInstanceId();
107 private static final Address ADDRESS_INSTANCE_ID_IP = getDefaultIpInstanceId();
108 private static final Address ADDRESS_MAC = new MacBuilder().setMac(new MacAddress(MAC_STRING)).build();
109 private static final Address ADDRESS_SERVICE_PATH = getDefaultServicePath();
111 private static final SimpleAddress SIMPLE_ADDRESS_IPV4 = new SimpleAddress(new IpAddress(IPV4_ADDRESS));
112 private static final SimpleAddress SIMPLE_ADDRESS_IPV4_PREFIX = new SimpleAddress(new IpPrefix(IPV4_PREFIX));
113 private static final SimpleAddress SIMPLE_ADDRESS_IPV6_PREFIX = new SimpleAddress(new IpPrefix(IPV6_PREFIX));
115 private static final Eid EID_IPV4 = LispAddressUtil.toEid(IPV4_ADDRESS, null);
116 private static final Eid EID_IPV6 = LispAddressUtil.toEid(IPV6_ADDRESS, null);
117 private static final Eid EID_IPV4_PREFIX = LispAddressUtil.asIpv4PrefixEid(IPV4_STRING + MASK_2);
118 private static final Eid EID_IPV6_PREFIX = LispAddressUtil.asIpv6PrefixEid(IPV6_STRING + MASK_3);
119 private static final Eid EID_IPV4_PREFIX_BINARY = LispAddressUtil.asIpv4PrefixBinaryEid(IPV4_STRING + MASK_2);
120 private static final Eid EID_IPV6_PREFIX_BINARY = LispAddressUtil.asIpv6PrefixBinaryEid(IPV6_STRING + MASK_3);
121 private static final Eid EID_INSTANCE_ID = new EidBuilder().setAddress(ADDRESS_INSTANCE_ID_IP).build();
122 private static final Eid EID_SOURCE_DEST_KEY = new EidBuilder().setAddress(ADDRESS_SOURCE_DEST_KEY).build();
123 private static final Eid EID_SERVICE_PATH = new EidBuilder().setAddress(ADDRESS_SERVICE_PATH).build();
124 private static final Eid EID_MAC = new EidBuilder().setAddress(ADDRESS_MAC).build();
127 * Tests {@link MaskUtil#isMaskable} method.
130 public void isMaskableTest() {
131 assertTrue(MaskUtil.isMaskable(ADDRESS_IPV4_PREFIX));
132 assertTrue(MaskUtil.isMaskable(ADDRESS_IPV6_PREFIX));
133 assertTrue(MaskUtil.isMaskable(ADDRESS_SOURCE_DEST_KEY));
134 assertTrue(MaskUtil.isMaskable(ADDRESS_INSTANCE_ID_IP_PREFIX));
135 assertFalse(MaskUtil.isMaskable(ADDRESS_INSTANCE_ID_IP));
136 assertFalse(MaskUtil.isMaskable(ADDRESS_MAC));
140 * Tests {@link MaskUtil#normalize(Eid eid, short mask)} method with Ipv4PrefixBinary.
143 public void normalizeTest_withIpv4PrefixBinary_withMask() throws UnknownHostException {
144 // input ip: 255.255.255.255, mask: 20
145 final Eid result = MaskUtil.normalize(EID_IPV4_PREFIX_BINARY, (short) 20);
146 final Ipv4PrefixBinary resultPrefix = (Ipv4PrefixBinary) result.getAddress();
149 assertArrayEquals(ipv4ExpectedByteAddress, resultPrefix.getIpv4AddressBinary().getValue());
150 assertEquals((short) 20, (short) resultPrefix.getIpv4MaskLength().toJava());
154 * Tests {@link MaskUtil#normalize(Eid eid, short mask)} method with Ipv6PrefixBinary.
157 public void normalizeTest_withIpv6PrefixBinary_withMask() throws UnknownHostException {
158 // input ip: 1111:2222:3333:4444:5555:6666:7777:8888, mask: 66
159 final Eid result = MaskUtil.normalize(EID_IPV6_PREFIX_BINARY, (short) 66);
160 final Ipv6PrefixBinary resultPrefix = (Ipv6PrefixBinary) result.getAddress();
163 assertArrayEquals(ipv6ExpectedByteAddress, resultPrefix.getIpv6AddressBinary().getValue());
164 assertEquals((short) 66, (short) resultPrefix.getIpv6MaskLength().toJava());
168 * Tests {@link MaskUtil#normalize(Eid eid, short mask)} method with Ipv4Prefix.
171 public void normalizeTest_withIpv4Prefix_withMask() {
172 // input ip: 255.255.255.255, mask: 20
173 final Eid result = MaskUtil.normalize(EID_IPV4_PREFIX, (short) 20);
174 final org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.lisp.address
175 .address.Ipv4Prefix resultPrefix = (org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp
176 .address.types.rev151105.lisp.address.address.Ipv4Prefix) result.getAddress();
179 final String expectedResult = "255.255.240.0" + MASK_2;
180 assertEquals(expectedResult, resultPrefix.getIpv4Prefix().getValue());
184 * Tests {@link MaskUtil#normalize(Eid eid, short mask)} method with Ipv6Prefix.
187 public void normalizeTest_withIpv6Prefix_withMask() {
188 // input ip: 1111:2222:3333:4444:5555:6666:7777:8888, mask: 66
189 final Eid result = MaskUtil.normalize(EID_IPV6_PREFIX, (short) 66);
190 final org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.lisp.address
191 .address.Ipv6Prefix resultPrefix = (org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp
192 .address.types.rev151105.lisp.address.address.Ipv6Prefix) result.getAddress();
195 final String expectedResult = "1111:2222:3333:4444:4000::" + MASK_3;
196 assertEquals(expectedResult, resultPrefix.getIpv6Prefix().getValue());
200 * Tests {@link MaskUtil#normalize(Eid eid, short mask)} method with InstanceId.
203 public void normalizeTest_withInstanceId_withMask() {
204 //TODO finish this test when implementation is done
205 assertEquals(EID_INSTANCE_ID, MaskUtil.normalize(EID_INSTANCE_ID, (short) 0));
209 * Tests {@link MaskUtil#normalize(Eid eid, short mask)} method with Mac.
212 public void normalizeTest_withMac_withMask() {
213 assertEquals(EID_MAC, MaskUtil.normalize(EID_MAC, (short) 0));
217 * Tests {@link MaskUtil#normalize(Eid eid)} method with Ipv4PrefixBinary.
220 public void normalizeTest_withIpv4PrefixBinary() throws UnknownHostException {
221 // input ip: 255.255.255.255, mask: 20
222 final Eid result = MaskUtil.normalize(EID_IPV4_PREFIX_BINARY);
223 final Ipv4PrefixBinary resultPrefix = (Ipv4PrefixBinary) result.getAddress();
226 final byte[] expectedResult = Inet4Address.getByName("255.255.240.0").getAddress();
227 assertArrayEquals(expectedResult, resultPrefix.getIpv4AddressBinary().getValue());
228 assertEquals((short) 20, (short) resultPrefix.getIpv4MaskLength().toJava());
232 * Tests {@link MaskUtil#normalize(Eid eid)} method with Ipv6PrefixBinary.
235 public void normalizeTest_withIpv6PrefixBinary() throws UnknownHostException {
236 // input ip: 1111:2222:3333:4444:5555:6666:7777:8888, mask: 66
237 final Eid result = MaskUtil.normalize(EID_IPV6_PREFIX_BINARY);
238 final Ipv6PrefixBinary resultPrefix = (Ipv6PrefixBinary) result.getAddress();
241 final byte[] expectedResult = Inet6Address.getByName("1111:2222:3333:4444:4000::").getAddress();
242 assertArrayEquals(expectedResult, resultPrefix.getIpv6AddressBinary().getValue());
243 assertEquals((short) 66, (short) resultPrefix.getIpv6MaskLength().toJava());
247 * Tests {@link MaskUtil#normalize} method with Ipv4Prefix.
250 public void normalizeTest_withIpv4Prefix() {
251 // input ip: 255.255.255.255, mask: 20
252 final Eid result = MaskUtil.normalize(EID_IPV4_PREFIX);
253 final org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.lisp.address
254 .address.Ipv4Prefix resultPrefix = (org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp
255 .address.types.rev151105.lisp.address.address.Ipv4Prefix) result.getAddress();
258 final String expectedResult = "255.255.240.0" + MASK_2;
259 assertEquals(expectedResult, resultPrefix.getIpv4Prefix().getValue());
263 * Tests {@link MaskUtil#normalize} method with Ipv6Prefix.
266 public void normalizeTest_withIpv6Prefix() {
267 // input ip: 1111:2222:3333:4444:5555:6666:7777:8888, mask: 66
268 final Eid result = MaskUtil.normalize(EID_IPV6_PREFIX);
269 final org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.lisp.address
270 .address.Ipv6Prefix resultPrefix = (org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp
271 .address.types.rev151105.lisp.address.address.Ipv6Prefix) result.getAddress();
274 final String expectedResult = "1111:2222:3333:4444:4000::" + MASK_3;
275 assertEquals(expectedResult, resultPrefix.getIpv6Prefix().getValue());
279 * Tests {@link MaskUtil#normalize} method with Ipv4.
282 public void normalizeTest_withIpv4() {
284 final Eid result = MaskUtil.normalize(EID_IPV4);
285 final org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.lisp.address
286 .address.Ipv4Prefix resultPrefix = (org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp
287 .address.types.rev151105.lisp.address.address.Ipv4Prefix) result.getAddress();
290 final String expectedResult = "1.2.3.0" + MASK_1;
291 assertEquals(expectedResult, resultPrefix.getIpv4Prefix().getValue());
295 * Tests {@link MaskUtil#normalize} method with Ipv6.
298 public void normalizeTest_withIpv6() {
299 // input ip: 1111:2222:3333:4444:5555:6666:7777:8888
300 final Eid result = MaskUtil.normalize(EID_IPV6);
301 final org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.lisp.address
302 .address.Ipv6Prefix resultPrefix = (org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp
303 .address.types.rev151105.lisp.address.address.Ipv6Prefix) result.getAddress();
306 final String expectedResult = "1111:2222:3333:4444:5555:6666:7777:8888" + MASK_4;
307 assertEquals(expectedResult, resultPrefix.getIpv6Prefix().getValue());
311 * Tests {@link MaskUtil#normalize} method with InstanceId.
314 public void normalizeTest_withInstanceId() {
315 //TODO finish this test when implementation is done
316 assertEquals(EID_INSTANCE_ID, MaskUtil.normalize(EID_INSTANCE_ID));
320 * Tests {@link MaskUtil#normalize} method with SourceDestKey.
323 public void normalizeTest_withSourceDestKey() {
325 final String expectedSourceAddress = "1.2.0.0" + MASK_2;
326 final String expectedDestAddress = "1.3.4.0";
328 final Eid resultEid = MaskUtil.normalize(EID_SOURCE_DEST_KEY);
329 final SourceDestKey resultAddr = (SourceDestKey) resultEid.getAddress();
330 final String resultSource = resultAddr.getSourceDestKey().getSource().getIpPrefix().getIpv4Prefix().getValue();
331 final String resultDest = resultAddr.getSourceDestKey().getDest().getIpAddress().getIpv4Address().getValue();
333 assertEquals(expectedSourceAddress, resultSource);
334 assertEquals(expectedDestAddress, resultDest);
338 * Tests {@link MaskUtil#normalize} method with ServicePath.
341 public void normalizeTest_withServicePath() {
343 final Eid expectedResult = LispAddressUtil.asServicePathEid(-1, 1L, (short)0);
346 final Eid result = MaskUtil.normalize(EID_SERVICE_PATH);
347 assertEquals(expectedResult, result);
351 * Tests {@link MaskUtil#normalize} method with non-maskable address type.
354 public void normalizeTest_withNonMaskableAddress() {
355 assertEquals(EID_MAC, MaskUtil.normalize(EID_MAC));
359 * Tests {@link MaskUtil#getMaxMask} method.
362 public void getMaxMaskTest() {
363 assertEquals(32, MaskUtil.getMaxMask(ADDRESS_IPV4));
364 assertEquals(32, MaskUtil.getMaxMask(ADDRESS_IPV4_PREFIX));
365 assertEquals(128, MaskUtil.getMaxMask(ADDRESS_IPV6));
366 assertEquals(128, MaskUtil.getMaxMask(ADDRESS_IPV6_PREFIX));
367 assertEquals(-1, MaskUtil.getMaxMask(ADDRESS_MAC));
371 * Tests {@link MaskUtil#getMaskForAddress} method.
374 public void getMaskForAddressTest() {
376 assertEquals(-1, MaskUtil.getMaskForAddress(SIMPLE_ADDRESS_IPV4));
377 assertEquals((short) 32, MaskUtil.getMaskForAddress(SIMPLE_ADDRESS_IPV4_PREFIX));
378 assertEquals((short) 128, MaskUtil.getMaskForAddress(SIMPLE_ADDRESS_IPV6_PREFIX));
381 assertEquals((short) 32, MaskUtil.getMaskForAddress(ADDRESS_IPV4));
382 assertEquals((short) 128, MaskUtil.getMaskForAddress(ADDRESS_IPV6));
383 assertEquals((short) 32, MaskUtil.getMaskForAddress(ADDRESS_IPV4_BINARY));
384 assertEquals((short) 128, MaskUtil.getMaskForAddress(ADDRESS_IPV6_BINARY));
385 assertEquals((short) 32, MaskUtil.getMaskForAddress(ADDRESS_IPV4_PREFIX));
386 assertEquals((short) 128, MaskUtil.getMaskForAddress(ADDRESS_IPV6_PREFIX));
387 assertEquals((short) 32, MaskUtil.getMaskForAddress(ADDRESS_INSTANCE_ID_IP_PREFIX));
388 assertEquals((short) 32, MaskUtil.getMaskForAddress(IPV4_PREFIX_BINARY));
389 assertEquals((short) 128, MaskUtil.getMaskForAddress(IPV6_PREFIX_BINARY));
390 assertEquals((short) -1, MaskUtil.getMaskForAddress(ADDRESS_MAC));
394 * Tests {@link MaskUtil#getAddressStringForIpPrefix} method.
397 public void getAddressStringForIpPrefixTest() {
398 assertEquals(IPV4_STRING_1, MaskUtil.getAddressStringForIpPrefix(new IpPrefix(IPV4_PREFIX)));
402 * Tests {@link MaskUtil#getAddressStringForIpv4Prefix} method.
405 public void getAddressStringForIpv4PrefixTest() {
406 assertEquals(IPV4_STRING_1, MaskUtil
407 .getAddressStringForIpv4Prefix(new Ipv4PrefixBuilder().setIpv4Prefix(IPV4_PREFIX).build()));
411 * Tests {@link MaskUtil#getAddressStringForIpv6Prefix} method.
414 public void getAddressStringForIpv6PrefixTest() {
415 assertEquals(IPV6_STRING, MaskUtil
416 .getAddressStringForIpv6Prefix(new Ipv6PrefixBuilder().setIpv6Prefix(IPV6_PREFIX).build()));
419 private static SourceDestKeyBuilder getDefaultSourceDestKeyAddressBuilder() {
420 return new SourceDestKeyBuilder()
421 .setSourceDestKey(new org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp
422 .address.types.rev151105.lisp.address.address.source.dest.key.SourceDestKeyBuilder()
423 .setSource(new SimpleAddress(new IpPrefix(new Ipv4Prefix(IPV4_STRING_1 + MASK_2))))
424 .setDest(new SimpleAddress(new IpAddress(new Ipv4Address(IPV4_STRING_2)))).build());
427 private static InstanceId getDefaultIpPrefixInstanceId() {
428 return new InstanceIdBuilder()
429 .setInstanceId(new org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types
430 .rev151105.lisp.address.address.instance.id.InstanceIdBuilder()
431 .setIid(new InstanceIdType(fromJava(1L)))
432 .setAddress(new SimpleAddress(new IpPrefix(IPV4_PREFIX)))
433 .setMaskLength(fromJava((short) 32)).build())
437 private static InstanceId getDefaultIpInstanceId() {
438 return new InstanceIdBuilder()
439 .setInstanceId(new org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types
440 .rev151105.lisp.address.address.instance.id.InstanceIdBuilder()
441 .setIid(new InstanceIdType(fromJava(1L)))
442 .setAddress(new SimpleAddress(new IpAddress(new Ipv4Address(IPV4_STRING_1)))).build())
446 private static ServicePath getDefaultServicePath() {
447 org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.lisp.address.address
448 .service.path.ServicePathBuilder servicePathBuilder = new org.opendaylight.yang.gen.v1.urn.ietf.params
449 .xml.ns.yang.ietf.lisp.address.types.rev151105.lisp.address.address.service.path.ServicePathBuilder();
451 return new ServicePathBuilder().setServicePath(servicePathBuilder
452 .setServiceIndex(fromJava((short) 1))
453 .setServicePathId(new ServicePathIdType(fromJava(1L))).build())