diff --git a/net/api/src/main/java/org/onlab/onos/net/DeviceId.java b/net/api/src/main/java/org/onlab/onos/net/DeviceId.java
index 45528a4..124fa96 100644
--- a/net/api/src/main/java/org/onlab/onos/net/DeviceId.java
+++ b/net/api/src/main/java/org/onlab/onos/net/DeviceId.java
@@ -1,49 +1,19 @@
 package org.onlab.onos.net;
 
 import java.net.URI;
-import java.util.Objects;
-
-import static com.google.common.base.Objects.toStringHelper;
 
 /**
  * Immutable representation of a device identity.
  */
-public class DeviceId {
-
-    private final URI uri;
-
-    public DeviceId(URI uri) {
-        this.uri = uri;
-    }
+public class DeviceId extends ElementId {
 
     /**
-     * Returns the backing URI.
+     * Creates a device id using the supplied URI.
      *
-     * @return backing device URI
+     * @param uri backing device URI
      */
-    public URI uri() {
-        return uri;
-    }
-
-    @Override
-    public int hashCode() {
-        return Objects.hash(uri);
-    }
-
-    @Override
-    public boolean equals(Object obj) {
-        if (this == obj) {
-            return true;
-        }
-        if (obj == null || getClass() != obj.getClass()) {
-            return false;
-        }
-        final DeviceId other = (DeviceId) obj;
-        return Objects.equals(this.uri, other.uri);
-    }
-    @Override
-    public String toString() {
-        return toStringHelper(this).add("uri", uri).toString();
+    public DeviceId(URI uri) {
+        super(uri);
     }
 
 }
