diff --git a/apps/vtn/sfcmgr/src/test/java/org/onosproject/sfc/util/VirtualPortAdapter.java b/apps/vtn/sfcmgr/src/test/java/org/onosproject/sfc/util/VirtualPortAdapter.java index e51c699738..1409c99d3b 100644 --- a/apps/vtn/sfcmgr/src/test/java/org/onosproject/sfc/util/VirtualPortAdapter.java +++ b/apps/vtn/sfcmgr/src/test/java/org/onosproject/sfc/util/VirtualPortAdapter.java @@ -20,6 +20,7 @@ import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentMap; import org.onlab.packet.IpAddress; +import org.onlab.packet.MacAddress; import org.onosproject.net.DeviceId; import org.onosproject.vtnrsc.FixedIp; import org.onosproject.vtnrsc.TenantId; @@ -51,6 +52,11 @@ public class VirtualPortAdapter implements VirtualPortService { return null; } + @Override + public VirtualPort getPort(MacAddress mac) { + return null; + } + @Override public Collection getPorts() { return null; diff --git a/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/virtualport/VirtualPortService.java b/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/virtualport/VirtualPortService.java index 380829158a..f8c12def2b 100644 --- a/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/virtualport/VirtualPortService.java +++ b/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/virtualport/VirtualPortService.java @@ -18,6 +18,7 @@ package org.onosproject.vtnrsc.virtualport; import java.util.Collection; import org.onlab.packet.IpAddress; +import org.onlab.packet.MacAddress; import org.onosproject.event.ListenerService; import org.onosproject.net.DeviceId; import org.onosproject.vtnrsc.FixedIp; @@ -54,6 +55,14 @@ public interface VirtualPortService extends ListenerService vPorts = new ArrayList<>(); + vPortStore.values().stream().forEach(p -> { + if (p.macAddress().equals(mac)) { + vPorts.add(p); + } + }); + if (vPorts.size() == 0) { + return null; + } + return vPorts.get(0); + } + @Override public VirtualPort getPort(TenantNetworkId networkId, IpAddress ip) { checkNotNull(networkId, NETWORKID_NOT_NULL);