Merge branch 'master' of github.com:OPENNETWORKINGLAB/ONOS
diff --git a/src/main/java/net/floodlightcontroller/flowcache/FlowManager.java b/src/main/java/net/floodlightcontroller/flowcache/FlowManager.java
index 6d3e455..38f4220 100644
--- a/src/main/java/net/floodlightcontroller/flowcache/FlowManager.java
+++ b/src/main/java/net/floodlightcontroller/flowcache/FlowManager.java
@@ -1324,8 +1324,12 @@
DataPath dataPath =
topoRouteService.getShortestPath(flowPath.dataPath().srcPort(),
flowPath.dataPath().dstPort());
- if (dataPath == null)
- return null;
+ if (dataPath == null) {
+ // We need the DataPath to populate the Network MAP
+ dataPath = new DataPath();
+ dataPath.setSrcPort(flowPath.dataPath().srcPort());
+ dataPath.setDstPort(flowPath.dataPath().dstPort());
+ }
FlowEntryMatch userFlowEntryMatch = null;
if (! flowPath.dataPath().flowEntries().isEmpty()) {
@@ -1471,7 +1475,7 @@
flowPaths.add(flowPath);
//
- // Remove my Flow Entries from the Network MAP
+ // Remove the Flow Entries from the Network MAP
//
Iterable<IFlowEntry> flowEntries = flowObj.getFlowEntries();
LinkedList<IFlowEntry> deleteFlowEntries = new LinkedList<IFlowEntry>();
@@ -1480,9 +1484,11 @@
if (dpidStr == null)
continue;
Dpid dpid = new Dpid(dpidStr);
+ /*
IOFSwitch mySwitch = mySwitches.get(dpid.value());
if (mySwitch == null)
continue; // Ignore the entry: not my switch
+ */
deleteFlowEntries.add(flowEntryObj);
}
for (IFlowEntry flowEntryObj : deleteFlowEntries) {