In vnet CLI, separates virutal port creation and binding operations.
Original usage with specifiying a phyiscal port is also in supporting.

Changes.
1. vnet-create-port allow to create virtual port
   without a specific virtual port
2. vnet-bind-port command is added to newly bind or to update
3. Virtual binding point is changed from Port to ConnectPoint.

Change-Id: I4c8f9a2b9b2786ba519ead3559d7f005390fee86
diff --git a/incubator/net/src/main/java/org/onosproject/incubator/net/virtual/impl/VirtualNetworkManager.java b/incubator/net/src/main/java/org/onosproject/incubator/net/virtual/impl/VirtualNetworkManager.java
index 56c4fd5..b75c2d5 100644
--- a/incubator/net/src/main/java/org/onosproject/incubator/net/virtual/impl/VirtualNetworkManager.java
+++ b/incubator/net/src/main/java/org/onosproject/incubator/net/virtual/impl/VirtualNetworkManager.java
@@ -50,7 +50,6 @@
 import org.onosproject.net.HostId;
 import org.onosproject.net.HostLocation;
 import org.onosproject.net.Link;
-import org.onosproject.net.Port;
 import org.onosproject.net.PortNumber;
 import org.onosproject.net.device.DeviceService;
 import org.onosproject.net.host.HostService;
@@ -225,7 +224,8 @@
         Set<VirtualPort> ports = store.getPorts(networkId, virtualCp.deviceId());
         for (VirtualPort port : ports) {
             if (port.number().equals(virtualCp.port())) {
-                return new ConnectPoint(port.realizedBy().element().id(), port.realizedBy().number());
+                return new ConnectPoint(port.realizedBy().deviceId(),
+                                        port.realizedBy().port());
             }
         }
         return null;
@@ -242,8 +242,8 @@
                                                     ConnectPoint physicalCp) {
         Set<VirtualPort> ports = store.getPorts(networkId, null);
         for (VirtualPort port : ports) {
-            if (port.realizedBy().element().id().equals(physicalCp.elementId()) &&
-                    port.realizedBy().number().equals(physicalCp.port())) {
+            if (port.realizedBy().deviceId().equals(physicalCp.elementId()) &&
+                    port.realizedBy().port().equals(physicalCp.port())) {
                 return new ConnectPoint(port.element().id(), port.number());
             }
         }
@@ -260,7 +260,7 @@
 
     @Override
     public VirtualPort createVirtualPort(NetworkId networkId, DeviceId deviceId,
-                                         PortNumber portNumber, Port realizedBy) {
+                                         PortNumber portNumber, ConnectPoint realizedBy) {
         checkNotNull(networkId, NETWORK_NULL);
         checkNotNull(deviceId, DEVICE_NULL);
         checkNotNull(portNumber, "Port description cannot be null");
@@ -268,6 +268,17 @@
     }
 
     @Override
+    public void bindVirtualPort(NetworkId networkId, DeviceId deviceId,
+                PortNumber portNumber, ConnectPoint realizedBy) {
+        checkNotNull(networkId, NETWORK_NULL);
+        checkNotNull(deviceId, DEVICE_NULL);
+        checkNotNull(portNumber, "Port description cannot be null");
+        checkNotNull(realizedBy, "Physical port description cannot be null");
+
+        store.bindPort(networkId, deviceId, portNumber, realizedBy);
+    }
+
+    @Override
     public void removeVirtualPort(NetworkId networkId, DeviceId deviceId, PortNumber portNumber) {
         checkNotNull(networkId, NETWORK_NULL);
         checkNotNull(deviceId, DEVICE_NULL);
diff --git a/incubator/net/src/test/java/org/onosproject/incubator/net/virtual/impl/VirtualNetworkDeviceServiceTest.java b/incubator/net/src/test/java/org/onosproject/incubator/net/virtual/impl/VirtualNetworkDeviceServiceTest.java
index d44d038..b682d05 100644
--- a/incubator/net/src/test/java/org/onosproject/incubator/net/virtual/impl/VirtualNetworkDeviceServiceTest.java
+++ b/incubator/net/src/test/java/org/onosproject/incubator/net/virtual/impl/VirtualNetworkDeviceServiceTest.java
@@ -30,11 +30,10 @@
 import org.onosproject.incubator.net.virtual.VirtualNetwork;
 import org.onosproject.incubator.net.virtual.VirtualPort;
 import org.onosproject.incubator.store.virtual.impl.DistributedVirtualNetworkStore;
-import org.onosproject.net.DefaultPort;
+import org.onosproject.net.ConnectPoint;
 import org.onosproject.net.Device;
 import org.onosproject.net.MastershipRole;
 import org.onosproject.net.NetTestTools;
-import org.onosproject.net.Port;
 import org.onosproject.net.PortNumber;
 import org.onosproject.net.TestDeviceParams;
 import org.onosproject.net.device.DeviceService;
@@ -232,10 +231,10 @@
 
         DeviceService deviceService = manager.get(virtualNetwork.id(), DeviceService.class);
 
-        Port port = new DefaultPort(virtualDevice, PortNumber.portNumber(1), true);
+        ConnectPoint cp = new ConnectPoint(virtualDevice.id(), PortNumber.portNumber(1));
 
-        manager.createVirtualPort(virtualNetwork.id(), virtualDevice.id(), PortNumber.portNumber(1), port);
-        manager.createVirtualPort(virtualNetwork.id(), virtualDevice.id(), PortNumber.portNumber(2), port);
+        manager.createVirtualPort(virtualNetwork.id(), virtualDevice.id(), PortNumber.portNumber(1), cp);
+        manager.createVirtualPort(virtualNetwork.id(), virtualDevice.id(), PortNumber.portNumber(2), cp);
 
         // test the getPorts() method
         assertEquals("The port set size did not match.", 2,
@@ -256,11 +255,11 @@
 
         DeviceService deviceService = manager.get(virtualNetwork.id(), DeviceService.class);
 
-        Port port = new DefaultPort(virtualDevice, PortNumber.portNumber(1), true);
+        ConnectPoint cp = new ConnectPoint(virtualDevice.id(), PortNumber.portNumber(1));
 
         VirtualPort virtualPort1 = manager.createVirtualPort(virtualNetwork.id(), virtualDevice.id(),
-                                                             PortNumber.portNumber(1), port);
-        manager.createVirtualPort(virtualNetwork.id(), virtualDevice.id(), PortNumber.portNumber(2), port);
+                                                             PortNumber.portNumber(1), cp);
+        manager.createVirtualPort(virtualNetwork.id(), virtualDevice.id(), PortNumber.portNumber(2), cp);
 
         // test the getPort() method
         assertEquals("The port did not match as expected.", virtualPort1,
diff --git a/incubator/net/src/test/java/org/onosproject/incubator/net/virtual/impl/VirtualNetworkIntentServiceTest.java b/incubator/net/src/test/java/org/onosproject/incubator/net/virtual/impl/VirtualNetworkIntentServiceTest.java
index 9f5eb61..1e7625d 100644
--- a/incubator/net/src/test/java/org/onosproject/incubator/net/virtual/impl/VirtualNetworkIntentServiceTest.java
+++ b/incubator/net/src/test/java/org/onosproject/incubator/net/virtual/impl/VirtualNetworkIntentServiceTest.java
@@ -180,28 +180,28 @@
                 manager.createVirtualDevice(virtualNetwork.id(), DID4);
 
         Port port1 = new DefaultPort(virtualDevice1, PortNumber.portNumber(1), true);
-        manager.createVirtualPort(virtualNetwork.id(), virtualDevice1.id(), port1.number(), port1);
         cp1 = new ConnectPoint(virtualDevice1.id(), port1.number());
+        manager.createVirtualPort(virtualNetwork.id(), virtualDevice1.id(), port1.number(), cp1);
 
         Port port2 = new DefaultPort(virtualDevice1, PortNumber.portNumber(2), true);
-        manager.createVirtualPort(virtualNetwork.id(), virtualDevice1.id(), port2.number(), port2);
         cp2 = new ConnectPoint(virtualDevice1.id(), port2.number());
+        manager.createVirtualPort(virtualNetwork.id(), virtualDevice1.id(), port2.number(), cp2);
 
         Port port3 = new DefaultPort(virtualDevice2, PortNumber.portNumber(3), true);
-        manager.createVirtualPort(virtualNetwork.id(), virtualDevice2.id(), port3.number(), port3);
         cp3 = new ConnectPoint(virtualDevice2.id(), port3.number());
+        manager.createVirtualPort(virtualNetwork.id(), virtualDevice2.id(), port3.number(), cp3);
 
         Port port4 = new DefaultPort(virtualDevice2, PortNumber.portNumber(4), true);
-        manager.createVirtualPort(virtualNetwork.id(), virtualDevice2.id(), port4.number(), port4);
         cp4 = new ConnectPoint(virtualDevice2.id(), port4.number());
+        manager.createVirtualPort(virtualNetwork.id(), virtualDevice2.id(), port4.number(), cp4);
 
         Port port5 = new DefaultPort(virtualDevice3, PortNumber.portNumber(5), true);
-        manager.createVirtualPort(virtualNetwork.id(), virtualDevice3.id(), port5.number(), port5);
         cp5 = new ConnectPoint(virtualDevice3.id(), port5.number());
+        manager.createVirtualPort(virtualNetwork.id(), virtualDevice3.id(), port5.number(), cp5);
 
         Port port6 = new DefaultPort(virtualDevice3, PortNumber.portNumber(6), true);
-        manager.createVirtualPort(virtualNetwork.id(), virtualDevice3.id(), port6.number(), port6);
         cp6 = new ConnectPoint(virtualDevice3.id(), port6.number());
+        manager.createVirtualPort(virtualNetwork.id(), virtualDevice3.id(), port6.number(), cp6);
 
         link1 = manager.createVirtualLink(virtualNetwork.id(), cp1, cp3);
         virtualNetworkManagerStore.updateLink(link1, link1.tunnelId(), Link.State.ACTIVE);
diff --git a/incubator/net/src/test/java/org/onosproject/incubator/net/virtual/impl/VirtualNetworkLinkServiceTest.java b/incubator/net/src/test/java/org/onosproject/incubator/net/virtual/impl/VirtualNetworkLinkServiceTest.java
index 82c7044..53b21d7 100644
--- a/incubator/net/src/test/java/org/onosproject/incubator/net/virtual/impl/VirtualNetworkLinkServiceTest.java
+++ b/incubator/net/src/test/java/org/onosproject/incubator/net/virtual/impl/VirtualNetworkLinkServiceTest.java
@@ -31,7 +31,6 @@
 import org.onosproject.incubator.net.virtual.VirtualNetwork;
 import org.onosproject.incubator.store.virtual.impl.DistributedVirtualNetworkStore;
 import org.onosproject.net.ConnectPoint;
-import org.onosproject.net.DefaultPort;
 import org.onosproject.net.Link;
 import org.onosproject.net.NetTestTools;
 import org.onosproject.net.PortNumber;
@@ -99,11 +98,11 @@
                 manager.createVirtualDevice(virtualNetwork.id(), DID2);
         ConnectPoint src = new ConnectPoint(srcVirtualDevice.id(), PortNumber.portNumber(1));
         manager.createVirtualPort(virtualNetwork.id(), src.deviceId(), src.port(),
-                                  new DefaultPort(srcVirtualDevice, src.port(), true));
+                                  new ConnectPoint(srcVirtualDevice.id(), src.port()));
 
         ConnectPoint dst = new ConnectPoint(dstVirtualDevice.id(), PortNumber.portNumber(2));
         manager.createVirtualPort(virtualNetwork.id(), dst.deviceId(), dst.port(),
-                                  new DefaultPort(dstVirtualDevice, dst.port(), true));
+                                  new ConnectPoint(dstVirtualDevice.id(), dst.port()));
 
         VirtualLink link1 = manager.createVirtualLink(virtualNetwork.id(), src, dst);
         VirtualLink link2 = manager.createVirtualLink(virtualNetwork.id(), dst, src);
diff --git a/incubator/net/src/test/java/org/onosproject/incubator/net/virtual/impl/VirtualNetworkManagerTest.java b/incubator/net/src/test/java/org/onosproject/incubator/net/virtual/impl/VirtualNetworkManagerTest.java
index 644ba0c..81fbdf5 100644
--- a/incubator/net/src/test/java/org/onosproject/incubator/net/virtual/impl/VirtualNetworkManagerTest.java
+++ b/incubator/net/src/test/java/org/onosproject/incubator/net/virtual/impl/VirtualNetworkManagerTest.java
@@ -42,11 +42,9 @@
 import org.onosproject.incubator.net.virtual.VirtualPort;
 import org.onosproject.incubator.store.virtual.impl.DistributedVirtualNetworkStore;
 import org.onosproject.net.ConnectPoint;
-import org.onosproject.net.DefaultPort;
 import org.onosproject.net.DeviceId;
 import org.onosproject.net.Link;
 import org.onosproject.net.NetTestTools;
-import org.onosproject.net.Port;
 import org.onosproject.net.PortNumber;
 import org.onosproject.net.TestDeviceParams;
 import org.onosproject.net.intent.FakeIntentManager;
@@ -321,11 +319,11 @@
                 manager.createVirtualDevice(virtualNetwork1.id(), DID2);
         ConnectPoint src = new ConnectPoint(srcVirtualDevice.id(), PortNumber.portNumber(1));
         manager.createVirtualPort(virtualNetwork1.id(), src.deviceId(), src.port(),
-                                  new DefaultPort(srcVirtualDevice, src.port(), true));
+                                  new ConnectPoint(srcVirtualDevice.id(), src.port()));
 
         ConnectPoint dst = new ConnectPoint(dstVirtualDevice.id(), PortNumber.portNumber(2));
         manager.createVirtualPort(virtualNetwork1.id(), dst.deviceId(), dst.port(),
-                                  new DefaultPort(dstVirtualDevice, dst.port(), true));
+                                  new ConnectPoint(dstVirtualDevice.id(), dst.port()));
 
         manager.createVirtualLink(virtualNetwork1.id(), src, dst);
         manager.createVirtualLink(virtualNetwork1.id(), dst, src);
@@ -362,11 +360,11 @@
                 manager.createVirtualDevice(virtualNetwork1.id(), DID2);
         ConnectPoint src = new ConnectPoint(srcVirtualDevice.id(), PortNumber.portNumber(1));
         manager.createVirtualPort(virtualNetwork1.id(), src.deviceId(), src.port(),
-                                  new DefaultPort(srcVirtualDevice, src.port(), true));
+                                  new ConnectPoint(srcVirtualDevice.id(), src.port()));
 
         ConnectPoint dst = new ConnectPoint(dstVirtualDevice.id(), PortNumber.portNumber(2));
         manager.createVirtualPort(virtualNetwork1.id(), dst.deviceId(), dst.port(),
-                                  new DefaultPort(dstVirtualDevice, dst.port(), true));
+                                  new ConnectPoint(dstVirtualDevice.id(), dst.port()));
 
         manager.createVirtualLink(virtualNetwork1.id(), src, dst);
         manager.createVirtualLink(virtualNetwork1.id(), src, dst);
@@ -381,16 +379,15 @@
         VirtualNetwork virtualNetwork1 = manager.createVirtualNetwork(TenantId.tenantId(tenantIdValue1));
         VirtualDevice virtualDevice =
                 manager.createVirtualDevice(virtualNetwork1.id(), DID1);
-        Port port = new DefaultPort(virtualDevice, PortNumber.portNumber(1), true);
+        ConnectPoint cp = new ConnectPoint(virtualDevice.id(), PortNumber.portNumber(1));
 
-        manager.createVirtualPort(virtualNetwork1.id(), virtualDevice.id(), PortNumber.portNumber(1), port);
-        manager.createVirtualPort(virtualNetwork1.id(), virtualDevice.id(), PortNumber.portNumber(2), port);
+        manager.createVirtualPort(virtualNetwork1.id(), virtualDevice.id(), PortNumber.portNumber(1), cp);
+        manager.createVirtualPort(virtualNetwork1.id(), virtualDevice.id(), PortNumber.portNumber(2), cp);
 
         Set<VirtualPort> virtualPorts = manager.getVirtualPorts(virtualNetwork1.id(), virtualDevice.id());
         assertNotNull("The virtual port set should not be null", virtualPorts);
         assertEquals("The virtual port set size did not match.", 2, virtualPorts.size());
 
-
         for (VirtualPort virtualPort : virtualPorts) {
             manager.removeVirtualPort(virtualNetwork1.id(),
                                       (DeviceId) virtualPort.element().id(), virtualPort.number());
@@ -403,7 +400,7 @@
 
         // Add/remove the virtual port again.
         VirtualPort virtualPort = manager.createVirtualPort(virtualNetwork1.id(), virtualDevice.id(),
-                                                            PortNumber.portNumber(1), port);
+                                                            PortNumber.portNumber(1), cp);
         manager.removeVirtualPort(virtualNetwork1.id(), (DeviceId) virtualPort.element().id(), virtualPort.number());
         virtualPorts = manager.getVirtualPorts(virtualNetwork1.id(), virtualDevice.id());
         assertTrue("The virtual port set should be empty.", virtualPorts.isEmpty());
@@ -519,48 +516,39 @@
 
         ConnectPoint cp1 = new ConnectPoint(virtualDevice1.id(), PortNumber.portNumber(1));
         manager.createVirtualPort(virtualNetwork.id(), virtualDevice1.id(),
-                                  PortNumber.portNumber(1),
-                                  new DefaultPort(virtualDevice1, PortNumber.portNumber(1), true));
+                                  PortNumber.portNumber(1), cp1);
 
         ConnectPoint cp2 = new ConnectPoint(virtualDevice1.id(), PortNumber.portNumber(2));
         manager.createVirtualPort(virtualNetwork.id(), virtualDevice1.id(),
-                                  PortNumber.portNumber(2),
-                                  new DefaultPort(virtualDevice1, PortNumber.portNumber(2), true));
+                                  PortNumber.portNumber(2), cp2);
 
         ConnectPoint cp3 = new ConnectPoint(virtualDevice2.id(), PortNumber.portNumber(3));
         manager.createVirtualPort(virtualNetwork.id(), virtualDevice2.id(),
-                                  PortNumber.portNumber(3),
-                                  new DefaultPort(virtualDevice2, PortNumber.portNumber(3), true));
+                                  PortNumber.portNumber(3), cp3);
 
         ConnectPoint cp4 = new ConnectPoint(virtualDevice2.id(), PortNumber.portNumber(4));
         manager.createVirtualPort(virtualNetwork.id(), virtualDevice2.id(),
-                                  PortNumber.portNumber(4),
-                                  new DefaultPort(virtualDevice2, PortNumber.portNumber(4), true));
+                                  PortNumber.portNumber(4), cp4);
 
         ConnectPoint cp5 = new ConnectPoint(virtualDevice3.id(), PortNumber.portNumber(5));
         manager.createVirtualPort(virtualNetwork.id(), virtualDevice3.id(),
-                                  PortNumber.portNumber(5),
-                                  new DefaultPort(virtualDevice3, PortNumber.portNumber(5), true));
+                                  PortNumber.portNumber(5), cp5);
 
         cp6 = new ConnectPoint(virtualDevice3.id(), PortNumber.portNumber(6));
         manager.createVirtualPort(virtualNetwork.id(), virtualDevice3.id(),
-                                  PortNumber.portNumber(6),
-                                  new DefaultPort(virtualDevice3, PortNumber.portNumber(6), true));
+                                  PortNumber.portNumber(6), cp6);
 
         cp7 = new ConnectPoint(virtualDevice4.id(), PortNumber.portNumber(7));
         manager.createVirtualPort(virtualNetwork.id(), virtualDevice4.id(),
-                                  PortNumber.portNumber(7),
-                                  new DefaultPort(virtualDevice4, PortNumber.portNumber(7), true));
+                                  PortNumber.portNumber(7), cp7);
 
         ConnectPoint cp8 = new ConnectPoint(virtualDevice4.id(), PortNumber.portNumber(8));
         manager.createVirtualPort(virtualNetwork.id(), virtualDevice4.id(),
-                                  PortNumber.portNumber(8),
-                                  new DefaultPort(virtualDevice4, PortNumber.portNumber(8), true));
+                                  PortNumber.portNumber(8), cp8);
 
         ConnectPoint cp9 = new ConnectPoint(virtualDevice5.id(), PortNumber.portNumber(9));
         manager.createVirtualPort(virtualNetwork.id(), virtualDevice5.id(),
-                                  PortNumber.portNumber(9),
-                                  new DefaultPort(virtualDevice5, PortNumber.portNumber(9), true));
+                                  PortNumber.portNumber(9), cp9);
 
         VirtualLink link1 = manager.createVirtualLink(virtualNetwork.id(), cp1, cp3);
         virtualNetworkManagerStore.updateLink(link1, link1.tunnelId(), Link.State.ACTIVE);
diff --git a/incubator/net/src/test/java/org/onosproject/incubator/net/virtual/impl/VirtualNetworkPathServiceTest.java b/incubator/net/src/test/java/org/onosproject/incubator/net/virtual/impl/VirtualNetworkPathServiceTest.java
index 6e5f4e8..9a1faf7 100644
--- a/incubator/net/src/test/java/org/onosproject/incubator/net/virtual/impl/VirtualNetworkPathServiceTest.java
+++ b/incubator/net/src/test/java/org/onosproject/incubator/net/virtual/impl/VirtualNetworkPathServiceTest.java
@@ -28,7 +28,6 @@
 import org.onosproject.incubator.net.virtual.VirtualNetwork;
 import org.onosproject.incubator.store.virtual.impl.DistributedVirtualNetworkStore;
 import org.onosproject.net.ConnectPoint;
-import org.onosproject.net.DefaultPort;
 import org.onosproject.net.DeviceId;
 import org.onosproject.net.DisjointPath;
 import org.onosproject.net.ElementId;
@@ -141,7 +140,7 @@
             VirtualNetwork vnet, VirtualDevice vDev, long portNumber) {
         ConnectPoint cp = new ConnectPoint(vDev.id(), PortNumber.portNumber(portNumber));
         manager.createVirtualPort(vnet.id(), cp.deviceId(), cp.port(),
-                                  new DefaultPort(vDev, cp.port(), true));
+                                  new ConnectPoint(vDev.id(), cp.port()));
         return cp;
     }
 
diff --git a/incubator/net/src/test/java/org/onosproject/incubator/net/virtual/impl/VirtualNetworkTopologyProviderTest.java b/incubator/net/src/test/java/org/onosproject/incubator/net/virtual/impl/VirtualNetworkTopologyProviderTest.java
index 6f53387..d95aaf2 100644
--- a/incubator/net/src/test/java/org/onosproject/incubator/net/virtual/impl/VirtualNetworkTopologyProviderTest.java
+++ b/incubator/net/src/test/java/org/onosproject/incubator/net/virtual/impl/VirtualNetworkTopologyProviderTest.java
@@ -36,7 +36,6 @@
 import org.onosproject.incubator.net.virtual.VirtualNetworkProviderService;
 import org.onosproject.incubator.store.virtual.impl.DistributedVirtualNetworkStore;
 import org.onosproject.net.ConnectPoint;
-import org.onosproject.net.DefaultPort;
 import org.onosproject.net.Link;
 import org.onosproject.net.NetTestTools;
 import org.onosproject.net.PortNumber;
@@ -152,48 +151,39 @@
 
         cp1 = new ConnectPoint(virtualDevice1.id(), PortNumber.portNumber(1));
         manager.createVirtualPort(virtualNetwork.id(), virtualDevice1.id(),
-                                  PortNumber.portNumber(1),
-                                  new DefaultPort(virtualDevice1, PortNumber.portNumber(1), true));
+                                  PortNumber.portNumber(1), cp1);
 
         cp2 = new ConnectPoint(virtualDevice1.id(), PortNumber.portNumber(2));
         manager.createVirtualPort(virtualNetwork.id(), virtualDevice1.id(),
-                                  PortNumber.portNumber(2),
-                                  new DefaultPort(virtualDevice1, PortNumber.portNumber(2), true));
+                                  PortNumber.portNumber(2), cp2);
 
         cp3 = new ConnectPoint(virtualDevice2.id(), PortNumber.portNumber(3));
         manager.createVirtualPort(virtualNetwork.id(), virtualDevice2.id(),
-                                  PortNumber.portNumber(3),
-                                  new DefaultPort(virtualDevice2, PortNumber.portNumber(3), true));
+                                  PortNumber.portNumber(3), cp3);
 
         cp4 = new ConnectPoint(virtualDevice2.id(), PortNumber.portNumber(4));
         manager.createVirtualPort(virtualNetwork.id(), virtualDevice2.id(),
-                                  PortNumber.portNumber(4),
-                                  new DefaultPort(virtualDevice2, PortNumber.portNumber(4), true));
+                                  PortNumber.portNumber(4), cp4);
 
         cp5 = new ConnectPoint(virtualDevice3.id(), PortNumber.portNumber(5));
         manager.createVirtualPort(virtualNetwork.id(), virtualDevice3.id(),
-                                  PortNumber.portNumber(5),
-                                  new DefaultPort(virtualDevice3, PortNumber.portNumber(5), true));
+                                  PortNumber.portNumber(5), cp5);
 
         cp6 = new ConnectPoint(virtualDevice3.id(), PortNumber.portNumber(6));
         manager.createVirtualPort(virtualNetwork.id(), virtualDevice3.id(),
-                                  PortNumber.portNumber(6),
-                                  new DefaultPort(virtualDevice3, PortNumber.portNumber(6), true));
+                                  PortNumber.portNumber(6), cp6);
 
         cp7 = new ConnectPoint(virtualDevice4.id(), PortNumber.portNumber(7));
         manager.createVirtualPort(virtualNetwork.id(), virtualDevice4.id(),
-                                  PortNumber.portNumber(7),
-                                  new DefaultPort(virtualDevice4, PortNumber.portNumber(7), true));
+                                  PortNumber.portNumber(7), cp7);
 
         cp8 = new ConnectPoint(virtualDevice4.id(), PortNumber.portNumber(8));
         manager.createVirtualPort(virtualNetwork.id(), virtualDevice4.id(),
-                                  PortNumber.portNumber(8),
-                                  new DefaultPort(virtualDevice4, PortNumber.portNumber(8), true));
+                                  PortNumber.portNumber(8), cp8);
 
         cp9 = new ConnectPoint(virtualDevice5.id(), PortNumber.portNumber(9));
         manager.createVirtualPort(virtualNetwork.id(), virtualDevice5.id(),
-                                  PortNumber.portNumber(9),
-                                  new DefaultPort(virtualDevice5, PortNumber.portNumber(9), true));
+                                  PortNumber.portNumber(9), cp9);
 
         VirtualLink link1 = manager.createVirtualLink(virtualNetwork.id(), cp1, cp3);
         virtualNetworkManagerStore.updateLink(link1, link1.tunnelId(), Link.State.ACTIVE);
diff --git a/incubator/net/src/test/java/org/onosproject/incubator/net/virtual/impl/VirtualNetworkTopologyServiceTest.java b/incubator/net/src/test/java/org/onosproject/incubator/net/virtual/impl/VirtualNetworkTopologyServiceTest.java
index 267e012..35ed039 100644
--- a/incubator/net/src/test/java/org/onosproject/incubator/net/virtual/impl/VirtualNetworkTopologyServiceTest.java
+++ b/incubator/net/src/test/java/org/onosproject/incubator/net/virtual/impl/VirtualNetworkTopologyServiceTest.java
@@ -31,7 +31,6 @@
 import org.onosproject.incubator.net.virtual.VirtualNetwork;
 import org.onosproject.incubator.store.virtual.impl.DistributedVirtualNetworkStore;
 import org.onosproject.net.ConnectPoint;
-import org.onosproject.net.DefaultPort;
 import org.onosproject.net.DeviceId;
 import org.onosproject.net.DisjointPath;
 import org.onosproject.net.Link;
@@ -109,28 +108,22 @@
                 manager.createVirtualDevice(virtualNetwork.id(), DID4);
 
         ConnectPoint cp1 = new ConnectPoint(virtualDevice1.id(), PortNumber.portNumber(1));
-        manager.createVirtualPort(virtualNetwork.id(), cp1.deviceId(), cp1.port(),
-                                  new DefaultPort(virtualDevice1, cp1.port(), true));
+        manager.createVirtualPort(virtualNetwork.id(), cp1.deviceId(), cp1.port(), cp1);
 
         ConnectPoint cp2 = new ConnectPoint(virtualDevice1.id(), PortNumber.portNumber(2));
-        manager.createVirtualPort(virtualNetwork.id(), cp2.deviceId(), cp2.port(),
-                                  new DefaultPort(virtualDevice1, cp2.port(), true));
+        manager.createVirtualPort(virtualNetwork.id(), cp2.deviceId(), cp2.port(), cp2);
 
         ConnectPoint cp3 = new ConnectPoint(virtualDevice2.id(), PortNumber.portNumber(3));
-        manager.createVirtualPort(virtualNetwork.id(), cp3.deviceId(), cp3.port(),
-                                  new DefaultPort(virtualDevice2, cp3.port(), true));
+        manager.createVirtualPort(virtualNetwork.id(), cp3.deviceId(), cp3.port(), cp3);
 
         ConnectPoint cp4 = new ConnectPoint(virtualDevice2.id(), PortNumber.portNumber(4));
-        manager.createVirtualPort(virtualNetwork.id(), cp4.deviceId(), cp4.port(),
-                                  new DefaultPort(virtualDevice2, cp4.port(), true));
+        manager.createVirtualPort(virtualNetwork.id(), cp4.deviceId(), cp4.port(), cp4);
 
         ConnectPoint cp5 = new ConnectPoint(virtualDevice3.id(), PortNumber.portNumber(5));
-        manager.createVirtualPort(virtualNetwork.id(), cp5.deviceId(), cp5.port(),
-                                  new DefaultPort(virtualDevice3, cp5.port(), true));
+        manager.createVirtualPort(virtualNetwork.id(), cp5.deviceId(), cp5.port(), cp5);
 
         ConnectPoint cp6 = new ConnectPoint(virtualDevice3.id(), PortNumber.portNumber(6));
-        manager.createVirtualPort(virtualNetwork.id(), cp6.deviceId(), cp6.port(),
-                                  new DefaultPort(virtualDevice3, cp6.port(), true));
+        manager.createVirtualPort(virtualNetwork.id(), cp6.deviceId(), cp6.port(), cp6);
 
         VirtualLink link1 = manager.createVirtualLink(virtualNetwork.id(), cp1, cp3);
         virtualNetworkManagerStore.updateLink(link1, link1.tunnelId(), Link.State.ACTIVE);
@@ -197,11 +190,11 @@
         topology = topologyService.currentTopology();
         ConnectPoint src = new ConnectPoint(srcVirtualDevice.id(), PortNumber.portNumber(1));
         manager.createVirtualPort(virtualNetwork.id(), src.deviceId(), src.port(),
-                                  new DefaultPort(srcVirtualDevice, src.port(), true));
+                                  new ConnectPoint(srcVirtualDevice.id(), src.port()));
 
         ConnectPoint dst = new ConnectPoint(dstVirtualDevice.id(), PortNumber.portNumber(2));
         manager.createVirtualPort(virtualNetwork.id(), dst.deviceId(), dst.port(),
-                                  new DefaultPort(dstVirtualDevice, dst.port(), true));
+                                  new ConnectPoint(dstVirtualDevice.id(), dst.port()));
         VirtualLink link1 = manager.createVirtualLink(virtualNetwork.id(), src, dst);
 
         // test the isLatest() method where a new link has been added to the current topology.