diff --git a/src/main/java/net/onrc/onos/core/util/Pair.java b/src/main/java/net/onrc/onos/core/util/Pair.java
index abf9fed..6fe8101 100644
--- a/src/main/java/net/onrc/onos/core/util/Pair.java
+++ b/src/main/java/net/onrc/onos/core/util/Pair.java
@@ -1,5 +1,7 @@
 package net.onrc.onos.core.util;
 
+import java.util.Objects;
+
 /**
  * A generic class representing a pair of two values.
  */
@@ -22,4 +24,24 @@
     public String toString() {
         return String.format("<%s, %s>", first, second);
     }
+
+    @Override
+    public boolean equals(Object o) {
+        if (o == this) {
+            return true;
+        }
+
+        if (!(o instanceof Pair)) {
+            return false;
+        }
+
+        Pair<?, ?> that = (Pair<?, ?>) o;
+        return Objects.equals(this.first, that.first)
+                && Objects.equals(this.second, that.second);
+    }
+
+    @Override
+    public int hashCode() {
+        return Objects.hash(this.first, this.second);
+    }
 }
