Prep-work to accept 32bit port number.
Change-Id: I6236d50c15a8728fb786837b9cfae8abde45b5d8
diff --git a/src/main/java/net/onrc/onos/core/util/PortNumber.java b/src/main/java/net/onrc/onos/core/util/PortNumber.java
index c4c7eed..09df247 100644
--- a/src/main/java/net/onrc/onos/core/util/PortNumber.java
+++ b/src/main/java/net/onrc/onos/core/util/PortNumber.java
@@ -39,6 +39,26 @@
}
/**
+ * Creates the unsigned 16 bit port number.
+ *
+ * @param number unsigned 16 bit port number.
+ * @return PortNumber instance
+ */
+ public static PortNumber uint16(final short number) {
+ return new PortNumber(number);
+ }
+
+ /**
+ * Creates the unsigned 32 bit port number.
+ *
+ * @param number unsigned 32 bit port number.
+ * @return PortNumber instance
+ */
+ public static PortNumber uint32(final int number) {
+ return new PortNumber(number);
+ }
+
+ /**
* Constructor from an int.
*
* @param value the value to use. (Value will not be validated in any way.)
@@ -95,8 +115,7 @@
*/
@JsonProperty("value")
public long value() {
- // TODO Will require masking when we start storing 32bit port number.
- return value;
+ return 0xffffffffL & value;
}
/**