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.integrationtest;
10 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.XtrId;
12 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.InstanceIdType;
14 class MultiSiteScenarioUtil {
15 private final static String COMMON_IPV4_PREFIX = "192.0.";
16 private final static String COMMON_IPV4_SUFFIX = ".0";
17 private final static String HOST1 = ".1";
18 private final static String HOST2 = ".2";
19 private final static String HOST3 = ".3";
20 private final static String HOST4 = ".4";
21 private final static String HOST5 = ".5";
23 protected final static long VNI2 = 2L;
24 private final static long VNI3 = 3L;
26 static final Short DEFAULT_PRIORITY = 1;
27 static final Short DEFAULT_WEIGHT = 1;
31 * constants for test scenario A
33 static final Site SITE_A = new Site("1", 'A', VNI2);
34 static final Site SITE_B = new Site("2", 'B', VNI2);
35 static final Site SITE_C = new Site("3", 'C', VNI2);
36 static final Site SITE_C_NEGATIVE = new Site("3", 'C', VNI2, "3", true);
37 static final Site SITE_C_RLOC_10 = new Site("3", 'C', VNI2, "10");
38 static final Site SITE_D4 = new Site("4", 'D', VNI2);
39 static final Site SITE_D5 = new Site("5", 'D', VNI3);
42 * constants for test scenario B
44 static final Site SITE_A_SB = SITE_A;
45 static final Site SITE_B_SB = SITE_B;
46 static final Site SITE_C_SB = SITE_C;
47 static final Site SITE_C_WP_50_2_SB = new Site("3", 'C', VNI2, "3", (short) 50, (short) 2);
48 static final Site SITE_C_WP_100_1_SB = new Site("3", 'C', VNI2, "3", (short) 100, (short) 1);
49 static final Site SITE_D_DELETE_SB = new Site("3", 'D', VNI2, "4", true);
50 static final Site SITE_D_SB = new Site("3", 'D', VNI2, "4");
51 static final Site SITE_D_WP_50_2_SB = new Site("3", 'D', VNI2, "4", (short) 50, (short) 2);
52 static final Site SITE_D_WP_100_1_SB = new Site("3", 'D', VNI2, "4", (short) 100, (short) 1);
53 static final Site SITE_E_SB = new Site("10", 'E', VNI3);
55 private MultiSiteScenarioUtil() {
56 throw new UnsupportedOperationException();
60 protected final boolean isForDeletion;
61 protected final String eidPrefix;
62 protected final String[] host;
63 protected final String rloc;
64 protected final XtrId xtrId;
65 protected final InstanceIdType vni;
66 protected final short weight;
67 protected final short priority;
69 String getEidPrefix() {
73 String getHost(final int index) {
85 InstanceIdType getVNI() {
97 boolean isForDeletion() {
101 Site(final String siteSpecificIpPart, char siteId, final long vni, final String rloc, final boolean
103 this(siteSpecificIpPart, siteId, vni, rloc, DEFAULT_WEIGHT, DEFAULT_PRIORITY, isForDeletion);
106 Site(final String siteSpecificIpPart, char siteId, final long vni) {
107 this(siteSpecificIpPart, siteId, vni, siteSpecificIpPart, DEFAULT_WEIGHT, DEFAULT_PRIORITY, false);
110 Site(final String siteSpecificIpPart, char siteId, final long vni, final String rloc) {
111 this(siteSpecificIpPart, siteId, vni, rloc, DEFAULT_WEIGHT, DEFAULT_PRIORITY, false);
114 Site(final String siteSpecificIpPart, char siteId, final long vni, final String rloc, final short weight,
115 final short priority) {
116 this(siteSpecificIpPart, siteId, vni, rloc, weight, priority, false);
118 Site(final String siteSpecificIpPart, char siteId, final long vni, final String rloc, final short weight,
119 final short priority, final boolean isForDeletion) {
120 this.eidPrefix = COMMON_IPV4_PREFIX + siteSpecificIpPart + COMMON_IPV4_SUFFIX;
121 this.host = new String[]{
123 ,COMMON_IPV4_PREFIX + siteSpecificIpPart + HOST1
124 ,COMMON_IPV4_PREFIX + siteSpecificIpPart + HOST2
125 ,COMMON_IPV4_PREFIX + siteSpecificIpPart + HOST3
126 ,COMMON_IPV4_PREFIX + siteSpecificIpPart + HOST4
127 ,COMMON_IPV4_PREFIX + siteSpecificIpPart + HOST5
129 this.xtrId = new XtrId(new byte[]{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (byte) siteId});
130 this.vni = new InstanceIdType(vni);
131 this.rloc = rloc + "." + rloc + "." + rloc + "." + rloc;
132 this.weight = weight;
133 this.priority = priority;
134 this.isForDeletion = isForDeletion;