diff --git a/src/main/java/net/floodlightcontroller/devicemanager/IDevice.java b/src/main/java/net/floodlightcontroller/devicemanager/IDevice.java
index 22c3c44a53a1b3fcf98c1455110b090246a15ce7..dd54638212c9fdc8dcb746375a7cb936ecf1f25c 100644
--- a/src/main/java/net/floodlightcontroller/devicemanager/IDevice.java
+++ b/src/main/java/net/floodlightcontroller/devicemanager/IDevice.java
@@ -19,8 +19,6 @@ package net.floodlightcontroller.devicemanager;
 
 import java.util.Date;
 
-import net.floodlightcontroller.devicemanager.internal.Entity;
-
 
 /**
  * Represents an independent device on the network.  A device consists of a 
@@ -89,9 +87,4 @@ public interface IDevice {
      */
     public IEntityClass getEntityClass();
     
-    /**
-     * Get the list of entities for this device
-     * @return
-     */
-    public Entity[] getEntities();
 }
diff --git a/src/main/java/net/floodlightcontroller/devicemanager/internal/Device.java b/src/main/java/net/floodlightcontroller/devicemanager/internal/Device.java
index b0b33794f2e0dfe30d633609951ccc5a6f6a54c3..18afaee399dd582a2780777e22e83b3931cdf71a 100755
--- a/src/main/java/net/floodlightcontroller/devicemanager/internal/Device.java
+++ b/src/main/java/net/floodlightcontroller/devicemanager/internal/Device.java
@@ -363,7 +363,6 @@ public class Device implements IDevice {
         return entityClass;
     }
 
-    @Override
     public Entity[] getEntities() {
         return entities;
     }
diff --git a/src/main/java/net/floodlightcontroller/devicemanager/internal/IndexedEntity.java b/src/main/java/net/floodlightcontroller/devicemanager/internal/IndexedEntity.java
index 7a128e6259bb07f185a1c631f61288811ec82540..e9b9ac8a00940b0e3cb0fd7bcf23dd7e4a664d53 100644
--- a/src/main/java/net/floodlightcontroller/devicemanager/internal/IndexedEntity.java
+++ b/src/main/java/net/floodlightcontroller/devicemanager/internal/IndexedEntity.java
@@ -104,6 +104,9 @@ public class IndexedEntity {
         if (obj == null) return false;
         if (getClass() != obj.getClass()) return false;
         IndexedEntity other = (IndexedEntity) obj;
+        
+        if (!keyFields.equals(other.keyFields))
+            return false;
 
         for (IDeviceService.DeviceField f : keyFields) {
             switch (f) {
diff --git a/src/main/java/net/floodlightcontroller/topology/ITopologyService.java b/src/main/java/net/floodlightcontroller/topology/ITopologyService.java
index 90f8450a8b69aba9178be652cdf5131f4dee7094..6bffc328c3a783a1644d8db6120dbb243b80cd4c 100644
--- a/src/main/java/net/floodlightcontroller/topology/ITopologyService.java
+++ b/src/main/java/net/floodlightcontroller/topology/ITopologyService.java
@@ -173,12 +173,7 @@ public interface ITopologyService extends IFloodlightService  {
     public Set<NodePortTuple> getBroadcastDomainPorts();
     public Set<NodePortTuple> getTunnelPorts();
     
-    /**
-     * Indicates if tunnels are allowed between a given source
-     * destination pair.
-     */
-    public boolean isTunnelEnabled(long srcMac, long dstMac);
-
+    
     /**
      * Returns a set of blocked ports.  The set of blocked
      * ports is the union of all the blocked ports across all
diff --git a/src/main/java/net/floodlightcontroller/topology/TopologyManager.java b/src/main/java/net/floodlightcontroller/topology/TopologyManager.java
index 1d1dac162f72fd27c3adb8470e45f54fece512bc..462612dfb820f9f966a64f0a1deb7f00cf0e3b10 100644
--- a/src/main/java/net/floodlightcontroller/topology/TopologyManager.java
+++ b/src/main/java/net/floodlightcontroller/topology/TopologyManager.java
@@ -624,13 +624,6 @@ public class TopologyManager implements
     // ****************
     // Internal methods
     // ****************
-    public static boolean isTunnelEnabled(FloodlightContext cntx) {
-        if (cntx == null) return false;
-        Boolean flag = (Boolean) cntx.getStorage().get(CONTEXT_TUNNEL_ENABLED);
-        if (flag == null || flag == false) return false;
-        return true;
-    }
-
     protected Command dropFilter(IOFSwitch sw, OFPacketIn pi, 
                                              FloodlightContext cntx) {
         Command result = Command.CONTINUE;
@@ -655,13 +648,7 @@ public class TopologyManager implements
         return result;
     }
 
-    protected void checkTunnelUsage(IOFSwitch sw, OFPacketIn pi, 
-                                    FloodlightContext cntx) {
-        // tunnels are disabled.
-        cntx.getStorage().put(CONTEXT_TUNNEL_ENABLED, false);
-    }
     
-
     /** 
      * TODO This method must be moved to a layer below forwarding
      * so that anyone can use it.
@@ -789,7 +776,6 @@ public class TopologyManager implements
         } else {
             // if the packet is BDDP, then send flood it on all the external 
             // switch ports in the same openflow domain.
-            checkTunnelUsage(sw, pi, cntx);
             return dropFilter(sw, pi, cntx);
         }
         return Command.STOP;
@@ -1054,10 +1040,5 @@ public class TopologyManager implements
     public TopologyInstance getCurrentInstance() {
         return this.getCurrentInstance(true);
     }
-
-    @Override
-    public boolean isTunnelEnabled(long srcMac, long dstMac) {
-        return false;
-    }
 }