added HostProvider to SimpleHostManager

Change-Id: I13ff57fcd24ea7bd2c3f2544a3aad7d18ceda107
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 4e898f4..5f4e174 100644
--- a/utils/misc/src/main/java/org/onlab/packet/IPAddress.java
+++ b/utils/misc/src/main/java/org/onlab/packet/IPAddress.java
@@ -103,32 +103,27 @@
             if (builder.length() > 0) {
                 builder.append(".");
             }
-            builder.append(String.format("%02d", b));
+            builder.append(String.format("%d", b));
         }
         return builder.toString();
     }
 
     @Override
     public int hashCode() {
-        return octets.hashCode();
+        return Arrays.hashCode(octets);
     }
 
     @Override
     public boolean equals(Object obj) {
-        if (this == obj) {
-            return true;
-        }
-        if (obj instanceof IPAddress) {
 
+        if (obj instanceof IPAddress) {
             IPAddress other = (IPAddress) obj;
 
-            if (!(this.version.equals(other.version))) {
-                return false;
-            }
-            if (!(Arrays.equals(this.octets, other.octets))) {
-                return false;
+            if (this.version.equals(other.version)
+                    && (Arrays.equals(this.octets, other.octets))) {
+                return true;
             }
         }
-        return true;
+        return false;
     }
 }
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 5b26d04..c978e52 100644
--- a/utils/misc/src/main/java/org/onlab/packet/VLANID.java
+++ b/utils/misc/src/main/java/org/onlab/packet/VLANID.java
@@ -6,20 +6,29 @@
 public class VLANID {
 
     private final short value;
-    private static final short NONE = 0;
+    // Based on convention used elsewhere? Check and change if needed
+    private static final short UNTAGGED = (short) 0xffff;
     // A VLAN ID is actually 12 bits of a VLAN tag.
     private static final short MAX_VLAN = 4095;
 
+    protected VLANID() {
+        this.value = UNTAGGED;
+    }
+
     protected VLANID(short value) {
         this.value = value;
     }
 
     public static VLANID vlanId() {
-        return new VLANID(NONE);
+        return new VLANID(UNTAGGED);
     }
 
     public static VLANID vlanId(short value) {
-        if (value >= MAX_VLAN) {
+        if (value == UNTAGGED) {
+            return new VLANID();
+        }
+
+        if (value > MAX_VLAN) {
             throw new IllegalArgumentException(
                     "value exceeds allowed maximum VLAN ID value (4095)");
         }