diff --git a/core/api/src/main/java/org/onosproject/net/AnnotationKeys.java b/core/api/src/main/java/org/onosproject/net/AnnotationKeys.java
index 4949bc4..8c5fb79 100644
--- a/core/api/src/main/java/org/onosproject/net/AnnotationKeys.java
+++ b/core/api/src/main/java/org/onosproject/net/AnnotationKeys.java
@@ -25,8 +25,10 @@
  */
 public final class AnnotationKeys {
 
+
     // Prohibit instantiation
-    private AnnotationKeys() {}
+    private AnnotationKeys() {
+    }
 
     /**
      * Annotation key for instance name.
@@ -125,12 +127,22 @@
     public static final String OWNER = "owner";
 
     /**
+     * Annotation key for the channel id.
+     */
+    public static final String CHANNEL_ID = "channelId";
+
+    /**
+     * Annotation key for the management address.
+     */
+    public static final String MANAGEMENT_ADDRESS = "managementAddress";
+
+    /**
      * Returns the value annotated object for the specified annotation key.
      * The annotated value is expected to be String that can be parsed as double.
      * If parsing fails, the returned value will be 1.0.
      *
      * @param annotated annotated object whose annotated value is obtained
-     * @param key key of annotation
+     * @param key       key of annotation
      * @return double value of annotated object for the specified key
      */
     public static double getAnnotatedValue(Annotated annotated, String key) {
diff --git a/core/api/src/main/java/org/onosproject/net/config/basics/BasicDeviceConfig.java b/core/api/src/main/java/org/onosproject/net/config/basics/BasicDeviceConfig.java
index fd8bfa3..afde9a9 100644
--- a/core/api/src/main/java/org/onosproject/net/config/basics/BasicDeviceConfig.java
+++ b/core/api/src/main/java/org/onosproject/net/config/basics/BasicDeviceConfig.java
@@ -25,6 +25,7 @@
 
     public static final String TYPE = "type";
     public static final String DRIVER = "driver";
+    public static final String MANAGEMENT_ADDRESS = "managementAddress";
 
     /**
      * Returns the device type.
@@ -64,6 +65,25 @@
         return (BasicElementConfig) setOrClear(DRIVER, driverName);
     }
 
+    /**
+     * Returns the device management ip (ip:port).
+     *
+     * @return device management address (ip:port) or null if not set
+     */
+    public String managementAddress() {
+        return get(MANAGEMENT_ADDRESS, null);
+    }
+
+    /**
+     * Sets the driver name.
+     *
+     * @param managementAddress new device management address (ip:port); null to clear
+     * @return self
+     */
+    public BasicElementConfig managementAddress(String managementAddress) {
+        return (BasicElementConfig) setOrClear(MANAGEMENT_ADDRESS, managementAddress);
+    }
+
     // TODO: device port meta-data to be configured via BasicPortsConfig
     // TODO: device credentials/keys
 
