diff --git a/apps/roadm/src/main/java/org/onosproject/roadm/RoadmDeviceViewMessageHandler.java b/apps/roadm/src/main/java/org/onosproject/roadm/RoadmDeviceViewMessageHandler.java
index 926b576..51c8946 100644
--- a/apps/roadm/src/main/java/org/onosproject/roadm/RoadmDeviceViewMessageHandler.java
+++ b/apps/roadm/src/main/java/org/onosproject/roadm/RoadmDeviceViewMessageHandler.java
@@ -92,7 +92,8 @@
         protected void populateTable(TableModel tm, ObjectNode payload) {
             for (Device device : deviceService.getDevices()) {
                 Type type = device.type();
-                if (type == Type.ROADM || type == Type.OPTICAL_AMPLIFIER || type == Type.FIBER_SWITCH) {
+                if (type == Type.ROADM || type == Type.TERMINAL_DEVICE
+                        || type == Type.OPTICAL_AMPLIFIER || type == Type.FIBER_SWITCH) {
                     populateRow(tm.addRow(), device);
                 }
             }
diff --git a/apps/roadm/src/main/java/org/onosproject/roadm/RoadmPortViewMessageHandler.java b/apps/roadm/src/main/java/org/onosproject/roadm/RoadmPortViewMessageHandler.java
index 52a73d5..192eb2e 100644
--- a/apps/roadm/src/main/java/org/onosproject/roadm/RoadmPortViewMessageHandler.java
+++ b/apps/roadm/src/main/java/org/onosproject/roadm/RoadmPortViewMessageHandler.java
@@ -31,6 +31,7 @@
 import org.onosproject.net.OchSignal;
 import org.onosproject.net.Port;
 import org.onosproject.net.PortNumber;
+import org.onosproject.net.intent.OpticalPathIntent;
 import org.onosproject.net.optical.OpticalAnnotations;
 import org.onosproject.ui.RequestHandler;
 import org.onosproject.ui.UiConnection;
@@ -69,6 +70,7 @@
     private static final String ROADM_SET_OPS_MODE_RESP = "roadmSetOpsModeResponse";
 
     private static final String ID = "id";
+    private static final String REVERSE_PORT = "reversePort";
     private static final String NAME = "name";
     private static final String TYPE = "type";
     private static final String ENABLED = "enabled";
@@ -82,7 +84,7 @@
     private static final String SERVICE_STATE = "serviceState";
 
     private static final String[] COLUMN_IDS = {
-            ID, TYPE, NAME, ENABLED, MIN_FREQ, MAX_FREQ, GRID, POWER_RANGE,
+            ID, REVERSE_PORT, TYPE, NAME, ENABLED, MIN_FREQ, MAX_FREQ, GRID, POWER_RANGE,
             CURRENT_POWER, SERVICE_STATE, TARGET_POWER, HAS_TARGET_POWER
     };
 
@@ -139,6 +141,8 @@
             PortNumber portNum = port.number();
             getFrequencyLimit(deviceId, portNum);
             row.cell(ID, portNum.toLong())
+                    .cell(REVERSE_PORT, RoadmUtil.getAnnotation(port.annotations(),
+                            OpticalPathIntent.REVERSE_PORT_ANNOTATION_KEY))
                     .cell(TYPE, port.type())
                     .cell(ENABLED, port.isEnabled())
                     .cell(NAME, RoadmUtil.getAnnotation(port.annotations(), AnnotationKeys.PORT_NAME))
diff --git a/apps/roadm/src/main/resources/app/view/roadmPort/roadmPort.html b/apps/roadm/src/main/resources/app/view/roadmPort/roadmPort.html
index f896ebd..57cc441 100644
--- a/apps/roadm/src/main/resources/app/view/roadmPort/roadmPort.html
+++ b/apps/roadm/src/main/resources/app/view/roadmPort/roadmPort.html
@@ -31,6 +31,7 @@
             <table>
                 <tr>
                     <td colId="id" sortable>Port Number </td>
+                    <td colId="reversePort" sortable>Reverse </td>
                     <td colId="name" sortable>Name </td>
                     <td colId="type" sortable>Type </td>
                     <td colId="enabled" sortable>Enabled </td>
@@ -56,6 +57,7 @@
                 <tr ng-repeat="item in tableData track by $index"
                     ng-class="{selected: item.id === selId}">
                     <td>{{item.id}}</td>
+                    <td>{{item.reversePort}}</td>
                     <td>{{item.name}}</td>
                     <td>{{item.type}}</td>
                     <td>{{item.enabled}}</td>
