PortNumber fixes
- hide new PortNumber(short) and use PortNumber.uint16 instead
- added utility to get PortNumber
Change-Id: Ia39fbe6e7126a3d9465d3035a06850c1d54a7f25
diff --git a/src/main/java/net/onrc/onos/core/hostmanager/HostManager.java b/src/main/java/net/onrc/onos/core/hostmanager/HostManager.java
index 9f6373d..a5e3bd9 100644
--- a/src/main/java/net/onrc/onos/core/hostmanager/HostManager.java
+++ b/src/main/java/net/onrc/onos/core/hostmanager/HostManager.java
@@ -29,6 +29,7 @@
import net.onrc.onos.core.topology.Topology;
import net.onrc.onos.core.util.Dpid;
import net.onrc.onos.core.util.PortNumber;
+import net.onrc.onos.core.util.PortNumberUtils;
import org.projectfloodlight.openflow.protocol.OFMessage;
import org.projectfloodlight.openflow.protocol.OFPacketIn;
@@ -121,11 +122,13 @@
protected Command processPacketIn(IOFSwitch sw, OFPacketIn pi, Ethernet eth,
short inport) {
if (log.isTraceEnabled()) {
- log.trace("Receive PACKET_IN swId {}, portId {}", sw.getId(), pi.getInPort());
+ log.trace("Receive PACKET_IN swId {}, portId {}", sw.getId(), inport);
}
final Dpid dpid = new Dpid(sw.getId());
- final PortNumber portNum = new PortNumber(inport);
+ // FIXME method signature needs to be fixed. losing port number precision
+ final PortNumber portNum = PortNumberUtils
+ .openFlow(sw.getOFVersion(), inport);
Host srcHost =
getSourceHostFromPacket(eth, dpid.value(), portNum.value());