[ONOS-6186] Implement VLAN based virtual network provisioning and logical switching
Change-Id: I1dcee5377b3d4d9ec5fc3d6bc851a90a016074dc
diff --git a/apps/openstacknode/src/main/java/org/onosproject/openstacknode/OpenstackNodeManager.java b/apps/openstacknode/src/main/java/org/onosproject/openstacknode/OpenstackNodeManager.java
index 0bf78bf..643678a 100644
--- a/apps/openstacknode/src/main/java/org/onosproject/openstacknode/OpenstackNodeManager.java
+++ b/apps/openstacknode/src/main/java/org/onosproject/openstacknode/OpenstackNodeManager.java
@@ -344,6 +344,17 @@
}
@Override
+ public Optional<PortNumber> vlanPort(DeviceId intBridgeId) {
+ Optional<String> vlanPortName = nodeByDeviceId(intBridgeId).vlanPort();
+
+ return deviceService.getPorts(intBridgeId).stream()
+ .filter(p -> p.annotations().value(PORT_NAME).equals(vlanPortName.get()) &&
+ p.isEnabled())
+ .map(Port::number).findFirst();
+
+ }
+
+ @Override
public Optional<DeviceId> routerBridge(DeviceId intBridgeId) {
OpenstackNode node = nodeByDeviceId(intBridgeId);
if (node == null || node.type().equals(NodeType.COMPUTE)) {
diff --git a/apps/openstacknode/src/main/java/org/onosproject/openstacknode/OpenstackNodeService.java b/apps/openstacknode/src/main/java/org/onosproject/openstacknode/OpenstackNodeService.java
index 0fb6e77..7362893 100644
--- a/apps/openstacknode/src/main/java/org/onosproject/openstacknode/OpenstackNodeService.java
+++ b/apps/openstacknode/src/main/java/org/onosproject/openstacknode/OpenstackNodeService.java
@@ -112,6 +112,14 @@
Optional<PortNumber> tunnelPort(DeviceId intBridgeId);
/**
+ * Returns vlan port number of a given integration bridge device.
+ *
+ * @param intBridgeId integration bridge device id
+ * @return port number; or empty value
+ */
+ Optional<PortNumber> vlanPort(DeviceId intBridgeId);
+
+ /**
* Returns router bridge device ID connected to a given integration bridge.
* It returns valid value only if the node type is GATEWAY.
*
@@ -128,6 +136,7 @@
* @return port number; or empty value
*/
Optional<PortNumber> externalPort(DeviceId intBridgeId);
+
/**
* Returns gateway node with the given device identifier.
*