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) {