1. fix javadoc mistakes
2. add path state proverty to tunnel
3. fix bugs in tunnel creation and query commands.
Change-Id: I69b992e47630effe45764c887864d59d3a1eb870
diff --git a/apps/pcep-api/src/main/java/org/onosproject/pcep/api/PcepTunnel.java b/apps/pcep-api/src/main/java/org/onosproject/pcep/api/PcepTunnel.java
index c66a6cc..a0d892d 100644
--- a/apps/pcep-api/src/main/java/org/onosproject/pcep/api/PcepTunnel.java
+++ b/apps/pcep-api/src/main/java/org/onosproject/pcep/api/PcepTunnel.java
@@ -19,9 +19,9 @@
import java.util.List;
/**
- * Abstraction of a generalized PCEP Tunnel entity (bandwidth pipe) for
- * L2 networks or L1/L0 networks, representation of e.g., VLAN, L1 ODUk
- * connection, WDM OCH, etc..
+ * Abstraction of a generalized PCEP Tunnel entity (bandwidth pipe) for L2
+ * networks or L1/L0 networks, representation of e.g., VLAN, L1 ODUk connection,
+ * WDM OCH, etc..
*/
public interface PcepTunnel extends PcepOperator {
@@ -72,96 +72,111 @@
public static enum PATHTYPE {
/**
- * the preferred path.
+ * Indicates path is the preferred path.
*/
FIRST,
/**
- * the alternate path.
+ * Indicates path is the alternate path.
*/
SECOND
}
/**
- * Get the type of a tunnel.
+ * Represents state of the path, work normally or broken down.
+ *
+ */
+ public static enum PathState {
+ NORMAL, BROKEN
+ }
+
+ /**
+ * Returns the type of a tunnel.
*
* @return tunnel type
*/
public Type type();
/**
- * Get the name of a tunnel.
+ * Returns the name of a tunnel.
*
* @return tunnel name
*/
public String name();
/**
- * Get the device id of destination endpoint of a tunnel.
+ * Returns the device id of destination endpoint of a tunnel.
*
* @return device id
*/
public PcepDpid srcDeviceID();
/**
- * Get the device id of source endpoint of a tunnel.
+ * Returns the device id of source endpoint of a tunnel.
*
* @return device id
*/
public PcepDpid dstDeviceId();
/**
- * Get source port of a tunnel.
+ * Returns source port of a tunnel.
*
* @return port number
*/
public long srcPort();
/**
- * Get destination port of a tunnel.
+ * Returns destination port of a tunnel.
*
* @return port number
*/
public long dstPort();
/**
- * Get the bandwidth of a tunnel.
+ * Returns the bandwidth of a tunnel.
*
* @return bandwidth
*/
public long bandWidth();
/**
- * Get the tunnel id.
+ * Returns the tunnel id.
*
* @return id of the PCEP tunnel
*/
public long id();
/**
- * Get the detail hop list of a tunnel.
+ * Returns the detail hop list of a tunnel.
*
* @return hop list
*/
public List<PcepHopNodeDescription> getHopList();
/**
- * Get the instance of a pcep tunnel,a instance is used to mark the times of a tunnel created.
- * instance and id identify a tunnel together.
+ * Returns the instance of a pcep tunnel,a instance is used to mark the times of
+ * a tunnel created. instance and id identify a tunnel together.
*
* @return the instance of a tunnel.
*/
public int getInstance();
/**
- * Get the ability of a tunnel.NOPROTECTED,SILVER,or DIAMOND.
+ * Returns the state of a path.
+ *
+ * @return normal or broken
+ */
+ public PathState getPathState();
+
+ /**
+ * Returns the ability of a tunnel.
*
* @return ability of the tunenl
*/
public Ability getSla();
/**
- * Get the path type of a path if the tunnel's ability is diamond .
+ * Returns the path type of a path if the tunnel's ability is diamond .
*
* @return the type of a path, the preferred or alternate.
*/
@@ -172,6 +187,6 @@
*
* @return the tunnel id of a OCH tunnel under lay of a VLAN tunnel.
*/
- public long underLayTunnelId();
+ public long underlayTunnelId();
}
diff --git a/cli/src/main/java/org/onosproject/cli/net/TunnelCreateCommand.java b/cli/src/main/java/org/onosproject/cli/net/TunnelCreateCommand.java
index eb20b95..1bb8afe 100644
--- a/cli/src/main/java/org/onosproject/cli/net/TunnelCreateCommand.java
+++ b/cli/src/main/java/org/onosproject/cli/net/TunnelCreateCommand.java
@@ -72,7 +72,7 @@
@Option(name = "-b", aliases = "--bandwidth",
description = "The bandwidth attribute of tunnel", required = false, multiValued = false)
- String bandwidth = null;
+ String bandwidth = "1024";
private static final String FMT = "The tunnel identity is %s";
@@ -181,7 +181,7 @@
SparseAnnotations annotations = DefaultAnnotations
.builder()
- .set("bandwidth", bandwidth == null && "".equals(bandwidth) ? "0" : bandwidth)
+ .set("bandwidth", bandwidth == null || "".equals(bandwidth) ? "0" : bandwidth)
.build();
TunnelDescription tunnel = new DefaultTunnelDescription(
null,
@@ -197,6 +197,10 @@
null,
annotations);
TunnelId tunnelId = service.tunnelAdded(tunnel);
+ if (tunnelId == null) {
+ error("Create tunnel failed.");
+ return;
+ }
print(FMT, tunnelId.id());
}
diff --git a/cli/src/main/java/org/onosproject/cli/net/TunnelQueryCommand.java b/cli/src/main/java/org/onosproject/cli/net/TunnelQueryCommand.java
index e1bf52a..6a4da17 100644
--- a/cli/src/main/java/org/onosproject/cli/net/TunnelQueryCommand.java
+++ b/cli/src/main/java/org/onosproject/cli/net/TunnelQueryCommand.java
@@ -205,7 +205,7 @@
private String showPath(Path path) {
if (path == null) {
- return "";
+ return "null";
}
StringBuilder builder = new StringBuilder("(");
for (Link link : path.links()) {
diff --git a/providers/pcep/tunnel/src/main/java/org/onosproject/provider/pcep/tunnel/impl/PcepTunnelProvider.java b/providers/pcep/tunnel/src/main/java/org/onosproject/provider/pcep/tunnel/impl/PcepTunnelProvider.java
index 766715f..4a7cbca 100644
--- a/providers/pcep/tunnel/src/main/java/org/onosproject/provider/pcep/tunnel/impl/PcepTunnelProvider.java
+++ b/providers/pcep/tunnel/src/main/java/org/onosproject/provider/pcep/tunnel/impl/PcepTunnelProvider.java
@@ -60,6 +60,7 @@
import org.onosproject.pcep.api.PcepHopNodeDescription;
import org.onosproject.pcep.api.PcepOperator.OperationType;
import org.onosproject.pcep.api.PcepTunnel;
+import org.onosproject.pcep.api.PcepTunnel.PathState;
import org.onosproject.pcep.api.PcepTunnel.PATHTYPE;
import org.onosproject.pcep.api.PcepTunnelListener;
import org.slf4j.Logger;
@@ -199,7 +200,7 @@
Tunnel tunnelOld = tunnelQueryById(tunnel.id());
checkNotNull(tunnelOld, "The tunnel id is not exsited.");
if (tunnelOld.type() != Tunnel.Type.VLAN) {
- error("Llegal tunnel type. Only support VLAN tunnel deletion.");
+ error("Illegal tunnel type. Only support VLAN tunnel deletion.");
return;
}
String pcepTunnelId = getPCEPTunnelKey(tunnel.id());
@@ -217,7 +218,7 @@
Tunnel tunnelOld = tunnelQueryById(tunnel.id());
if (tunnelOld.type() != Tunnel.Type.VLAN) {
- error("Llegal tunnel type. Only support VLAN tunnel update.");
+ error("Illegal tunnel type. Only support VLAN tunnel update.");
return;
}
long bandwidth = Long
@@ -256,7 +257,7 @@
// Creates a path that leads through the given devices.
private Path createPath(List<PcepHopNodeDescription> hopList,
- PATHTYPE pathtype) {
+ PATHTYPE pathtype, PathState pathState) {
if (hopList == null || hopList.size() == 0) {
return null;
}
@@ -270,6 +271,7 @@
int hopNum = hopList.size() - 2;
DefaultAnnotations extendAnnotations = DefaultAnnotations.builder()
.set("pathNum", String.valueOf(hopNum))
+ .set("pathState", String.valueOf(pathState))
.set("pathType", String.valueOf(pathtype)).build();
return new DefaultPath(id(), links, hopNum, extendAnnotations);
}
@@ -299,7 +301,8 @@
// add path after codes of tunnel's path merged
Path path = createPath(pcepTunnel.getHopList(),
- pcepTunnel.getPathType());
+ pcepTunnel.getPathType(),
+ pcepTunnel.getPathState());
OpticalTunnelEndPoint.Type endPointType = null;
switch (pcepTunnel.type()) {
@@ -347,11 +350,11 @@
// a VLAN tunnel always carry OCH tunnel, this annotation is the index
// of a OCH tunnel.
- if (pcepTunnel.underLayTunnelId() != 0) {
+ if (pcepTunnel.underlayTunnelId() != 0) {
DefaultAnnotations extendAnnotations = DefaultAnnotations
.builder()
.set("underLayTunnelIndex",
- String.valueOf(pcepTunnel.underLayTunnelId())).build();
+ String.valueOf(pcepTunnel.underlayTunnelId())).build();
annotations = DefaultAnnotations.merge(annotations,
extendAnnotations);