Driver API for creating user defined groups
diff --git a/src/main/java/net/floodlightcontroller/core/IOF13Switch.java b/src/main/java/net/floodlightcontroller/core/IOF13Switch.java
index ddc6c31..f5648af 100644
--- a/src/main/java/net/floodlightcontroller/core/IOF13Switch.java
+++ b/src/main/java/net/floodlightcontroller/core/IOF13Switch.java
@@ -146,7 +146,7 @@
* Add the OFBucket to groups that have reachability through the given port.
* This API can be used by applications, when a port is operational again,
* to add that port to all the relevant groups
- *
+ *
* @param port Port Number to be added to groups
* @return None
*/
@@ -169,6 +169,20 @@
public void createTunnel(String tunnelId, List<String> route, NeighborSet ns);
/**
+ * Create a group chain with the same label stack for a given set of ports
+ * in the neighborset. This can be used for a basic scenario of tunnel based
+ * policy routing.
+ *
+ * @param labelStack list of router segment Ids to be pushed
+ * @param ns neighborSet to get to the first router in the labelStack. NOTE:
+ * The edgeLabel inside the neighborSet is ignored and user should
+ * explicitly push that label on to the labelStack that is passed as
+ * first argument
+ * @return group identifier
+ */
+ public int createGroup(List<Integer> labelStack, List<PortNumber> ports);
+
+ /**
* Remove all groups for the tunnel
*
* @param tunnelId tunnel ID to remove
@@ -176,6 +190,14 @@
public void removeTunnel(String tunnelId);
/**
+ * Remove the specified group
+ *
+ * @param groupId group identifier
+ * @return success/fail
+ */
+ public boolean removeGroup(int groupId);
+
+ /**
* Return the first group ID for the tunnel.
* If the router is not the source of the tunnel, it returns -1
*