diff --git a/web/gui/src/main/webapp/network.js b/web/gui/src/main/webapp/network.js
index 2af2e2b..9ac7241 100644
--- a/web/gui/src/main/webapp/network.js
+++ b/web/gui/src/main/webapp/network.js
@@ -89,9 +89,9 @@
             marginLR: 3,
             marginTB: 2,
             port: {
-                gap: 2,
-                width: 12,
-                height: 12
+                gap: 3,
+                width: 18,
+                height: 14
             }
         },
         icons: {
@@ -315,6 +315,7 @@
         portLabelsOn = !portLabelsOn;
         var portVis = portLabelsOn ? 'visible' : 'hidden';
         d3.selectAll('.port').style('visibility', portVis);
+        d3.selectAll('.portText').style('visibility', portVis);
     }
 
     function unpin() {
@@ -577,30 +578,46 @@
                 class: 'portLayer'
             });
 
-        var portVis = portLabelsOn ? 'visible' : 'hidden';
+        var portVis = portLabelsOn ? 'visible' : 'hidden',
+            pw = config.labels.port.width,
+            ph = config.labels.port.height;
 
         network.link.filter('.infra').each(function(d, i) {
             network.linkSrcPort.append('rect').attr({
                 id: 'srcPort-' + d.id,
                 class: 'port',
-                width: 12,
-                height: 12,
+                width: pw,
+                height: ph,
                 x: i * 20,
                 y: 0
             })
-            .style('visibility', portVis)
-                .append('text').text(d.srcPort);
+            .style('visibility', portVis);
 
             network.linkTgtPort.append('rect').attr({
                 id: 'tgtPort-' + d.id,
                 class: 'port',
-                width: 12,
-                height: 12,
+                width: pw,
+                height: ph,
                 x: i * 20,
                 y: 20
             })
             .style('visibility', portVis);
 
+            network.linkSrcPort.append('text').attr({
+                id: 'srcText-' + d.id,
+                class: 'portText',
+                x: i * 20,
+                y:0
+            }).text(d.srcPort)
+                .style('visibility', portVis);
+
+            network.linkTgtPort.append('text').attr({
+                id: 'tgtText-' + d.id,
+                class: 'portText',
+                x: i * 20,
+                y:20
+            }).text(d.tgtPort)
+                .style('visibility', portVis);
         });
 
         // ...............................................................
@@ -982,6 +999,15 @@
                 .attr('x', pxt - portHalfW)
                 .attr('y', pyt - portHalfH);
 
+            // TODO: fit label rect to size of port number.
+            d3.select('#srcText-' + d.id)
+                .attr('x', pxs - 5)
+                .attr('y', pys + 3);
+
+            d3.select('#tgtText-' + d.id)
+                .attr('x', pxt - 5)
+                .attr('y', pyt + 3);
+
         });
 
         // position each node by translating the node (group) by x,y
diff --git a/web/gui/src/main/webapp/onos.css b/web/gui/src/main/webapp/onos.css
index 15dd6b4..143f2b0 100644
--- a/web/gui/src/main/webapp/onos.css
+++ b/web/gui/src/main/webapp/onos.css
@@ -112,6 +112,14 @@
     fill: white;
 }
 
+svg g.portLayer text {
+    stroke: #888;
+    font-size: 8pt;
+    text-align: center;
+    font-weight: normal;
+    pointer-events: none;
+}
+
 svg .node.device rect {
     stroke-width: 1.5px;
 
