diff --git a/src/main/java/net/floodlightcontroller/devicemanager/internal/DeviceManagerImpl.java b/src/main/java/net/floodlightcontroller/devicemanager/internal/DeviceManagerImpl.java index 4c4a071dadabde095d0b38a719f7c652f8a681bb..ff2aaf3bee7d7a948c0760760dc7c780400bde32 100755 --- a/src/main/java/net/floodlightcontroller/devicemanager/internal/DeviceManagerImpl.java +++ b/src/main/java/net/floodlightcontroller/devicemanager/internal/DeviceManagerImpl.java @@ -1244,15 +1244,15 @@ public class DeviceManagerImpl implements IDeviceManagerService, IOFMessageListe } @Override - public void addedLink(IOFSwitch srcSw, short srcPort, int srcPortState, - IOFSwitch dstSw, short dstPort, int dstPortState, ILinkDiscovery.LinkType type) + public void addedLink(long srcSw, short srcPort, int srcPortState, + long dstSw, short dstPort, int dstPortState, ILinkDiscovery.LinkType type) { updatedLink(srcSw, srcPort, srcPortState, dstSw, dstPort, dstPortState, type); } @Override - public void updatedLink(IOFSwitch srcSw, short srcPort, int srcPortState, - IOFSwitch dstSw, short dstPort, int dstPortState, ILinkDiscovery.LinkType type) + public void updatedLink(long srcSw, short srcPort, int srcPortState, + long dstSw, short dstPort, int dstPortState, ILinkDiscovery.LinkType type) { if (((srcPortState & OFPortState.OFPPS_STP_MASK.getValue()) != OFPortState.OFPPS_STP_BLOCK.getValue()) && @@ -1260,7 +1260,7 @@ public class DeviceManagerImpl implements IDeviceManagerService, IOFMessageListe OFPortState.OFPPS_STP_BLOCK.getValue())) { // Remove all devices living on this switch:port now that it is // internal - SwitchPortTuple switchPort = new SwitchPortTuple(dstSw, dstPort); + SwitchPortTuple switchPort = new SwitchPortTuple(floodlightProvider.getSwitches().get(dstSw), dstPort); lock.writeLock().lock(); try { devMgrMaps.removeSwPort(switchPort); @@ -1271,7 +1271,7 @@ public class DeviceManagerImpl implements IDeviceManagerService, IOFMessageListe } @Override - public void removedLink(IOFSwitch src, short srcPort, IOFSwitch dst, + public void removedLink(long src, short srcPort, long dst, short dstPort) { // no-op @@ -2018,7 +2018,8 @@ public class DeviceManagerImpl implements IDeviceManagerService, IOFMessageListe } @Override - public void updatedSwitch(IOFSwitch sw) { + public void updatedSwitch(long swId) { + IOFSwitch sw = floodlightProvider.getSwitches().get(swId); if (sw.hasAttribute(IOFSwitch.SWITCH_IS_CORE_SWITCH)) { removedSwitch(sw); } diff --git a/src/main/java/net/floodlightcontroller/routing/dijkstra/RoutingImpl.java b/src/main/java/net/floodlightcontroller/routing/dijkstra/RoutingImpl.java index 3082ab5c9a30debc97be712067ca8a08e2d5523c..3b5b0da3b0c34dba9bc1421282790f6bfe8b6f07 100644 --- a/src/main/java/net/floodlightcontroller/routing/dijkstra/RoutingImpl.java +++ b/src/main/java/net/floodlightcontroller/routing/dijkstra/RoutingImpl.java @@ -33,7 +33,6 @@ import org.openflow.util.HexString; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import net.floodlightcontroller.core.IOFSwitch; import net.floodlightcontroller.core.module.FloodlightModuleContext; import net.floodlightcontroller.core.module.FloodlightModuleException; import net.floodlightcontroller.core.module.IFloodlightModule; @@ -157,25 +156,25 @@ public class RoutingImpl } @Override - public void addedLink(IOFSwitch srcSw, short srcPort, int srcPortState, - IOFSwitch dstSw, short dstPort, int dstPortState, ILinkDiscovery.LinkType type) + public void addedLink(long srcSw, short srcPort, int srcPortState, + long dstSw, short dstPort, int dstPortState, ILinkDiscovery.LinkType type) { updatedLink(srcSw, srcPort, srcPortState, dstSw, dstPort, dstPortState, type); } @Override - public void updatedLink(IOFSwitch src, short srcPort, int srcPortState, - IOFSwitch dst, short dstPort, int dstPortState, ILinkDiscovery.LinkType type) + public void updatedLink(long src, short srcPort, int srcPortState, + long dst, short dstPort, int dstPortState, ILinkDiscovery.LinkType type) { boolean added = (((srcPortState & OFPortState.OFPPS_STP_MASK.getValue()) != OFPortState.OFPPS_STP_BLOCK.getValue()) && ((dstPortState & OFPortState.OFPPS_STP_MASK.getValue()) != OFPortState.OFPPS_STP_BLOCK.getValue())); - update(src.getId(), srcPort, dst.getId(), dstPort, added); + update(src, srcPort, dst, dstPort, added); } @Override - public void removedLink(IOFSwitch src, short srcPort, IOFSwitch dst, short dstPort) + public void removedLink(long src, short srcPort, long dst, short dstPort) { - update(src.getId(), srcPort, dst.getId(), dstPort, false); + update(src, srcPort, dst, dstPort, false); } @Override @@ -328,7 +327,7 @@ public class RoutingImpl } @Override - public void updatedSwitch(IOFSwitch sw) { + public void updatedSwitch(long sw) { // Ignored by RoutingImpl } diff --git a/src/main/java/net/floodlightcontroller/topology/ILinkDiscoveryListener.java b/src/main/java/net/floodlightcontroller/topology/ILinkDiscoveryListener.java index ad78beb534c5a5afb180c5ad6403be41b57ca89f..bc3bb3664fbc5a1e5f0a39769dd8e2299c1a06e3 100644 --- a/src/main/java/net/floodlightcontroller/topology/ILinkDiscoveryListener.java +++ b/src/main/java/net/floodlightcontroller/topology/ILinkDiscoveryListener.java @@ -17,13 +17,6 @@ package net.floodlightcontroller.topology; -import net.floodlightcontroller.core.IOFSwitch; - -/** - * - * - * @author David Erickson (daviderickson@cs.stanford.edu) - */ public interface ILinkDiscoveryListener { /** * @param srcSw the source switch @@ -32,8 +25,8 @@ public interface ILinkDiscoveryListener { * @param dstSw * @param dstPort */ - public void addedLink(IOFSwitch srcSw, short srcPort, int srcPortState, - IOFSwitch dstSw, short dstPort, int dstPortState, ILinkDiscovery.LinkType type); + public void addedLink(long srcSw, short srcPort, int srcPortState, + long dstSw, short dstPort, int dstPortState, ILinkDiscovery.LinkType type); /** * @param srcSw the source switch @@ -43,8 +36,8 @@ public interface ILinkDiscoveryListener { * @param dstPort * @param dstPortState */ - public void updatedLink(IOFSwitch srcSw, short srcPort, int srcPortState, - IOFSwitch dstSw, short dstPort, int dstPortState, ILinkDiscovery.LinkType type); + public void updatedLink(long srcSw, short srcPort, int srcPortState, + long dstSw, short dstPort, int dstPortState, ILinkDiscovery.LinkType type); /** * @param srcSw @@ -52,11 +45,11 @@ public interface ILinkDiscoveryListener { * @param dstSw * @param dstPort */ - public void removedLink(IOFSwitch srcSw, short srcPort, - IOFSwitch dstSw, short dstPort); + public void removedLink(long srcSw, short srcPort, + long dstSw, short dstPort); /** * @param sw The IOFSwitch that has been updated */ - public void updatedSwitch(IOFSwitch sw); + public void updatedSwitch(long sw); } diff --git a/src/main/java/net/floodlightcontroller/topology/internal/TopologyImpl.java b/src/main/java/net/floodlightcontroller/topology/internal/TopologyImpl.java index 47e5e5ba15b9ce6c0a411e658da38760a32b788a..be2353cb41536a30dfce43830f9b52e6536391d8 100644 --- a/src/main/java/net/floodlightcontroller/topology/internal/TopologyImpl.java +++ b/src/main/java/net/floodlightcontroller/topology/internal/TopologyImpl.java @@ -220,17 +220,17 @@ public class TopologyImpl } protected class Update { - public IOFSwitch src; + public long src; public short srcPort; public int srcPortState; - public IOFSwitch dst; + public long dst; public short dstPort; public int dstPortState; public ILinkDiscovery.LinkType type; public UpdateOperation operation; - public Update(IOFSwitch src, short srcPort, int srcPortState, - IOFSwitch dst, short dstPort, int dstPortState, + public Update(long src, short srcPort, int srcPortState, + long dst, short dstPort, int dstPortState, ILinkDiscovery.LinkType type, UpdateOperation operation) { this.src = src; @@ -244,15 +244,15 @@ public class TopologyImpl public Update(LinkTuple lt, int srcPortState, int dstPortState, ILinkDiscovery.LinkType type, UpdateOperation operation) { - this(lt.getSrc().getSw(), lt.getSrc().getPort(), - srcPortState, lt.getDst().getSw(), lt.getDst().getPort(), + this(lt.getSrc().getSw().getId(), lt.getSrc().getPort(), + srcPortState, lt.getDst().getSw().getId(), lt.getDst().getPort(), dstPortState, type, operation); } // For updtedSwitch(sw) public Update(IOFSwitch sw) { this.operation = UpdateOperation.SWITCH_UPDATED; - this.src = sw; + this.src = sw.getId(); } // Should only be used for CLUSTER_MERGED operations