Fixes toward Bug #310 and Bug #318 (and might be Bug #328).
FlowManager refactoring to simplify and speedup the code and
eliminate Titan DB access bugs.
Removed the heuristic algorithm to automatically delete the Flow object
from the Network MAP, because it wasn't working with multiple
controllers.
This removal probably also fixes a bug (not identifed yet?) when a
flow monitored by ONOS could actually disappear from the Network MAP
when the Shortest Path fails.
diff --git a/src/main/java/net/floodlightcontroller/flowcache/FlowManager.java b/src/main/java/net/floodlightcontroller/flowcache/FlowManager.java
index aefc1a4..46bad23 100644
--- a/src/main/java/net/floodlightcontroller/flowcache/FlowManager.java
+++ b/src/main/java/net/floodlightcontroller/flowcache/FlowManager.java
@@ -214,19 +214,6 @@
}
flowObj.removeFlowEntry(flowEntryObj);
conn.utils().removeFlowEntry(conn, flowEntryObj);
-
- // Test whether the last flow entry
- Iterable<IFlowEntry> tmpFlowEntries =
- flowObj.getFlowEntries();
- boolean found = false;
- for (IFlowEntry tmpFlowEntryObj : tmpFlowEntries) {
- found = true;
- break;
- }
- if (! found) {
- // Remove the Flow Path as well
- conn.utils().removeFlowPath(conn, flowObj);
- }
}