tiny modifications to VLANID
Change-Id: Ib5b1adc2c147e23ce40ee35282c1fadc82d78111
diff --git a/utils/misc/src/main/java/org/onlab/packet/IPAddress.java b/utils/misc/src/main/java/org/onlab/packet/IPAddress.java
index f7b19dc..94c2d54 100644
--- a/utils/misc/src/main/java/org/onlab/packet/IPAddress.java
+++ b/utils/misc/src/main/java/org/onlab/packet/IPAddress.java
@@ -12,7 +12,7 @@
//lengths of address, in bytes
public static final int INET_LEN = 4;
- public static final int INET6_LEN = 6;
+ public static final int INET6_LEN = 16;
protected Version version;
//does it make more sense to have a integral address?
diff --git a/utils/misc/src/main/java/org/onlab/packet/VLANID.java b/utils/misc/src/main/java/org/onlab/packet/VLANID.java
index 68774e3..31cdecb 100644
--- a/utils/misc/src/main/java/org/onlab/packet/VLANID.java
+++ b/utils/misc/src/main/java/org/onlab/packet/VLANID.java
@@ -4,13 +4,28 @@
* Representation of a VLAN ID.
*/
public class VLANID {
- // A VLAN ID is 12 bits, short is close
- private final short value;
- public VLANID(short value) {
+ private final short value;
+ private static final short NONE = 0;
+ // A VLAN ID is actually 12 bits of a VLAN tag.
+ private static final short MAX_VLAN = 4095;
+
+ protected VLANID(short value) {
this.value = value;
}
+ public static VLANID vlanId() {
+ return new VLANID(NONE);
+ }
+
+ public static VLANID vlanId(short value) {
+ if (value >= MAX_VLAN) {
+ throw new IllegalArgumentException(
+ "value exceeds allowed maximum VLAN ID value (4095)");
+ }
+ return new VLANID(value);
+ }
+
public short toShort() {
return this.value;
}
@@ -37,5 +52,10 @@
public int hashCode() {
return this.value;
}
+
+ @Override
+ public String toString() {
+ return String.valueOf(this.value);
+ }
}