[ONOS-7786] Support to retrieve metadata from virtual instances
Change-Id: Ieb3658ba06790b91cbe8b3075e0f64c5a86ee700
diff --git a/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/InstancePortManager.java b/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/InstancePortManager.java
index 645a86d..476db2b 100644
--- a/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/InstancePortManager.java
+++ b/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/InstancePortManager.java
@@ -32,8 +32,10 @@
import org.onosproject.core.ApplicationId;
import org.onosproject.core.CoreService;
import org.onosproject.event.ListenerRegistry;
+import org.onosproject.net.DeviceId;
import org.onosproject.net.Host;
import org.onosproject.net.HostLocation;
+import org.onosproject.net.PortNumber;
import org.onosproject.net.host.HostEvent;
import org.onosproject.net.host.HostListener;
import org.onosproject.net.host.HostService;
@@ -84,6 +86,8 @@
private static final String ERR_NULL_MAC_ADDRESS = "MAC address cannot be null";
private static final String ERR_NULL_IP_ADDRESS = "IP address cannot be null";
private static final String ERR_NULL_NETWORK_ID = "Network ID cannot be null";
+ private static final String ERR_NULL_DEVICE_ID = "Device ID cannot be null";
+ private static final String ERR_NULL_PORT_NUMBER = "Port number cannot be null";
private static final String ERR_IN_USE = " still in use";
@@ -211,6 +215,17 @@
}
@Override
+ public InstancePort instancePort(DeviceId deviceId, PortNumber portNumber) {
+ checkNotNull(deviceId, ERR_NULL_DEVICE_ID);
+ checkNotNull(portNumber, ERR_NULL_PORT_NUMBER);
+
+ return instancePortStore.instancePorts().stream()
+ .filter(port -> port.deviceId().equals(deviceId))
+ .filter(port -> port.portNumber().equals(portNumber))
+ .findFirst().orElse(null);
+ }
+
+ @Override
public Set<InstancePort> instancePorts() {
Set<InstancePort> ports = instancePortStore.instancePorts();