From ca22fee04b44cc809fa946a1f032f0b72aecfd5c Mon Sep 17 00:00:00 2001
From: Srinivasan Ramasubramanian <srini@bigswitch.com>
Date: Thu, 6 Sep 2012 22:49:03 -0700
Subject: [PATCH] Bug fix in attachment point comparison.

---
 .../devicemanager/internal/Device.java                 |  2 +-
 .../devicemanager/internal/DeviceManagerImpl.java      | 10 +++++-----
 2 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/src/main/java/net/floodlightcontroller/devicemanager/internal/Device.java b/src/main/java/net/floodlightcontroller/devicemanager/internal/Device.java
index 79022c20e..beaf64043 100755
--- a/src/main/java/net/floodlightcontroller/devicemanager/internal/Device.java
+++ b/src/main/java/net/floodlightcontroller/devicemanager/internal/Device.java
@@ -255,7 +255,7 @@ public class Device implements IDevice {
         }
 
         int x = deviceManager.apComparator.compare(oldAP, newAP);
-        if (x > 0) {
+        if (x < 0) {
             // newAP replaces oldAP.
             apMap.put(id, newAP);
             this.attachmentPoints =
diff --git a/src/main/java/net/floodlightcontroller/devicemanager/internal/DeviceManagerImpl.java b/src/main/java/net/floodlightcontroller/devicemanager/internal/DeviceManagerImpl.java
index 2f15667db..161f4935e 100755
--- a/src/main/java/net/floodlightcontroller/devicemanager/internal/DeviceManagerImpl.java
+++ b/src/main/java/net/floodlightcontroller/devicemanager/internal/DeviceManagerImpl.java
@@ -278,7 +278,7 @@ IFlowReconcileListener, IInfoProvider, IHAListener {
             // and the newAP is not a broadcast domain.
             if (!topology.isConsistent(oldSw, oldPort, newSw, newPort) &&
                     !topology.isBroadcastDomainPort(newSw, newPort))
-                return 1;
+                return -1;
 
             // If newAP is inconsistent with the oldAP and
             // oldAP belongs to broadcast domain and
@@ -289,7 +289,7 @@ IFlowReconcileListener, IInfoProvider, IHAListener {
                     topology.isBroadcastDomainPort(newSw, newPort) &&
                     newAP.getLastSeen() > oldAP.getLastSeen() + 
                         AttachmentPoint.EXTERNAL_TO_EXTERNAL_TIMEOUT)
-                return 1;
+                return -1;
 
             // If newAP is inconsistent with the oldAP and
             // oldAP does not to broadcast domain and
@@ -300,7 +300,7 @@ IFlowReconcileListener, IInfoProvider, IHAListener {
                     topology.isBroadcastDomainPort(newSw, newPort) &&
                     newAP.getLastSeen() > oldAP.getLastSeen() + 
                         AttachmentPoint.OPENFLOW_TO_EXTERNAL_TIMEOUT)
-                return 1;
+                return -1;
 
             // If newAP is inconsistent with the oldAP and
             // oldAP does not to broadcast domain and
@@ -309,9 +309,9 @@ IFlowReconcileListener, IInfoProvider, IHAListener {
             if (topology.isConsistent(oldSw, oldPort, newSw, newPort) &&
                     newAP.getLastSeen() > oldAP.getLastSeen() +
                         AttachmentPoint.CONSISTENT_TIMEOUT)
-                return 1;
+                return -1;
 
-            return -1;
+            return 1;
         }
     }
     /**
-- 
GitLab