From ba3198ce2463dc80169c17c49f6ff1510849e766 Mon Sep 17 00:00:00 2001 From: Kanzhe Jiang <kanzhe.jiang@bigswitch.com> Date: Wed, 11 Apr 2012 08:57:57 -0700 Subject: [PATCH] reset device ap's blocking algorithm computation on topology change. --- .../devicemanager/DeviceAttachmentPoint.java | 9 +++++++-- .../devicemanager/internal/DeviceManagerImpl.java | 4 ++-- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/src/main/java/net/floodlightcontroller/devicemanager/DeviceAttachmentPoint.java b/src/main/java/net/floodlightcontroller/devicemanager/DeviceAttachmentPoint.java index 9571c8f3b..1d9524415 100644 --- a/src/main/java/net/floodlightcontroller/devicemanager/DeviceAttachmentPoint.java +++ b/src/main/java/net/floodlightcontroller/devicemanager/DeviceAttachmentPoint.java @@ -46,8 +46,7 @@ public class DeviceAttachmentPoint { this.lastSeenInStorage = null; this.lastWrittenToStorage = null; - this.lastConflict = null; - this.conflictFrequency = 0; + resetConflictState(); } public SwitchPortTuple getSwitchPort() { @@ -138,6 +137,12 @@ public class DeviceAttachmentPoint { conflictFrequency += 100; } + public void resetConflictState() { + lastConflict = null; + conflictFrequency = 0; + setBlocked(false); + } + public boolean isInConflict() { return lastConflict != null; } diff --git a/src/main/java/net/floodlightcontroller/devicemanager/internal/DeviceManagerImpl.java b/src/main/java/net/floodlightcontroller/devicemanager/internal/DeviceManagerImpl.java index 390a7affc..7bc23bd23 100755 --- a/src/main/java/net/floodlightcontroller/devicemanager/internal/DeviceManagerImpl.java +++ b/src/main/java/net/floodlightcontroller/devicemanager/internal/DeviceManagerImpl.java @@ -1670,11 +1670,11 @@ public class DeviceManagerImpl implements IDeviceManagerService, IOFMessageListe * Also make sure the attachmentPoints are in non-blocked state */ for (DeviceAttachmentPoint dap: tempAPMap.values()) { - dap.setBlocked(false); + dap.resetConflictState(); } d.setAttachmentPoints(tempAPMap.values()); for (DeviceAttachmentPoint dap : tempOldAPMap.values()) { - dap.setBlocked(false); + dap.resetConflictState(); d.addOldAttachmentPoint(dap); } -- GitLab