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;
15 import java.net.Inet4Address;
16 import java.net.Inet6Address;
17 import java.net.UnknownHostException;
18 import org.junit.Test;
19 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress;
20 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpPrefix;
21 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Address;
22 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Prefix;
23 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6Address;
24 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6Prefix;
25 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.InstanceIdType;
26 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.ServicePathIdType;
27 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.SimpleAddress;
28 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.lisp.address.Address;
29 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.lisp.address.address.InstanceId;
30 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.lisp.address.address.InstanceIdBuilder;
31 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.lisp.address.address.Ipv4Builder;
32 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.lisp.address.address.Ipv4PrefixBuilder;
33 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.lisp.address.address.Ipv6Builder;
34 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.lisp.address.address.Ipv6PrefixBuilder;
35 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.lisp.address.address.MacBuilder;
36 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.lisp.address.address.ServicePath;
37 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.lisp.address.address.ServicePathBuilder;
38 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.lisp.address.address.SourceDestKey;
39 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.lisp.address.address.SourceDestKeyBuilder;
40 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.MacAddress;
41 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.inet.binary.types.rev160303.Ipv4AddressBinary;
42 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.inet.binary.types.rev160303.Ipv6AddressBinary;
43 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.binary.address.types.rev160504.augmented.lisp.address.address.Ipv4BinaryBuilder;
44 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.binary.address.types.rev160504.augmented.lisp.address.address.Ipv4PrefixBinary;
45 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.binary.address.types.rev160504.augmented.lisp.address.address.Ipv4PrefixBinaryBuilder;
46 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.binary.address.types.rev160504.augmented.lisp.address.address.Ipv6BinaryBuilder;
47 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.binary.address.types.rev160504.augmented.lisp.address.address.Ipv6PrefixBinary;
48 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.binary.address.types.rev160504.augmented.lisp.address.address.Ipv6PrefixBinaryBuilder;
49 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.eid.container.Eid;
50 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.eid.container.EidBuilder;
51 import org.slf4j.Logger;
52 import org.slf4j.LoggerFactory;
54 public class MaskUtilTest {
56 protected static final Logger LOG = LoggerFactory.getLogger(MaskUtilTest.class);
57 private static final String IPV4_STRING = "255.255.255.255";
58 private static final String IPV6_STRING = "1111:2222:3333:4444:5555:6666:7777:8888";
59 private static byte[] ipv4ByteAddress;
60 private static byte[] ipv4ExpectedByteAddress;
61 private static byte[] ipv6ByteAddress;
62 private static byte[] ipv6ExpectedByteAddress;
66 ipv4ByteAddress = Inet4Address.getByName(IPV4_STRING).getAddress();
67 ipv4ExpectedByteAddress = Inet4Address.getByName("255.255.240.0").getAddress();
68 ipv6ByteAddress = Inet6Address.getByName(IPV6_STRING).getAddress();
69 ipv6ExpectedByteAddress = Inet6Address.getByName("1111:2222:3333:4444:4000::").getAddress();
70 } catch (UnknownHostException e) {
71 LOG.error("Unknow host", e);
75 private static final String IPV4_STRING_1 = "1.2.3.0";
76 private static final String IPV4_STRING_2 = "1.3.4.0";
77 private static final String MASK_1 = "/32";
78 private static final String MASK_2 = "/20";
79 private static final String MASK_3 = "/66";
80 private static final String MASK_4 = "/128";
81 private static final String MAC_STRING = "aa:bb:cc:dd:ee:ff";
83 private static final Ipv4Address IPV4_ADDRESS = new Ipv4Address(IPV4_STRING_1);
84 private static final Ipv6Address IPV6_ADDRESS = new Ipv6Address(IPV6_STRING);
85 private static final Ipv4Prefix IPV4_PREFIX = new Ipv4Prefix(IPV4_STRING_1 + MASK_1);
86 private static final Ipv6Prefix IPV6_PREFIX = new Ipv6Prefix(IPV6_STRING + MASK_4);
87 private static final Ipv4AddressBinary IPV4_ADDRESS_BINARY = new Ipv4AddressBinary(ipv4ByteAddress);
88 private static final Ipv6AddressBinary IPV6_ADDRESS_BINARY = new Ipv6AddressBinary(ipv6ByteAddress);
89 private static final Ipv4PrefixBinary IPV4_PREFIX_BINARY = new Ipv4PrefixBinaryBuilder()
90 .setIpv4AddressBinary(IPV4_ADDRESS_BINARY).setIpv4MaskLength((short) 32).build();
91 private static final Ipv6PrefixBinary IPV6_PREFIX_BINARY = new Ipv6PrefixBinaryBuilder()
92 .setIpv6AddressBinary(IPV6_ADDRESS_BINARY).setIpv6MaskLength((short) 128).build();
94 private static final Address ADDRESS_IPV4 = new Ipv4Builder().setIpv4(IPV4_ADDRESS).build();
95 private static final Address ADDRESS_IPV6 = new Ipv6Builder().setIpv6(new Ipv6Address(IPV6_STRING)).build();
96 private static final Address ADDRESS_IPV4_BINARY = new Ipv4BinaryBuilder()
97 .setIpv4Binary(IPV4_ADDRESS_BINARY).build();
98 private static final Address ADDRESS_IPV6_BINARY = new Ipv6BinaryBuilder()
99 .setIpv6Binary(IPV6_ADDRESS_BINARY).build();
100 private static final Address ADDRESS_IPV4_PREFIX = new Ipv4PrefixBuilder()
101 .setIpv4Prefix(IPV4_PREFIX).build();
102 private static final Address ADDRESS_IPV6_PREFIX = new Ipv6PrefixBuilder()
103 .setIpv6Prefix(IPV6_PREFIX).build();
104 private static final Address ADDRESS_SOURCE_DEST_KEY = getDefaultSourceDestKeyAddressBuilder().build();
105 private static final Address ADDRESS_INSTANCE_ID_IP_PREFIX = getDefaultIpPrefixInstanceId();
106 private static final Address ADDRESS_INSTANCE_ID_IP = getDefaultIpInstanceId();
107 private static final Address ADDRESS_MAC = new MacBuilder().setMac(new MacAddress(MAC_STRING)).build();
108 private static final Address ADDRESS_SERVICE_PATH = getDefaultServicePath();
110 private static final SimpleAddress SIMPLE_ADDRESS_IPV4 = new SimpleAddress(new IpAddress(IPV4_ADDRESS));
111 private static final SimpleAddress SIMPLE_ADDRESS_IPV4_PREFIX = new SimpleAddress(new IpPrefix(IPV4_PREFIX));
112 private static final SimpleAddress SIMPLE_ADDRESS_IPV6_PREFIX = new SimpleAddress(new IpPrefix(IPV6_PREFIX));
114 private static final Eid EID_IPV4 = LispAddressUtil.toEid(IPV4_ADDRESS, null);
115 private static final Eid EID_IPV6 = LispAddressUtil.toEid(IPV6_ADDRESS, null);
116 private static final Eid EID_IPV4_PREFIX = LispAddressUtil.asIpv4PrefixEid(IPV4_STRING + MASK_2);
117 private static final Eid EID_IPV6_PREFIX = LispAddressUtil.asIpv6PrefixEid(IPV6_STRING + MASK_3);
118 private static final Eid EID_IPV4_PREFIX_BINARY = LispAddressUtil.asIpv4PrefixBinaryEid(IPV4_STRING + MASK_2);
119 private static final Eid EID_IPV6_PREFIX_BINARY = LispAddressUtil.asIpv6PrefixBinaryEid(IPV6_STRING + MASK_3);
120 private static final Eid EID_INSTANCE_ID = new EidBuilder().setAddress(ADDRESS_INSTANCE_ID_IP).build();
121 private static final Eid EID_SOURCE_DEST_KEY = new EidBuilder().setAddress(ADDRESS_SOURCE_DEST_KEY).build();
122 private static final Eid EID_SERVICE_PATH = new EidBuilder().setAddress(ADDRESS_SERVICE_PATH).build();
123 private static final Eid EID_MAC = new EidBuilder().setAddress(ADDRESS_MAC).build();
126 * Tests {@link MaskUtil#isMaskable} method.
129 public void isMaskableTest() {
130 assertTrue(MaskUtil.isMaskable(ADDRESS_IPV4_PREFIX));
131 assertTrue(MaskUtil.isMaskable(ADDRESS_IPV6_PREFIX));
132 assertTrue(MaskUtil.isMaskable(ADDRESS_SOURCE_DEST_KEY));
133 assertTrue(MaskUtil.isMaskable(ADDRESS_INSTANCE_ID_IP_PREFIX));
134 assertFalse(MaskUtil.isMaskable(ADDRESS_INSTANCE_ID_IP));
135 assertFalse(MaskUtil.isMaskable(ADDRESS_MAC));
139 * Tests {@link MaskUtil#normalize(Eid eid, short mask)} method with Ipv4PrefixBinary.
142 public void normalizeTest_withIpv4PrefixBinary_withMask() throws UnknownHostException {
143 // input ip: 255.255.255.255, mask: 20
144 final Eid result = MaskUtil.normalize(EID_IPV4_PREFIX_BINARY, (short) 20);
145 final Ipv4PrefixBinary resultPrefix = (Ipv4PrefixBinary) result.getAddress();
148 assertArrayEquals(ipv4ExpectedByteAddress, resultPrefix.getIpv4AddressBinary().getValue());
149 assertEquals((short) 20, (short) resultPrefix.getIpv4MaskLength());
153 * Tests {@link MaskUtil#normalize(Eid eid, short mask)} method with Ipv6PrefixBinary.
156 public void normalizeTest_withIpv6PrefixBinary_withMask() throws UnknownHostException {
157 // input ip: 1111:2222:3333:4444:5555:6666:7777:8888, mask: 66
158 final Eid result = MaskUtil.normalize(EID_IPV6_PREFIX_BINARY, (short) 66);
159 final Ipv6PrefixBinary resultPrefix = (Ipv6PrefixBinary) result.getAddress();
162 assertArrayEquals(ipv6ExpectedByteAddress, resultPrefix.getIpv6AddressBinary().getValue());
163 assertEquals((short) 66, (short) resultPrefix.getIpv6MaskLength());
167 * Tests {@link MaskUtil#normalize(Eid eid, short mask)} method with Ipv4Prefix.
170 public void normalizeTest_withIpv4Prefix_withMask() {
171 // input ip: 255.255.255.255, mask: 20
172 final Eid result = MaskUtil.normalize(EID_IPV4_PREFIX, (short) 20);
173 final org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.lisp.address
174 .address.Ipv4Prefix resultPrefix = (org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp
175 .address.types.rev151105.lisp.address.address.Ipv4Prefix) result.getAddress();
178 final String expectedResult = "255.255.240.0" + MASK_2;
179 assertEquals(expectedResult, resultPrefix.getIpv4Prefix().getValue());
183 * Tests {@link MaskUtil#normalize(Eid eid, short mask)} method with Ipv6Prefix.
186 public void normalizeTest_withIpv6Prefix_withMask() {
187 // input ip: 1111:2222:3333:4444:5555:6666:7777:8888, mask: 66
188 final Eid result = MaskUtil.normalize(EID_IPV6_PREFIX, (short) 66);
189 final org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.lisp.address
190 .address.Ipv6Prefix resultPrefix = (org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp
191 .address.types.rev151105.lisp.address.address.Ipv6Prefix) result.getAddress();
194 final String expectedResult = "1111:2222:3333:4444:4000::" + MASK_3;
195 assertEquals(expectedResult, resultPrefix.getIpv6Prefix().getValue());
199 * Tests {@link MaskUtil#normalize(Eid eid, short mask)} method with InstanceId.
202 public void normalizeTest_withInstanceId_withMask() {
203 //TODO finish this test when implementation is done
204 assertEquals(EID_INSTANCE_ID, MaskUtil.normalize(EID_INSTANCE_ID, (short) 0));
208 * Tests {@link MaskUtil#normalize(Eid eid, short mask)} method with Mac.
211 public void normalizeTest_withMac_withMask() {
212 assertEquals(EID_MAC, MaskUtil.normalize(EID_MAC, (short) 0));
216 * Tests {@link MaskUtil#normalize(Eid eid)} method with Ipv4PrefixBinary.
219 public void normalizeTest_withIpv4PrefixBinary() throws UnknownHostException {
220 // input ip: 255.255.255.255, mask: 20
221 final Eid result = MaskUtil.normalize(EID_IPV4_PREFIX_BINARY);
222 final Ipv4PrefixBinary resultPrefix = (Ipv4PrefixBinary) result.getAddress();
225 final byte[] expectedResult = Inet4Address.getByName("255.255.240.0").getAddress();
226 assertArrayEquals(expectedResult, resultPrefix.getIpv4AddressBinary().getValue());
227 assertEquals((short) 20, (short) resultPrefix.getIpv4MaskLength());
231 * Tests {@link MaskUtil#normalize(Eid eid)} method with Ipv6PrefixBinary.
234 public void normalizeTest_withIpv6PrefixBinary() throws UnknownHostException {
235 // input ip: 1111:2222:3333:4444:5555:6666:7777:8888, mask: 66
236 final Eid result = MaskUtil.normalize(EID_IPV6_PREFIX_BINARY);
237 final Ipv6PrefixBinary resultPrefix = (Ipv6PrefixBinary) result.getAddress();
240 final byte[] expectedResult = Inet6Address.getByName("1111:2222:3333:4444:4000::").getAddress();
241 assertArrayEquals(expectedResult, resultPrefix.getIpv6AddressBinary().getValue());
242 assertEquals((short) 66, (short) resultPrefix.getIpv6MaskLength());
246 * Tests {@link MaskUtil#normalize} method with Ipv4Prefix.
249 public void normalizeTest_withIpv4Prefix() {
250 // input ip: 255.255.255.255, mask: 20
251 final Eid result = MaskUtil.normalize(EID_IPV4_PREFIX);
252 final org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.lisp.address
253 .address.Ipv4Prefix resultPrefix = (org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp
254 .address.types.rev151105.lisp.address.address.Ipv4Prefix) result.getAddress();
257 final String expectedResult = "255.255.240.0" + MASK_2;
258 assertEquals(expectedResult, resultPrefix.getIpv4Prefix().getValue());
262 * Tests {@link MaskUtil#normalize} method with Ipv6Prefix.
265 public void normalizeTest_withIpv6Prefix() {
266 // input ip: 1111:2222:3333:4444:5555:6666:7777:8888, mask: 66
267 final Eid result = MaskUtil.normalize(EID_IPV6_PREFIX);
268 final org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.lisp.address
269 .address.Ipv6Prefix resultPrefix = (org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp
270 .address.types.rev151105.lisp.address.address.Ipv6Prefix) result.getAddress();
273 final String expectedResult = "1111:2222:3333:4444:4000::" + MASK_3;
274 assertEquals(expectedResult, resultPrefix.getIpv6Prefix().getValue());
278 * Tests {@link MaskUtil#normalize} method with Ipv4.
281 public void normalizeTest_withIpv4() {
283 final Eid result = MaskUtil.normalize(EID_IPV4);
284 final org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.lisp.address
285 .address.Ipv4Prefix resultPrefix = (org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp
286 .address.types.rev151105.lisp.address.address.Ipv4Prefix) result.getAddress();
289 final String expectedResult = "1.2.3.0" + MASK_1;
290 assertEquals(expectedResult, resultPrefix.getIpv4Prefix().getValue());
294 * Tests {@link MaskUtil#normalize} method with Ipv6.
297 public void normalizeTest_withIpv6() {
298 // input ip: 1111:2222:3333:4444:5555:6666:7777:8888
299 final Eid result = MaskUtil.normalize(EID_IPV6);
300 final org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.lisp.address
301 .address.Ipv6Prefix resultPrefix = (org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp
302 .address.types.rev151105.lisp.address.address.Ipv6Prefix) result.getAddress();
305 final String expectedResult = "1111:2222:3333:4444:5555:6666:7777:8888" + MASK_4;
306 assertEquals(expectedResult, resultPrefix.getIpv6Prefix().getValue());
310 * Tests {@link MaskUtil#normalize} method with InstanceId.
313 public void normalizeTest_withInstanceId() {
314 //TODO finish this test when implementation is done
315 assertEquals(EID_INSTANCE_ID, MaskUtil.normalize(EID_INSTANCE_ID));
319 * Tests {@link MaskUtil#normalize} method with SourceDestKey.
322 public void normalizeTest_withSourceDestKey() {
324 final String expectedSourceAddress = "1.2.0.0" + MASK_2;
325 final String expectedDestAddress = "1.3.4.0";
327 final Eid resultEid = MaskUtil.normalize(EID_SOURCE_DEST_KEY);
328 final SourceDestKey resultAddr = (SourceDestKey) resultEid.getAddress();
329 final String resultSource = resultAddr.getSourceDestKey().getSource().getIpPrefix().getIpv4Prefix().getValue();
330 final String resultDest = resultAddr.getSourceDestKey().getDest().getIpAddress().getIpv4Address().getValue();
332 assertEquals(expectedSourceAddress, resultSource);
333 assertEquals(expectedDestAddress, resultDest);
337 * Tests {@link MaskUtil#normalize} method with ServicePath.
340 public void normalizeTest_withServicePath() {
342 final Eid expectedResult = LispAddressUtil.asServicePathEid(-1, 1L, (short)0);
345 final Eid result = MaskUtil.normalize(EID_SERVICE_PATH);
346 assertEquals(expectedResult, result);
350 * Tests {@link MaskUtil#normalize} method with non-maskable address type.
353 public void normalizeTest_withNonMaskableAddress() {
354 assertEquals(EID_MAC, MaskUtil.normalize(EID_MAC));
358 * Tests {@link MaskUtil#getMaxMask} method.
361 public void getMaxMaskTest() {
362 assertEquals(32, MaskUtil.getMaxMask(ADDRESS_IPV4));
363 assertEquals(32, MaskUtil.getMaxMask(ADDRESS_IPV4_PREFIX));
364 assertEquals(128, MaskUtil.getMaxMask(ADDRESS_IPV6));
365 assertEquals(128, MaskUtil.getMaxMask(ADDRESS_IPV6_PREFIX));
366 assertEquals(-1, MaskUtil.getMaxMask(ADDRESS_MAC));
370 * Tests {@link MaskUtil#getMaskForAddress} method.
373 public void getMaskForAddressTest() {
375 assertEquals(-1, MaskUtil.getMaskForAddress(SIMPLE_ADDRESS_IPV4));
376 assertEquals((short) 32, MaskUtil.getMaskForAddress(SIMPLE_ADDRESS_IPV4_PREFIX));
377 assertEquals((short) 128, MaskUtil.getMaskForAddress(SIMPLE_ADDRESS_IPV6_PREFIX));
380 assertEquals((short) 32, MaskUtil.getMaskForAddress(ADDRESS_IPV4));
381 assertEquals((short) 128, MaskUtil.getMaskForAddress(ADDRESS_IPV6));
382 assertEquals((short) 32, MaskUtil.getMaskForAddress(ADDRESS_IPV4_BINARY));
383 assertEquals((short) 128, MaskUtil.getMaskForAddress(ADDRESS_IPV6_BINARY));
384 assertEquals((short) 32, MaskUtil.getMaskForAddress(ADDRESS_IPV4_PREFIX));
385 assertEquals((short) 128, MaskUtil.getMaskForAddress(ADDRESS_IPV6_PREFIX));
386 assertEquals((short) 32, MaskUtil.getMaskForAddress(ADDRESS_INSTANCE_ID_IP_PREFIX));
387 assertEquals((short) 32, MaskUtil.getMaskForAddress(IPV4_PREFIX_BINARY));
388 assertEquals((short) 128, MaskUtil.getMaskForAddress(IPV6_PREFIX_BINARY));
389 assertEquals((short) -1, MaskUtil.getMaskForAddress(ADDRESS_MAC));
393 * Tests {@link MaskUtil#getAddressStringForIpPrefix} method.
396 public void getAddressStringForIpPrefixTest() {
397 assertEquals(IPV4_STRING_1, MaskUtil.getAddressStringForIpPrefix(new IpPrefix(IPV4_PREFIX)));
401 * Tests {@link MaskUtil#getAddressStringForIpv4Prefix} method.
404 public void getAddressStringForIpv4PrefixTest() {
405 assertEquals(IPV4_STRING_1, MaskUtil
406 .getAddressStringForIpv4Prefix(new Ipv4PrefixBuilder().setIpv4Prefix(IPV4_PREFIX).build()));
410 * Tests {@link MaskUtil#getAddressStringForIpv6Prefix} method.
413 public void getAddressStringForIpv6PrefixTest() {
414 assertEquals(IPV6_STRING, MaskUtil
415 .getAddressStringForIpv6Prefix(new Ipv6PrefixBuilder().setIpv6Prefix(IPV6_PREFIX).build()));
418 private static SourceDestKeyBuilder getDefaultSourceDestKeyAddressBuilder() {
419 return new SourceDestKeyBuilder()
420 .setSourceDestKey(new org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp
421 .address.types.rev151105.lisp.address.address.source.dest.key.SourceDestKeyBuilder()
422 .setSource(new SimpleAddress(new IpPrefix(new Ipv4Prefix(IPV4_STRING_1 + MASK_2))))
423 .setDest(new SimpleAddress(new IpAddress(new Ipv4Address(IPV4_STRING_2)))).build());
426 private static InstanceId getDefaultIpPrefixInstanceId() {
427 return new InstanceIdBuilder()
428 .setInstanceId(new org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types
429 .rev151105.lisp.address.address.instance.id.InstanceIdBuilder()
430 .setIid(new InstanceIdType(1L))
431 .setAddress(new SimpleAddress(new IpPrefix(IPV4_PREFIX)))
432 .setMaskLength((short) 32).build())
436 private static InstanceId getDefaultIpInstanceId() {
437 return new InstanceIdBuilder()
438 .setInstanceId(new org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types
439 .rev151105.lisp.address.address.instance.id.InstanceIdBuilder()
440 .setIid(new InstanceIdType(1L))
441 .setAddress(new SimpleAddress(new IpAddress(new Ipv4Address(IPV4_STRING_1)))).build())
445 private static ServicePath getDefaultServicePath() {
446 org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.lisp.address.address
447 .service.path.ServicePathBuilder servicePathBuilder = new org.opendaylight.yang.gen.v1.urn.ietf.params
448 .xml.ns.yang.ietf.lisp.address.types.rev151105.lisp.address.address.service.path.ServicePathBuilder();
450 return new ServicePathBuilder().setServicePath(servicePathBuilder
451 .setServiceIndex((short) 1)
452 .setServicePathId(new ServicePathIdType(1L)).build())