diff --git a/drivers/odtn-driver/src/main/java/org/onosproject/drivers/odtn/InfineraOpenConfigDeviceDiscovery.java b/drivers/odtn-driver/src/main/java/org/onosproject/drivers/odtn/InfineraOpenConfigDeviceDiscovery.java
index 347a0c8..4ebe973 100644
--- a/drivers/odtn-driver/src/main/java/org/onosproject/drivers/odtn/InfineraOpenConfigDeviceDiscovery.java
+++ b/drivers/odtn-driver/src/main/java/org/onosproject/drivers/odtn/InfineraOpenConfigDeviceDiscovery.java
@@ -148,14 +148,12 @@
         //log.warn("parent data Node: {}",
         //       ((SubnodeConfiguration) component).getParent().getRootNode().getName());
 
-
         String name = component.getString("name");
         checkNotNull(name);
         if (!name.contains("GIGECLIENTCTP")) {
             return null;
         }
 
-
         Builder builder = DefaultPortDescription.builder();
 
         Map<String, String> props = new HashMap<>();
@@ -168,12 +166,17 @@
         Matcher lineMatch = linePattern.matcher(name);
 
         if (clientMatch.find()) {
+            String num = clientMatch.group(1);
+            Integer connection = (Integer.parseInt(num) + 1) / 2;
             props.putIfAbsent(PORT_TYPE, OdtnPortType.CLIENT.value());
-            builder.withPortNumber(PortNumber.portNumber(Long.parseLong(clientMatch.group(1)), name));
+            props.putIfAbsent(CONNECTION_ID, "connection:" + connection.toString());
+            builder.withPortNumber(PortNumber.portNumber(Long.parseLong(num), name));
             builder.type(Type.PACKET);
         } else if (lineMatch.find()) {
+            String num = lineMatch.group(1);
             props.putIfAbsent(PORT_TYPE, OdtnPortType.LINE.value());
-            builder.withPortNumber(PortNumber.portNumber(100 + Long.parseLong(lineMatch.group(1)), name));
+            props.putIfAbsent(CONNECTION_ID, "connection:" + num);
+            builder.withPortNumber(PortNumber.portNumber(100 + Long.parseLong(num), name));
             builder.type(Type.OCH);
         } else {
             return null;
