diff --git a/core/api/src/main/java/org/onosproject/net/DefaultAnnotations.java b/core/api/src/main/java/org/onosproject/net/DefaultAnnotations.java
index 4cf92ba..13e74b8 100644
--- a/core/api/src/main/java/org/onosproject/net/DefaultAnnotations.java
+++ b/core/api/src/main/java/org/onosproject/net/DefaultAnnotations.java
@@ -38,6 +38,26 @@
         this.map = null;
     }
 
+    @Override
+    public boolean equals(Object o) {
+        if (this == o) {
+            return true;
+        }
+        if (o == null || getClass() != o.getClass()) {
+            return false;
+        }
+
+        DefaultAnnotations that = (DefaultAnnotations) o;
+
+        return Objects.equals(this.map, that.map);
+
+    }
+
+    @Override
+    public int hashCode() {
+        return Objects.hashCode(this.map);
+    }
+
     /**
      * Creates a new set of annotations using clone of the specified hash map.
      *
