Add equals and hashcode methods to IPv4Net, Ipv6 and IPv6Net

Change-Id: I1f2e7923e7d3a72b226c4c0122d851291b89c6c3
diff --git a/src/main/java/net/onrc/onos/core/util/IPv6.java b/src/main/java/net/onrc/onos/core/util/IPv6.java
index cd1a192..346d49b 100644
--- a/src/main/java/net/onrc/onos/core/util/IPv6.java
+++ b/src/main/java/net/onrc/onos/core/util/IPv6.java
@@ -1,5 +1,7 @@
 package net.onrc.onos.core.util;
 
+import java.util.Objects;
+
 import net.onrc.onos.core.util.serializers.IPv6Deserializer;
 import net.onrc.onos.core.util.serializers.IPv6Serializer;
 
@@ -87,4 +89,19 @@
         return HexString.toHexString(this.valueHigh) + ":" +
                 HexString.toHexString(this.valueLow);
     }
+
+    @Override
+    public boolean equals(Object o) {
+        if (!(o instanceof IPv6)) {
+            return false;
+        }
+        IPv6 other = (IPv6) o;
+        return this.valueHigh == other.valueHigh
+                && this.valueLow == other.valueLow;
+    }
+
+    @Override
+    public int hashCode() {
+        return Objects.hash(valueHigh, valueLow);
+    }
 }