Skip to content
Snippets Groups Projects
Commit ad3bb20b authored by Kanzhe Jiang's avatar Kanzhe Jiang
Browse files

Revert "stop packet processing when updating deviceMgr with new topo"

This reverts commit 51ca40a3.

Conflicts:

	src/main/java/net/floodlightcontroller/devicemanager/internal/DeviceManagerImpl.java
parent 0be77708
No related branches found
No related tags found
No related merge requests found
......@@ -623,7 +623,6 @@ public class DeviceManagerImpl implements IDeviceManagerService, IOFMessageListe
protected static Logger log =
LoggerFactory.getLogger(DeviceManagerImpl.class);
protected boolean topoChanged = false;
protected Set<IDeviceManagerAware> deviceManagerAware;
protected LinkedList<Update> updates;
protected ReentrantReadWriteLock lock;
......@@ -832,20 +831,6 @@ public class DeviceManagerImpl implements IDeviceManagerService, IOFMessageListe
public Command processPacketInMessage(IOFSwitch sw, OFPacketIn pi,
FloodlightContext cntx) {
/**
* DeviceManager's internal structure needs to be cleaned up upon
* topology change.
* Make sure it is done before processing more packetIns.
*/
while (topoChanged) {
try {
log.debug("Waiting for completion of topoChange");
this.devMgrMaps.wait();
} catch (InterruptedException e) {
log.error ("DeviceManagerImpl: Interrupt exception: {}", e);
}
}
Ethernet eth = IFloodlightProviderService.bcStore.get(
cntx, IFloodlightProviderService.CONTEXT_PI_PAYLOAD);
/** If a broadcast or multicast packetIn comes from a port that's not allowed by higher
......@@ -1604,10 +1589,7 @@ public class DeviceManagerImpl implements IDeviceManagerService, IOFMessageListe
*/
@Override
public void topologyChanged() {
// Halt packetIn processing to handle topoChange event.
topoChanged = true;
log.debug("Set topoChanged flag to true. Stop packetIn processing");
deviceUpdateTask.reschedule(1, TimeUnit.MILLISECONDS);
deviceUpdateTask.reschedule(10, TimeUnit.MILLISECONDS);
}
protected boolean isNewer(DeviceAttachmentPoint dap1,
......@@ -2180,9 +2162,6 @@ public class DeviceManagerImpl implements IDeviceManagerService, IOFMessageListe
"Floodlight exiting");
System.exit(1);
}
devMgrMaps.notify();
topoChanged = false;
log.debug("Done topoChange");
}
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment