Topology interface to use Dpid, PortNumber
- Modified Switch interface to use Dpid, PortNumber instead of Long
- Modified Port interface to use Dpid, PortNumber instead of Long
- Modified Topology interface which uses Dpid, PortNumber, SwitchPort
- PortImpl#toString() format has changed: "%d:%d" -> "Dpid#toString():PortNumber#toString"
- Part of ONOS-1564
Change-Id: I8decdbb2fb0cce9e087ad49af3a087b65b8511d7
diff --git a/src/main/java/net/onrc/onos/core/devicemanager/OnosDeviceManager.java b/src/main/java/net/onrc/onos/core/devicemanager/OnosDeviceManager.java
index 0c7a75e..30ffb19 100644
--- a/src/main/java/net/onrc/onos/core/devicemanager/OnosDeviceManager.java
+++ b/src/main/java/net/onrc/onos/core/devicemanager/OnosDeviceManager.java
@@ -28,6 +28,8 @@
import net.onrc.onos.core.topology.ITopologyService;
import net.onrc.onos.core.topology.Port;
import net.onrc.onos.core.topology.Topology;
+import net.onrc.onos.core.util.Dpid;
+import net.onrc.onos.core.util.PortNumber;
import org.openflow.protocol.OFMessage;
import org.openflow.protocol.OFPacketIn;
@@ -120,12 +122,12 @@
log.trace("Receive PACKET_IN swId {}, portId {}", sw.getId(), pi.getInPort());
}
- long dpid = sw.getId();
- short portId = pi.getInPort();
+ final Dpid dpid = new Dpid(sw.getId());
+ final PortNumber portNum = new PortNumber(pi.getInPort());
Long mac = eth.getSourceMAC().toLong();
OnosDevice srcDevice =
- getSourceDeviceFromPacket(eth, dpid, portId);
+ getSourceDeviceFromPacket(eth, dpid.value(), portNum.value());
if (srcDevice == null) {
return Command.STOP;
@@ -137,11 +139,11 @@
// the Topology module.
topology.acquireReadLock();
try {
- if (topology.getOutgoingLink(dpid, (long) portId) != null ||
- topology.getIncomingLink(dpid, (long) portId) != null) {
+ if (topology.getOutgoingLink(dpid, portNum) != null ||
+ topology.getIncomingLink(dpid, portNum) != null) {
log.debug("Stop adding OnosDevice {} as " +
"there is a link on the port: dpid {} port {}",
- srcDevice.getMacAddress(), dpid, portId);
+ srcDevice.getMacAddress(), dpid, portNum);
return Command.CONTINUE;
}
} finally {
@@ -282,8 +284,8 @@
// We don't handle vlan now and multiple attachment points.
deleteDevice = new OnosDevice(dev.getMacAddress(),
null,
- switchPort.getDpid(),
- switchPort.getNumber(),
+ switchPort.getDpid().value(),
+ (long) switchPort.getNumber().value(),
new Date(dev.getLastSeenTime()));
break;
}