Generate a notification from the FlowManager to the ForwardingService
when a collection of flows has been installed into all switches.
diff --git a/src/main/java/net/onrc/onos/ofcontroller/forwarding/Forwarding.java b/src/main/java/net/onrc/onos/ofcontroller/forwarding/Forwarding.java
index 1f50a98..3725d5e 100644
--- a/src/main/java/net/onrc/onos/ofcontroller/forwarding/Forwarding.java
+++ b/src/main/java/net/onrc/onos/ofcontroller/forwarding/Forwarding.java
@@ -361,9 +361,15 @@
return po;
}
-
+
@Override
- public void flowInstalled(FlowPath installedFlowPath) {
+ public void flowsInstalled(Collection<FlowPath> installedFlowPaths) {
+ for (FlowPath flowPath : installedFlowPaths) {
+ flowInstalled(flowPath);
+ }
+ }
+
+ private void flowInstalled(FlowPath installedFlowPath) {
// TODO check concurrency
// will need to sync and access both collections at once.
long flowId = installedFlowPath.flowId().value();
diff --git a/src/main/java/net/onrc/onos/ofcontroller/forwarding/IForwardingService.java b/src/main/java/net/onrc/onos/ofcontroller/forwarding/IForwardingService.java
index 07f6733..e5bd714 100644
--- a/src/main/java/net/onrc/onos/ofcontroller/forwarding/IForwardingService.java
+++ b/src/main/java/net/onrc/onos/ofcontroller/forwarding/IForwardingService.java
@@ -1,5 +1,7 @@
package net.onrc.onos.ofcontroller.forwarding;
+import java.util.Collection;
+
import net.floodlightcontroller.core.module.IFloodlightService;
import net.onrc.onos.ofcontroller.util.FlowPath;
@@ -13,9 +15,11 @@
*/
public interface IForwardingService extends IFloodlightService {
/**
- * Notify the Forwarding module that a flow has been installed
- * in the network.
- * @param flowPath The FlowPath object describing the installed flow
+ * Notify the Forwarding module that a collection of flows has been
+ * installed in the network.
+ *
+ * @param installedFlowPaths the collection of FlowPaths that have
+ * been installed in the network.
*/
- public void flowInstalled(FlowPath flowPath);
+ public void flowsInstalled(Collection<FlowPath> installedFlowPaths);
}