TeTopology core and nbi bug fixes and improvements
Change-Id: I5f3dbcaa79b04c1b1b00b9df7ccae804953c3bae
diff --git a/apps/tetopology/api/src/main/java/org/onosproject/tetopology/management/api/TeTopologyService.java b/apps/tetopology/api/src/main/java/org/onosproject/tetopology/management/api/TeTopologyService.java
index 40c8025..3a393d6 100644
--- a/apps/tetopology/api/src/main/java/org/onosproject/tetopology/management/api/TeTopologyService.java
+++ b/apps/tetopology/api/src/main/java/org/onosproject/tetopology/management/api/TeTopologyService.java
@@ -158,4 +158,11 @@
* @return value of termination point key
*/
TerminationPointKey terminationPointKey(TeLinkTpGlobalKey teTpKey);
+
+ /**
+ * Returns the TE controller global identification.
+ *
+ * @return value of controller id
+ */
+ long teContollerId();
}
diff --git a/apps/tetopology/api/src/main/java/org/onosproject/tetopology/management/api/node/DefaultTunnelTerminationPoint.java b/apps/tetopology/api/src/main/java/org/onosproject/tetopology/management/api/node/DefaultTunnelTerminationPoint.java
index fd419ee..9bfa179 100644
--- a/apps/tetopology/api/src/main/java/org/onosproject/tetopology/management/api/node/DefaultTunnelTerminationPoint.java
+++ b/apps/tetopology/api/src/main/java/org/onosproject/tetopology/management/api/node/DefaultTunnelTerminationPoint.java
@@ -15,16 +15,17 @@
*/
package org.onosproject.tetopology.management.api.node;
+import java.util.Arrays;
+import java.util.BitSet;
+import java.util.List;
+
+import org.onosproject.tetopology.management.api.EncodingType;
+import org.onosproject.tetopology.management.api.SwitchingType;
+
import com.google.common.base.MoreObjects;
import com.google.common.base.Objects;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.Lists;
-import org.onosproject.tetopology.management.api.EncodingType;
-import org.onosproject.tetopology.management.api.SwitchingType;
-
-import java.util.Arrays;
-import java.util.BitSet;
-import java.util.List;
/**
* Default implementation of a tunnel termination point.
@@ -37,6 +38,7 @@
private final List<Long> interLayerLockList;
private final List<LocalLinkConnectivity> localLinkConnectivityList;
private final float[] availAdaptBandwidth;
+ private final TtpKey supportTtpKey;
/**
* Create a tunnel termination point.
@@ -50,6 +52,7 @@
* @param localLinkConnectivityList the local link connectivity list
* @param availAdaptBandwidth the remaining adaptation bandwidth
* at each priority level
+ * @param supportTtpKey supporting TTP key from underlay topology
*/
public DefaultTunnelTerminationPoint(long ttpId,
SwitchingType switchingLayer,
@@ -57,7 +60,8 @@
BitSet flags,
List<Long> interLayerLockList,
List<LocalLinkConnectivity> localLinkConnectivityList,
- float[] availAdaptBandwidth) {
+ float[] availAdaptBandwidth,
+ TtpKey supportTtpKey) {
this.ttpId = ttpId;
this.switchingLayer = switchingLayer;
this.encodingLayer = encodingLayer;
@@ -69,6 +73,7 @@
this.availAdaptBandwidth = availAdaptBandwidth != null ?
Arrays.copyOf(availAdaptBandwidth,
availAdaptBandwidth.length) : null;
+ this.supportTtpKey = supportTtpKey;
}
@Override
@@ -116,10 +121,15 @@
}
@Override
+ public TtpKey supportingTtpId() {
+ return supportTtpKey;
+ }
+
+ @Override
public int hashCode() {
return Objects.hashCode(ttpId, switchingLayer, encodingLayer, flags,
interLayerLockList, localLinkConnectivityList,
- Arrays.hashCode(availAdaptBandwidth));
+ Arrays.hashCode(availAdaptBandwidth), supportTtpKey);
}
@Override
@@ -135,7 +145,8 @@
Objects.equal(flags, that.flags) &&
Objects.equal(interLayerLockList, that.interLayerLockList) &&
Objects.equal(localLinkConnectivityList, that.localLinkConnectivityList) &&
- Arrays.equals(availAdaptBandwidth, that.availAdaptBandwidth);
+ Arrays.equals(availAdaptBandwidth, that.availAdaptBandwidth) &&
+ Objects.equal(supportTtpKey, that.supportTtpKey);
}
return false;
}
@@ -150,6 +161,8 @@
.add("interLayerLockList", interLayerLockList)
.add("localLinkConnectivityList", localLinkConnectivityList)
.add("availAdaptBandwidth", availAdaptBandwidth)
+ .add("supportTtpKey", supportTtpKey)
.toString();
}
+
}
diff --git a/apps/tetopology/api/src/main/java/org/onosproject/tetopology/management/api/node/TunnelTerminationPoint.java b/apps/tetopology/api/src/main/java/org/onosproject/tetopology/management/api/node/TunnelTerminationPoint.java
index 8da43d2..5f7cccb 100644
--- a/apps/tetopology/api/src/main/java/org/onosproject/tetopology/management/api/node/TunnelTerminationPoint.java
+++ b/apps/tetopology/api/src/main/java/org/onosproject/tetopology/management/api/node/TunnelTerminationPoint.java
@@ -15,12 +15,12 @@
*/
package org.onosproject.tetopology.management.api.node;
-import org.onosproject.tetopology.management.api.EncodingType;
-import org.onosproject.tetopology.management.api.SwitchingType;
-
import java.util.BitSet;
import java.util.List;
+import org.onosproject.tetopology.management.api.EncodingType;
+import org.onosproject.tetopology.management.api.SwitchingType;
+
/**
* Representation of a tunnel termination point.
*/
@@ -88,4 +88,11 @@
* @return list of available adaptation bandwidth
*/
float[] availAdaptBandwidth();
+
+ /**
+ * Returns the supporting TTP identifier.
+ *
+ * @return the supporting TTP key
+ */
+ TtpKey supportingTtpId();
}