* Added initial support for add/get/delete Flow state to the Network MAP via the REST API
NOTE: The "add" REST API can't be used as-is.
* Added initial support for reading the Flow state from the Network MAP by the Controller
and sending it to the switches.
Currently, the Controller reads periodically the Flow entries (every 3 seconds)
NOTE: The writing of the OpenFlow state to the switches is not tested.
The Python scripts for to add/delete/get flows are intentionally omitted until
the "add" REST API issue is resolved.
NOTE: Two new keys have been added to the database: "flow_id" and "flow_entry_id".
This requires that the older database should be deleted, because Cassandra
doesn't allow adding new keys to an existing database.
diff --git a/src/main/java/net/floodlightcontroller/flowcache/IFlowService.java b/src/main/java/net/floodlightcontroller/flowcache/IFlowService.java
index 956caab..c14c0c1 100644
--- a/src/main/java/net/floodlightcontroller/flowcache/IFlowService.java
+++ b/src/main/java/net/floodlightcontroller/flowcache/IFlowService.java
@@ -36,10 +36,9 @@
* Get a previously added flow.
*
* @param flowId the Flow ID of the flow to get.
- * @param flowPath the return-by-reference flow path.
- * @return true on success, otherwise false.
+ * @return the Flow Path if found, otherwise null.
*/
- boolean getFlow(FlowId flowId, FlowPath flowPath);
+ FlowPath getFlow(FlowId flowId);
/**
* Get a previously added flow by a specific installer for given
@@ -47,26 +46,23 @@
*
* @param installerId the Caller ID of the installer of the flow to get.
* @param dataPathEndpoints the data path endpoints of the flow to get.
- * @param flowPath the return-by-reference flow path.
- * @return true on success, otherwise false.
+ * @return the Flow Path if found, otherwise null.
*/
- boolean getFlow(CallerId installerId,
- DataPathEndpoints dataPathEndpoints,
- FlowPath flowPath);
+ FlowPath getFlow(CallerId installerId,
+ DataPathEndpoints dataPathEndpoints);
/**
* Get all installed flows by all installers for given data path endpoints.
*
* @param dataPathEndpoints the data path endpoints of the flows to get.
- * @param flowPaths the return-by-reference list of flows.
+ * @return the Flow Paths if found, otherwise null.
*/
- void getAllFlows(DataPathEndpoints dataPathEndpoints,
- ArrayList<FlowPath> flowPaths);
+ ArrayList<FlowPath> getAllFlows(DataPathEndpoints dataPathEndpoints);
/**
* Get all installed flows by all installers.
*
- * @param flowPaths the return-by-reference list of flows.
+ * @return the Flow Paths if found, otherwise null.
*/
- void getAllFlows(ArrayList<FlowPath> flowPaths);
+ ArrayList<FlowPath> getAllFlows();
}