Implemented the following PW features and fixes:
- PW support for H-AGG topologies. Support for leaf-spine-spine
leaf-spine-spine-leaf pseudowires.
- Renamed pw commands with sr-pw-* pattern and also removed redundant output
from them.
- Enabled bulk addition / removal of pws from the rest api.
- Modified diagnostics tool with the updated command name.
Change-Id: I708db9281d0082b160cbd713910b420ef7df9da3
diff --git a/app/src/main/java/org/onosproject/segmentrouting/SegmentRoutingService.java b/app/src/main/java/org/onosproject/segmentrouting/SegmentRoutingService.java
index 759495b..dc3d7b1 100644
--- a/app/src/main/java/org/onosproject/segmentrouting/SegmentRoutingService.java
+++ b/app/src/main/java/org/onosproject/segmentrouting/SegmentRoutingService.java
@@ -23,6 +23,7 @@
import org.onosproject.net.PortNumber;
import org.onosproject.segmentrouting.grouphandler.NextNeighbors;
import org.onosproject.segmentrouting.mcast.McastRole;
+import org.onosproject.segmentrouting.pwaas.DefaultL2TunnelDescription;
import org.onosproject.segmentrouting.pwaas.L2Tunnel;
import org.onosproject.segmentrouting.pwaas.L2TunnelHandler;
import org.onosproject.segmentrouting.pwaas.L2TunnelPolicy;
@@ -89,6 +90,13 @@
List<Policy> getPolicies();
/**
+ * Returns the l2 tunnel descriptions.
+ *
+ * @return set of l2 tunnel descriptions.
+ */
+ Set<L2TunnelDescription> getL2TunnelDescriptions();
+
+ /**
* Returns all l2 tunnels of pseudowires.
*
* @return list of l2 tunnels
@@ -103,7 +111,7 @@
List<L2TunnelPolicy> getL2Policies();
/**
- * Removes pseudowire. Used ONLY by the REST api.
+ * Removes pseudowire.
*
* @param pwId The id of the pseudowire.
* @return SUCCESS if operation successful or a descriptive error otherwise.
@@ -111,7 +119,7 @@
L2TunnelHandler.Result removePseudowire(Integer pwId);
/**
- * Adds a Pseudowire to the configuration.
+ * Adds a Pseudowire to the system.
*
* @param tunnel The pseudowire tunnel.
* @return SUCCESS if operation is successful or a descriptive error otherwise.
@@ -119,6 +127,14 @@
L2TunnelHandler.Result addPseudowire(L2TunnelDescription tunnel);
/**
+ * Adss a set of pseudowires.
+ * @param l2TunnelDescriptions The pseudowires to add.
+ * @return SUCCESS if ALL pseudowires can be instantiated and are deployed, or a
+ * a descriptive error otherwise, without deploying any pseudowire.
+ */
+ L2TunnelHandler.Result addPseudowiresBulk(List<DefaultL2TunnelDescription> l2TunnelDescriptions);
+
+ /**
* Creates a policy.
*
* @param policy policy reference to create