diff --git a/src/main/java/net/floodlightcontroller/devicemanager/internal/DeviceManagerImpl.java b/src/main/java/net/floodlightcontroller/devicemanager/internal/DeviceManagerImpl.java index b27588811e0d115ac13a772f881374fa03bb41b0..390a7affcb4984478ab0d1e9670e1bc3be4673c6 100755 --- a/src/main/java/net/floodlightcontroller/devicemanager/internal/DeviceManagerImpl.java +++ b/src/main/java/net/floodlightcontroller/devicemanager/internal/DeviceManagerImpl.java @@ -1663,10 +1663,18 @@ public class DeviceManagerImpl implements IDeviceManagerService, IOFMessageListe } synchronized (d) { - // Since the update below is happening on a copy of the device it - // should not impact packetIn processing time due to lock contention + /** + * Since the update below is happening on a copy of the device it + * should not impact packetIn processing time due to lock contention + * + * Also make sure the attachmentPoints are in non-blocked state + */ + for (DeviceAttachmentPoint dap: tempAPMap.values()) { + dap.setBlocked(false); + } d.setAttachmentPoints(tempAPMap.values()); for (DeviceAttachmentPoint dap : tempOldAPMap.values()) { + dap.setBlocked(false); d.addOldAttachmentPoint(dap); }