aboutsummaryrefslogtreecommitdiffstats
path: root/framework/src/onos/apps/vtn/sfcmgr
diff options
context:
space:
mode:
authorCNlucius <lukai1@huawei.com>2016-09-13 11:40:12 +0800
committerCNlucius <lukai1@huawei.com>2016-09-13 11:41:53 +0800
commitb731e2f1dd0972409b136aebc7b463dd72c9cfad (patch)
tree5107d7d80c19ad8076c2c97c2b5ef8d1cf3ab903 /framework/src/onos/apps/vtn/sfcmgr
parentee93993458266114c29271a481ef9ce7ce621b2a (diff)
ONOSFW-171
O/S-SFC-ONOS scenario documentation Change-Id: I51ae1cf736ea24ab6680f8edca1b2bf5dd598365 Signed-off-by: CNlucius <lukai1@huawei.com>
Diffstat (limited to 'framework/src/onos/apps/vtn/sfcmgr')
-rw-r--r--framework/src/onos/apps/vtn/sfcmgr/pom.xml67
-rw-r--r--framework/src/onos/apps/vtn/sfcmgr/src/main/java/org/onosproject/sfc/forwarder/ServiceFunctionForwarderService.java51
-rw-r--r--framework/src/onos/apps/vtn/sfcmgr/src/main/java/org/onosproject/sfc/forwarder/impl/ServiceFunctionForwarderImpl.java293
-rw-r--r--framework/src/onos/apps/vtn/sfcmgr/src/main/java/org/onosproject/sfc/forwarder/impl/package-info.java20
-rw-r--r--framework/src/onos/apps/vtn/sfcmgr/src/main/java/org/onosproject/sfc/forwarder/package-info.java20
-rw-r--r--framework/src/onos/apps/vtn/sfcmgr/src/main/java/org/onosproject/sfc/installer/FlowClassifierInstaller.java46
-rw-r--r--framework/src/onos/apps/vtn/sfcmgr/src/main/java/org/onosproject/sfc/installer/impl/DefaultFlowClassifierInstaller.java45
-rw-r--r--framework/src/onos/apps/vtn/sfcmgr/src/main/java/org/onosproject/sfc/installer/impl/package-info.java20
-rw-r--r--framework/src/onos/apps/vtn/sfcmgr/src/main/java/org/onosproject/sfc/installer/package-info.java20
-rw-r--r--framework/src/onos/apps/vtn/sfcmgr/src/main/java/org/onosproject/sfc/manager/NshSpiIdGenerators.java51
-rw-r--r--framework/src/onos/apps/vtn/sfcmgr/src/main/java/org/onosproject/sfc/manager/SfcService.java91
-rw-r--r--framework/src/onos/apps/vtn/sfcmgr/src/main/java/org/onosproject/sfc/manager/impl/SfcManager.java186
-rw-r--r--framework/src/onos/apps/vtn/sfcmgr/src/main/java/org/onosproject/sfc/manager/impl/package-info.java20
-rw-r--r--framework/src/onos/apps/vtn/sfcmgr/src/main/java/org/onosproject/sfc/manager/package-info.java20
-rw-r--r--framework/src/onos/apps/vtn/sfcmgr/src/test/java/org/onosproject/sfc/manager/impl/SfcManagerTest.java269
-rw-r--r--framework/src/onos/apps/vtn/sfcmgr/src/test/java/org/onosproject/sfc/util/FlowClassifierManagerTestImpl.java93
-rw-r--r--framework/src/onos/apps/vtn/sfcmgr/src/test/java/org/onosproject/sfc/util/FlowObjectiveServiceTestImpl.java53
-rw-r--r--framework/src/onos/apps/vtn/sfcmgr/src/test/java/org/onosproject/sfc/util/PortChainManagerTestImpl.java85
-rw-r--r--framework/src/onos/apps/vtn/sfcmgr/src/test/java/org/onosproject/sfc/util/PortPairGroupManagerTestImpl.java89
-rw-r--r--framework/src/onos/apps/vtn/sfcmgr/src/test/java/org/onosproject/sfc/util/PortPairManagerTestImpl.java89
-rw-r--r--framework/src/onos/apps/vtn/sfcmgr/src/test/java/org/onosproject/sfc/util/VirtualPortManagerTestImpl.java98
-rw-r--r--framework/src/onos/apps/vtn/sfcmgr/src/test/java/org/onosproject/sfc/util/VtnRscManagerTestImpl.java72
22 files changed, 0 insertions, 1798 deletions
diff --git a/framework/src/onos/apps/vtn/sfcmgr/pom.xml b/framework/src/onos/apps/vtn/sfcmgr/pom.xml
deleted file mode 100644
index bac0cc36..00000000
--- a/framework/src/onos/apps/vtn/sfcmgr/pom.xml
+++ /dev/null
@@ -1,67 +0,0 @@
-<?xml version="1.0"?>
-<!--
- ~ Copyright 2015 Open Networking Laboratory
- ~
- ~ Licensed under the Apache License, Version 2.0 (the "License");
- ~ you may not use this file except in compliance with the License.
- ~ You may obtain a copy of the License at
- ~
- ~ http://www.apache.org/licenses/LICENSE-2.0
- ~
- ~ Unless required by applicable law or agreed to in writing, software
- ~ distributed under the License is distributed on an "AS IS" BASIS,
- ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- ~ See the License for the specific language governing permissions and
- ~ limitations under the License.
- -->
-<project
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
- xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.onosproject</groupId>
- <artifactId>onos-app-vtn</artifactId>
- <version>1.4.0-rc1</version>
- <relativePath>../pom.xml</relativePath>
- </parent>
-
- <artifactId>onos-app-sfc-mgr</artifactId>
- <packaging>bundle</packaging>
-
- <dependencies>
- <dependency>
- <groupId>org.onosproject</groupId>
- <artifactId>onos-api</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.felix</groupId>
- <artifactId>org.apache.felix.scr.annotations</artifactId>
- </dependency>
- <dependency>
- <groupId>org.onosproject</groupId>
- <artifactId>onos-core-serializers</artifactId>
- <version>${project.version}</version>
- </dependency>
- <dependency>
- <groupId>org.onosproject</groupId>
- <artifactId>onos-app-vtn-rsc</artifactId>
- <version>${project.version}</version>
- </dependency>
- </dependencies>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.felix</groupId>
- <artifactId>maven-bundle-plugin</artifactId>
- <configuration>
- <instructions>
- <Export-Package>
- org.onosproject.openflow.*,org.projectfloodlight.openflow.*
- </Export-Package>
- </instructions>
- </configuration>
- </plugin>
- </plugins>
- </build>
-</project>
diff --git a/framework/src/onos/apps/vtn/sfcmgr/src/main/java/org/onosproject/sfc/forwarder/ServiceFunctionForwarderService.java b/framework/src/onos/apps/vtn/sfcmgr/src/main/java/org/onosproject/sfc/forwarder/ServiceFunctionForwarderService.java
deleted file mode 100644
index 0ed42fcf..00000000
--- a/framework/src/onos/apps/vtn/sfcmgr/src/main/java/org/onosproject/sfc/forwarder/ServiceFunctionForwarderService.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Copyright 2015 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.onosproject.sfc.forwarder;
-
-import org.onosproject.net.flowobjective.Objective;
-import org.onosproject.net.NshServicePathId;
-import org.onosproject.vtnrsc.PortChain;
-
-/**
- * Abstraction of an entity which provides Service function forwarder.
- */
-public interface ServiceFunctionForwarderService {
-
- /**
- * Install Forwarding rule.
- *
- * @param portChain port-chain
- * @param nshSPI nsh spi
- */
- void installForwardingRule(PortChain portChain, NshServicePathId nshSPI);
-
- /**
- * Uninstall Forwarding rule.
- *
- * @param portChain port-chain
- * @param nshSPI nsh spi
- */
- void unInstallForwardingRule(PortChain portChain, NshServicePathId nshSPI);
-
- /**
- * Prepare forwarding object for Service Function.
- *
- * @param portChain port-chain
- * @param nshSPI nsh spi
- * @param type forwarding objective operation type
- */
- void prepareServiceFunctionForwarder(PortChain portChain, NshServicePathId nshSPI, Objective.Operation type);
-}
diff --git a/framework/src/onos/apps/vtn/sfcmgr/src/main/java/org/onosproject/sfc/forwarder/impl/ServiceFunctionForwarderImpl.java b/framework/src/onos/apps/vtn/sfcmgr/src/main/java/org/onosproject/sfc/forwarder/impl/ServiceFunctionForwarderImpl.java
deleted file mode 100644
index 2846ee01..00000000
--- a/framework/src/onos/apps/vtn/sfcmgr/src/main/java/org/onosproject/sfc/forwarder/impl/ServiceFunctionForwarderImpl.java
+++ /dev/null
@@ -1,293 +0,0 @@
-/*
- * Copyright 2015 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.onosproject.sfc.forwarder.impl;
-
-import static org.slf4j.LoggerFactory.getLogger;
-import static org.onosproject.net.flow.criteria.ExtensionSelectorType.ExtensionSelectorTypes.NICIRA_MATCH_NSH_SPI;
-import static com.google.common.base.Preconditions.checkNotNull;
-
-import java.util.List;
-import java.util.ListIterator;
-
-import org.apache.felix.scr.annotations.Reference;
-import org.apache.felix.scr.annotations.ReferenceCardinality;
-import org.onlab.osgi.DefaultServiceDirectory;
-import org.onlab.osgi.ServiceDirectory;
-import org.onlab.packet.MacAddress;
-import org.onlab.packet.VlanId;
-import org.onosproject.core.ApplicationId;
-import org.onosproject.net.behaviour.ExtensionSelectorResolver;
-import org.onosproject.net.DeviceId;
-import org.onosproject.net.NshServicePathId;
-import org.onosproject.net.driver.DriverHandler;
-import org.onosproject.net.driver.DriverService;
-import org.onosproject.net.flow.DefaultTrafficSelector;
-import org.onosproject.net.flow.DefaultTrafficTreatment;
-import org.onosproject.net.flow.criteria.ExtensionSelector;
-import org.onosproject.net.flow.TrafficSelector;
-import org.onosproject.net.flow.TrafficTreatment;
-import org.onosproject.net.flowobjective.DefaultForwardingObjective;
-import org.onosproject.net.flowobjective.FlowObjectiveService;
-import org.onosproject.net.flowobjective.ForwardingObjective;
-import org.onosproject.net.flowobjective.Objective;
-import org.onosproject.net.flowobjective.ForwardingObjective.Flag;
-import org.onosproject.vtnrsc.VirtualPortId;
-import org.onosproject.vtnrsc.service.VtnRscService;
-import org.onosproject.vtnrsc.PortChain;
-import org.onosproject.vtnrsc.PortPair;
-import org.onosproject.vtnrsc.PortPairGroup;
-import org.onosproject.vtnrsc.PortPairGroupId;
-import org.onosproject.vtnrsc.PortPairId;
-import org.onosproject.vtnrsc.virtualport.VirtualPortService;
-import org.onosproject.vtnrsc.portpair.PortPairService;
-import org.onosproject.vtnrsc.portpairgroup.PortPairGroupService;
-import org.onosproject.vtnrsc.flowclassifier.FlowClassifierService;
-import org.onosproject.vtnrsc.portchain.PortChainService;
-import org.onosproject.sfc.forwarder.ServiceFunctionForwarderService;
-
-import org.slf4j.Logger;
-
-/**
- * Provides Service Function Forwarder implementation.
- */
-public class ServiceFunctionForwarderImpl implements ServiceFunctionForwarderService {
-
- @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
- protected DriverService driverService;
- @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
- protected VirtualPortService virtualPortService;
- @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
- protected VtnRscService vtnRscService;
- @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
- protected PortPairService portPairService;
- @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
- protected PortPairGroupService portPairGroupService;
- @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
- protected FlowClassifierService flowClassifierService;
- @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
- protected PortChainService portChainService;
-
- private final Logger log = getLogger(getClass());
- protected ApplicationId appId;
- protected FlowObjectiveService flowObjectiveService;
-
- private static final String DRIVER_NAME = "onosfw";
- private static final String PORT_CHAIN_NOT_NULL = "Port-Chain cannot be null";
- private static final String PORT_CHAIN_ID_NOT_NULL = "Port-Chain-Id cannot be null";
- private static final String APP_ID_NOT_NULL = "Application-Id cannot be null";
- private static final int NULL = 0;
-
- /**
- * Default constructor.
- */
- public ServiceFunctionForwarderImpl() {
- }
-
- /**
- * Explicit constructor.
- */
- public ServiceFunctionForwarderImpl(ApplicationId appId) {
- this.appId = checkNotNull(appId, APP_ID_NOT_NULL);
- ServiceDirectory serviceDirectory = new DefaultServiceDirectory();
- this.flowObjectiveService = serviceDirectory.get(FlowObjectiveService.class);
- }
-
- @Override
- public void installForwardingRule(PortChain portChain, NshServicePathId nshSPI) {
- checkNotNull(portChain, PORT_CHAIN_NOT_NULL);
- prepareServiceFunctionForwarder(portChain, nshSPI, Objective.Operation.ADD);
- }
-
- @Override
- public void unInstallForwardingRule(PortChain portChain, NshServicePathId nshSPI) {
- checkNotNull(portChain, PORT_CHAIN_NOT_NULL);
- prepareServiceFunctionForwarder(portChain, nshSPI, Objective.Operation.REMOVE);
- }
-
- @Override
- public void prepareServiceFunctionForwarder(PortChain portChain, NshServicePathId nshSPI,
- Objective.Operation type) {
-
- // Go through the port pair group list
- List<PortPairGroupId> portPairGrpList = portChain.portPairGroups();
- ListIterator<PortPairGroupId> listGrpIterator = portPairGrpList.listIterator();
-
- // Get source port pair group
- if (!listGrpIterator.hasNext()) {
- return;
- }
- PortPairGroupId portPairGrpId = listGrpIterator.next();
- PortPairGroup currentPortPairGroup = portPairGroupService.getPortPairGroup(portPairGrpId);
-
- // Get destination port pair group
- if (!listGrpIterator.hasNext()) {
- return;
- }
- portPairGrpId = listGrpIterator.next();
- PortPairGroup nextPortPairGroup = portPairGroupService.getPortPairGroup(portPairGrpId);
-
- // push SFF to OVS
- pushServiceFunctionForwarder(currentPortPairGroup, nextPortPairGroup, listGrpIterator, nshSPI, type);
- }
-
- /**
- * Push service-function-forwarder to OVS.
- *
- * @param currentPortPairGroup current port-pair-group
- * @param nextPortPairGroup next port-pair-group
- * @param listGrpIterator pointer to port-pair-group list
- */
- public void pushServiceFunctionForwarder(PortPairGroup currentPortPairGroup, PortPairGroup nextPortPairGroup,
- ListIterator<PortPairGroupId> listGrpIterator, NshServicePathId nshSPI, Objective.Operation type) {
- MacAddress srcMacAddress = null;
- MacAddress dstMacAddress = null;
- DeviceId deviceId = null;
- DeviceId currentDeviceId = null;
- DeviceId nextDeviceId = null;
- PortPairGroupId portPairGrpId = null;
-
- // Travel from SF to SF.
- do {
- // Get the required information on port pairs from source port pair
- // group
- List<PortPairId> portPairList = currentPortPairGroup.portPairs();
- ListIterator<PortPairId> portPLIterator = portPairList.listIterator();
- if (!portPLIterator.hasNext()) {
- break;
- }
-
- PortPairId portPairId = portPLIterator.next();
- PortPair portPair = portPairService.getPortPair(portPairId);
-
- currentDeviceId = vtnRscService.getSFToSFFMaping(VirtualPortId.portId(portPair.ingress()));
- if (deviceId == null) {
- deviceId = currentDeviceId;
- }
- srcMacAddress = virtualPortService.getPort(VirtualPortId.portId(portPair.ingress())).macAddress();
- dstMacAddress = virtualPortService.getPort(VirtualPortId.portId(portPair.egress())).macAddress();
-
- // pack traffic selector
- TrafficSelector.Builder selector = packTrafficSelector(deviceId, srcMacAddress, dstMacAddress, nshSPI);
-
- // Get the required information on port pairs from destination port
- // pair group
- portPairList = nextPortPairGroup.portPairs();
- portPLIterator = portPairList.listIterator();
- if (!portPLIterator.hasNext()) {
- break;
- }
-
- portPairId = portPLIterator.next();
- portPair = portPairService.getPortPair(portPairId);
-
- nextDeviceId = vtnRscService.getSFToSFFMaping(VirtualPortId.portId(portPair.ingress()));
-
- // pack traffic treatment
- TrafficTreatment.Builder treatment = packTrafficTreatment(currentDeviceId, nextDeviceId, portPair);
-
- // Send SFF to OVS
- sendServiceFunctionForwarder(selector, treatment, deviceId, type);
-
- // Replace source port pair group with destination port pair group
- // for moving to next SFF processing.
- currentPortPairGroup = nextPortPairGroup;
- if (!listGrpIterator.hasNext()) {
- break;
- }
- portPairGrpId = listGrpIterator.next();
- nextPortPairGroup = portPairGroupService.getPortPairGroup(portPairGrpId);
- } while (true);
- }
-
- /**
- * Pack Traffic selector.
- *
- * @param deviceId device id
- * @param srcMacAddress source mac-address
- * @param dstMacAddress destination mac-address
- * @param nshSPI nsh spi
- * @return traffic treatment
- */
- public TrafficSelector.Builder packTrafficSelector(DeviceId deviceId, MacAddress srcMacAddress,
- MacAddress dstMacAddress, NshServicePathId nshSPI) {
- TrafficSelector.Builder selector = DefaultTrafficSelector.builder();
- selector.matchEthSrc(srcMacAddress);
- selector.matchEthDst(dstMacAddress);
-
- DriverHandler handler = driverService.createHandler(deviceId);
- ExtensionSelectorResolver resolver = handler.behaviour(ExtensionSelectorResolver.class);
- ExtensionSelector nspSpiSelector = resolver.getExtensionSelector(NICIRA_MATCH_NSH_SPI.type());
-
- try {
- nspSpiSelector.setPropertyValue("nshSpi", nshSPI);
- } catch (Exception e) {
- log.error("Failed to get extension instruction to set Nsh Spi Id {}", deviceId);
- }
-
- selector.extension(nspSpiSelector, deviceId);
- return selector;
- }
-
- /**
- * Pack Traffic treatment.
- *
- * @param currentDeviceId current device id
- * @param nextDeviceId next device id
- * @param portPair port-pair
- * @return traffic treatment
- */
- public TrafficTreatment.Builder packTrafficTreatment(DeviceId currentDeviceId, DeviceId nextDeviceId,
- PortPair portPair) {
- MacAddress srcMacAddress = null;
- MacAddress dstMacAddress = null;
-
- // Check the treatment whether destination SF is on same OVS or in
- // different OVS.
- TrafficTreatment.Builder treatment = DefaultTrafficTreatment.builder();
- if (currentDeviceId.equals(nextDeviceId)) {
- srcMacAddress = virtualPortService.getPort(VirtualPortId.portId(portPair.ingress())).macAddress();
- dstMacAddress = virtualPortService.getPort(VirtualPortId.portId(portPair.egress())).macAddress();
- treatment.setEthSrc(srcMacAddress);
- treatment.setEthDst(dstMacAddress);
- } else {
- treatment.setVlanId(VlanId.vlanId(Short.parseShort((vtnRscService.getL3vni(portPair
- .tenantId()).toString()))));
- }
-
- return treatment;
- }
-
- /**
- * Send service function forwarder to OVS.
- *
- * @param selector traffic selector
- * @param treatment traffic treatment
- * @param deviceId device id
- * @param type operation type
- */
- public void sendServiceFunctionForwarder(TrafficSelector.Builder selector, TrafficTreatment.Builder treatment,
- DeviceId deviceId, Objective.Operation type) {
- ForwardingObjective.Builder objective = DefaultForwardingObjective.builder().withTreatment(treatment.build())
- .withSelector(selector.build()).fromApp(appId).makePermanent().withFlag(Flag.SPECIFIC);
- if (type.equals(Objective.Operation.ADD)) {
- log.debug("ADD");
- flowObjectiveService.forward(deviceId, objective.add());
- } else {
- log.debug("REMOVE");
- flowObjectiveService.forward(deviceId, objective.remove());
- }
- }
-}
diff --git a/framework/src/onos/apps/vtn/sfcmgr/src/main/java/org/onosproject/sfc/forwarder/impl/package-info.java b/framework/src/onos/apps/vtn/sfcmgr/src/main/java/org/onosproject/sfc/forwarder/impl/package-info.java
deleted file mode 100644
index 02221196..00000000
--- a/framework/src/onos/apps/vtn/sfcmgr/src/main/java/org/onosproject/sfc/forwarder/impl/package-info.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright 2015 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * SFC Service manager for interacting with SFC.
- */
-package org.onosproject.sfc.forwarder.impl;
diff --git a/framework/src/onos/apps/vtn/sfcmgr/src/main/java/org/onosproject/sfc/forwarder/package-info.java b/framework/src/onos/apps/vtn/sfcmgr/src/main/java/org/onosproject/sfc/forwarder/package-info.java
deleted file mode 100644
index 08021f3c..00000000
--- a/framework/src/onos/apps/vtn/sfcmgr/src/main/java/org/onosproject/sfc/forwarder/package-info.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright 2015 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * Service function forwarder for SFC.
- */
-package org.onosproject.sfc.forwarder;
diff --git a/framework/src/onos/apps/vtn/sfcmgr/src/main/java/org/onosproject/sfc/installer/FlowClassifierInstaller.java b/framework/src/onos/apps/vtn/sfcmgr/src/main/java/org/onosproject/sfc/installer/FlowClassifierInstaller.java
deleted file mode 100644
index f05a21dc..00000000
--- a/framework/src/onos/apps/vtn/sfcmgr/src/main/java/org/onosproject/sfc/installer/FlowClassifierInstaller.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Copyright 2015 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.onosproject.sfc.installer;
-
-import org.onosproject.core.ApplicationId;
-import org.onosproject.net.flowobjective.Objective;
-import org.onosproject.vtnrsc.FlowClassifier;
-import org.onosproject.vtnrsc.PortPair;
-
-/**
- * Abstraction of an entity which installs flow classification rules in ovs.
- */
-public interface FlowClassifierInstaller {
-
- /**
- * Install flow classifier rules.
- *
- * @param flowClassifier Flow Classifier
- * @param portPair Port pair
- */
- void install(FlowClassifier flowClassifier, PortPair portPair);
-
- /**
- * Programs forwarding object for flow classifier.
- *
- * @param flowClassifier flow classifier
- * @param portPair port pair
- * @param appid application id
- * @param type forwarding objective operation type
- */
- void programFlowClassification(FlowClassifier flowClassifier, PortPair portPair, ApplicationId appid,
- Objective.Operation type);
-}
diff --git a/framework/src/onos/apps/vtn/sfcmgr/src/main/java/org/onosproject/sfc/installer/impl/DefaultFlowClassifierInstaller.java b/framework/src/onos/apps/vtn/sfcmgr/src/main/java/org/onosproject/sfc/installer/impl/DefaultFlowClassifierInstaller.java
deleted file mode 100644
index e1a80932..00000000
--- a/framework/src/onos/apps/vtn/sfcmgr/src/main/java/org/onosproject/sfc/installer/impl/DefaultFlowClassifierInstaller.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * Copyright 2015 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.onosproject.sfc.installer.impl;
-
-import org.onosproject.core.ApplicationId;
-import org.onosproject.net.flowobjective.Objective.Operation;
-import org.onosproject.sfc.installer.FlowClassifierInstaller;
-import org.onosproject.vtnrsc.FlowClassifier;
-import org.onosproject.vtnrsc.PortPair;
-
-/**
- * Provides flow classifier installer.
- */
-public class DefaultFlowClassifierInstaller implements FlowClassifierInstaller {
-
- /**
- * Default constructor.
- */
- public DefaultFlowClassifierInstaller() {
- }
-
- @Override
- public void install(FlowClassifier flowClassifier, PortPair portPair) {
- // TODO: Process flow-classifier for installation.
- }
-
- @Override
- public void programFlowClassification(FlowClassifier flowClassifier, PortPair portPair, ApplicationId appid,
- Operation type) {
- // TODO: program forwarding objective for flow-classifier installation.
- }
-}
diff --git a/framework/src/onos/apps/vtn/sfcmgr/src/main/java/org/onosproject/sfc/installer/impl/package-info.java b/framework/src/onos/apps/vtn/sfcmgr/src/main/java/org/onosproject/sfc/installer/impl/package-info.java
deleted file mode 100644
index d9796d80..00000000
--- a/framework/src/onos/apps/vtn/sfcmgr/src/main/java/org/onosproject/sfc/installer/impl/package-info.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright 2015 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * Implementation of Service for installing flow classifier rules in OVS.
- */
-package org.onosproject.sfc.installer.impl;
diff --git a/framework/src/onos/apps/vtn/sfcmgr/src/main/java/org/onosproject/sfc/installer/package-info.java b/framework/src/onos/apps/vtn/sfcmgr/src/main/java/org/onosproject/sfc/installer/package-info.java
deleted file mode 100644
index 77c0ab30..00000000
--- a/framework/src/onos/apps/vtn/sfcmgr/src/main/java/org/onosproject/sfc/installer/package-info.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright 2015 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * Service for installing flow classifier rules in OVS.
- */
-package org.onosproject.sfc.installer;
diff --git a/framework/src/onos/apps/vtn/sfcmgr/src/main/java/org/onosproject/sfc/manager/NshSpiIdGenerators.java b/framework/src/onos/apps/vtn/sfcmgr/src/main/java/org/onosproject/sfc/manager/NshSpiIdGenerators.java
deleted file mode 100644
index 1dbe8c8f..00000000
--- a/framework/src/onos/apps/vtn/sfcmgr/src/main/java/org/onosproject/sfc/manager/NshSpiIdGenerators.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Copyright 2015 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.onosproject.sfc.manager;
-
-import java.util.concurrent.atomic.AtomicInteger;
-
-/**
- * Unique NSH SPI Id generator for NSH header.
- */
-public final class NshSpiIdGenerators {
-
- private static final AtomicInteger NSH_SPI_ID_GEN = new AtomicInteger();
- private static final int MAX_NSH_SPI_ID = 0x7FFFFFFF;
- private static int nshSpiId;
-
- /**
- * Default constructor.
- */
- private NshSpiIdGenerators() {
- }
-
- /**
- * Get the next NSH SPI id.
- *
- * @return NSH SPI id
- */
- public static int create() {
- do {
- if (nshSpiId >= MAX_NSH_SPI_ID) {
- if (NSH_SPI_ID_GEN.get() >= MAX_NSH_SPI_ID) {
- NSH_SPI_ID_GEN.set(0);
- }
- }
- nshSpiId = NSH_SPI_ID_GEN.incrementAndGet();
- } while (nshSpiId > MAX_NSH_SPI_ID);
- return nshSpiId;
- }
-}
diff --git a/framework/src/onos/apps/vtn/sfcmgr/src/main/java/org/onosproject/sfc/manager/SfcService.java b/framework/src/onos/apps/vtn/sfcmgr/src/main/java/org/onosproject/sfc/manager/SfcService.java
deleted file mode 100644
index 4af2d47c..00000000
--- a/framework/src/onos/apps/vtn/sfcmgr/src/main/java/org/onosproject/sfc/manager/SfcService.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
- * Copyright 2015 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.onosproject.sfc.manager;
-
-import org.onosproject.vtnrsc.PortPair;
-import org.onosproject.vtnrsc.PortPairGroup;
-import org.onosproject.vtnrsc.FlowClassifier;
-import org.onosproject.vtnrsc.PortChain;
-
-/**
- * SFC application that applies flows to the device.
- */
-public interface SfcService {
-
- /**
- * When port-pair is created, check whether Forwarding Rule needs to be
- * updated in OVS.
- *
- * @param portPair port-pair
- */
- void onPortPairCreated(PortPair portPair);
-
- /**
- * When port-pair is deleted, check whether Forwarding Rule needs to be
- * updated in OVS.
- *
- * @param portPair port-pair
- */
- void onPortPairDeleted(PortPair portPair);
-
- /**
- * When port-pair-group is created, check whether Forwarding Rule needs to
- * be updated in OVS.
- *
- * @param portPairGroup port-pair-group
- */
- void onPortPairGroupCreated(PortPairGroup portPairGroup);
-
- /**
- * When port-pair-group is deleted, check whether Forwarding Rule needs to
- * be updated in OVS.
- *
- * @param portPairGroup port-pair-group
- */
- void onPortPairGroupDeleted(PortPairGroup portPairGroup);
-
- /**
- * When flow-classifier is created, check whether Forwarding Rule needs to
- * be updated in OVS.
- *
- * @param flowClassifier flow-classifier
- */
- void onFlowClassifierCreated(FlowClassifier flowClassifier);
-
- /**
- * When flow-classifier is deleted, check whether Forwarding Rule needs to
- * be updated in OVS.
- *
- * @param flowClassifier flow-classifier
- */
- void onFlowClassifierDeleted(FlowClassifier flowClassifier);
-
- /**
- * When port-chain is created, check whether Forwarding Rule needs to be
- * updated in OVS.
- *
- * @param portChain port-chain
- */
- void onPortChainCreated(PortChain portChain);
-
- /**
- * When port-chain is deleted, check whether Forwarding Rule needs to be
- * updated in OVS.
- *
- * @param portChain port-chain
- */
- void onPortChainDeleted(PortChain portChain);
-}
diff --git a/framework/src/onos/apps/vtn/sfcmgr/src/main/java/org/onosproject/sfc/manager/impl/SfcManager.java b/framework/src/onos/apps/vtn/sfcmgr/src/main/java/org/onosproject/sfc/manager/impl/SfcManager.java
deleted file mode 100644
index 4df07929..00000000
--- a/framework/src/onos/apps/vtn/sfcmgr/src/main/java/org/onosproject/sfc/manager/impl/SfcManager.java
+++ /dev/null
@@ -1,186 +0,0 @@
-/*
- * Copyright 2015 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.onosproject.sfc.manager.impl;
-
-import static org.slf4j.LoggerFactory.getLogger;
-
-import org.apache.felix.scr.annotations.Activate;
-import org.apache.felix.scr.annotations.Component;
-import org.apache.felix.scr.annotations.Deactivate;
-import org.apache.felix.scr.annotations.Reference;
-import org.apache.felix.scr.annotations.ReferenceCardinality;
-import org.apache.felix.scr.annotations.Service;
-import org.onlab.util.KryoNamespace;
-import org.onosproject.core.ApplicationId;
-import org.onosproject.core.CoreService;
-import org.onosproject.sfc.manager.SfcService;
-import org.onosproject.vtnrsc.PortPair;
-import org.onosproject.vtnrsc.PortPairId;
-import org.onosproject.vtnrsc.PortPairGroup;
-import org.onosproject.vtnrsc.PortPairGroupId;
-import org.onosproject.vtnrsc.FlowClassifier;
-import org.onosproject.vtnrsc.FlowClassifierId;
-import org.onosproject.vtnrsc.PortChain;
-import org.onosproject.vtnrsc.PortChainId;
-import org.onosproject.vtnrsc.TenantId;
-import org.onosproject.vtnrsc.event.VtnRscEvent;
-import org.onosproject.vtnrsc.event.VtnRscListener;
-import org.onosproject.vtnrsc.service.VtnRscService;
-
-import org.slf4j.Logger;
-
-/**
- * Provides implementation of SFC Service.
- */
-@Component(immediate = true)
-@Service
-public class SfcManager implements SfcService {
-
- private final Logger log = getLogger(getClass());
- private static final String APP_ID = "org.onosproject.app.vtn";
-
- @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
- protected VtnRscService vtnRscService;
-
- @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
- protected CoreService coreService;
-
- protected ApplicationId appId;
-
- private final VtnRscListener vtnRscListener = new InnerVtnRscListener();
-
- @Activate
- public void activate() {
- appId = coreService.registerApplication(APP_ID);
-
- vtnRscService.addListener(vtnRscListener);
-
- KryoNamespace.Builder serializer = KryoNamespace.newBuilder()
- .register(TenantId.class)
- .register(PortPairId.class)
- .register(PortPairGroupId.class)
- .register(FlowClassifierId.class)
- .register(PortChainId.class);
-
- log.info("Started");
- }
-
- @Deactivate
- public void deactivate() {
- vtnRscService.removeListener(vtnRscListener);
-
- log.info("Stopped");
- }
-
- /*
- * Handle events.
- */
- private class InnerVtnRscListener implements VtnRscListener {
- @Override
- public void event(VtnRscEvent event) {
-
- if (VtnRscEvent.Type.PORT_PAIR_PUT == event.type()) {
- PortPair portPair = (PortPair) event.subject();
- onPortPairCreated(portPair);
- } else if (VtnRscEvent.Type.PORT_PAIR_DELETE == event.type()) {
- PortPair portPair = (PortPair) event.subject();
- onPortPairDeleted(portPair);
- } else if (VtnRscEvent.Type.PORT_PAIR_UPDATE == event.type()) {
- PortPair portPair = (PortPair) event.subject();
- onPortPairDeleted(portPair);
- onPortPairCreated(portPair);
- } else if (VtnRscEvent.Type.PORT_PAIR_GROUP_PUT == event.type()) {
- PortPairGroup portPairGroup = (PortPairGroup) event.subject();
- onPortPairGroupCreated(portPairGroup);
- } else if (VtnRscEvent.Type.PORT_PAIR_GROUP_DELETE == event.type()) {
- PortPairGroup portPairGroup = (PortPairGroup) event.subject();
- onPortPairGroupDeleted(portPairGroup);
- } else if (VtnRscEvent.Type.PORT_PAIR_GROUP_UPDATE == event.type()) {
- PortPairGroup portPairGroup = (PortPairGroup) event.subject();
- onPortPairGroupDeleted(portPairGroup);
- onPortPairGroupCreated(portPairGroup);
- } else if (VtnRscEvent.Type.FLOW_CLASSIFIER_PUT == event.type()) {
- FlowClassifier flowClassifier = (FlowClassifier) event.subject();
- onFlowClassifierCreated(flowClassifier);
- } else if (VtnRscEvent.Type.FLOW_CLASSIFIER_DELETE == event.type()) {
- FlowClassifier flowClassifier = (FlowClassifier) event.subject();
- onFlowClassifierDeleted(flowClassifier);
- } else if (VtnRscEvent.Type.FLOW_CLASSIFIER_UPDATE == event.type()) {
- FlowClassifier flowClassifier = (FlowClassifier) event.subject();
- onFlowClassifierDeleted(flowClassifier);
- onFlowClassifierCreated(flowClassifier);
- } else if (VtnRscEvent.Type.PORT_CHAIN_PUT == event.type()) {
- PortChain portChain = (PortChain) event.subject();
- onPortChainCreated(portChain);
- } else if (VtnRscEvent.Type.PORT_CHAIN_DELETE == event.type()) {
- PortChain portChain = (PortChain) event.subject();
- onPortChainDeleted(portChain);
- } else if (VtnRscEvent.Type.PORT_CHAIN_UPDATE == event.type()) {
- PortChain portChain = (PortChain) event.subject();
- onPortChainDeleted(portChain);
- onPortChainCreated(portChain);
- }
- }
- }
-
- @Override
- public void onPortPairCreated(PortPair portPair) {
- log.debug("onPortPairCreated");
- // TODO: Modify forwarding rule on port-pair creation.
- }
-
- @Override
- public void onPortPairDeleted(PortPair portPair) {
- log.debug("onPortPairDeleted");
- // TODO: Modify forwarding rule on port-pair deletion.
- }
-
- @Override
- public void onPortPairGroupCreated(PortPairGroup portPairGroup) {
- log.debug("onPortPairGroupCreated");
- // TODO: Modify forwarding rule on port-pair-group creation.
- }
-
- @Override
- public void onPortPairGroupDeleted(PortPairGroup portPairGroup) {
- log.debug("onPortPairGroupDeleted");
- // TODO: Modify forwarding rule on port-pair-group deletion.
- }
-
- @Override
- public void onFlowClassifierCreated(FlowClassifier flowClassifier) {
- log.debug("onFlowClassifierCreated");
- // TODO: Modify forwarding rule on flow-classifier creation.
- }
-
- @Override
- public void onFlowClassifierDeleted(FlowClassifier flowClassifier) {
- log.debug("onFlowClassifierDeleted");
- // TODO: Modify forwarding rule on flow-classifier deletion.
- }
-
- @Override
- public void onPortChainCreated(PortChain portChain) {
- log.debug("onPortChainCreated");
- //TODO: Apply forwarding rule on port-chain creation.
- }
-
- @Override
- public void onPortChainDeleted(PortChain portChain) {
- log.debug("onPortChainDeleted");
- //TODO: Apply forwarding rule on port-chain deletion.
- }
-}
diff --git a/framework/src/onos/apps/vtn/sfcmgr/src/main/java/org/onosproject/sfc/manager/impl/package-info.java b/framework/src/onos/apps/vtn/sfcmgr/src/main/java/org/onosproject/sfc/manager/impl/package-info.java
deleted file mode 100644
index 7161380a..00000000
--- a/framework/src/onos/apps/vtn/sfcmgr/src/main/java/org/onosproject/sfc/manager/impl/package-info.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright 2015 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * SFC Service manager for interacting with SFC.
- */
-package org.onosproject.sfc.manager.impl;
diff --git a/framework/src/onos/apps/vtn/sfcmgr/src/main/java/org/onosproject/sfc/manager/package-info.java b/framework/src/onos/apps/vtn/sfcmgr/src/main/java/org/onosproject/sfc/manager/package-info.java
deleted file mode 100644
index 1dd0f5a0..00000000
--- a/framework/src/onos/apps/vtn/sfcmgr/src/main/java/org/onosproject/sfc/manager/package-info.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright 2015 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * Service for interacting with SFC.
- */
-package org.onosproject.sfc.manager;
diff --git a/framework/src/onos/apps/vtn/sfcmgr/src/test/java/org/onosproject/sfc/manager/impl/SfcManagerTest.java b/framework/src/onos/apps/vtn/sfcmgr/src/test/java/org/onosproject/sfc/manager/impl/SfcManagerTest.java
deleted file mode 100644
index e4f31f98..00000000
--- a/framework/src/onos/apps/vtn/sfcmgr/src/test/java/org/onosproject/sfc/manager/impl/SfcManagerTest.java
+++ /dev/null
@@ -1,269 +0,0 @@
-/*
- * Copyright 2015 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.onosproject.sfc.manager.impl;
-
-import org.junit.Test;
-
-import java.util.List;
-import java.util.LinkedList;
-
-import org.onlab.packet.IpPrefix;
-import org.onosproject.sfc.manager.SfcService;
-import org.onosproject.vtnrsc.DefaultPortChain;
-import org.onosproject.vtnrsc.DefaultPortPair;
-import org.onosproject.vtnrsc.DefaultPortPairGroup;
-import org.onosproject.vtnrsc.PortChain;
-import org.onosproject.vtnrsc.PortChainId;
-import org.onosproject.vtnrsc.PortPair;
-import org.onosproject.vtnrsc.PortPairGroup;
-import org.onosproject.vtnrsc.PortPairGroupId;
-import org.onosproject.vtnrsc.PortPairId;
-import org.onosproject.vtnrsc.TenantId;
-import org.onosproject.vtnrsc.DefaultFlowClassifier;
-import org.onosproject.vtnrsc.FlowClassifierId;
-import org.onosproject.vtnrsc.VirtualPortId;
-import org.onosproject.vtnrsc.FlowClassifier;
-
-/**
- * Unit tests for SfcManager class.
- */
-public class SfcManagerTest {
- /**
- * Checks the operation of onPortPairCreated() method.
- */
- @Test
- public void testOnPortPairCreated() {
- final PortPairId portPairId = PortPairId.of("78888888-fc23-aeb6-f44b-56dc5e2fb3ae");
- final TenantId tenantId = TenantId.tenantId("1");
- final String name = "PortPair";
- final String description = "PortPair";
- final String ingress = "d3333333-24fc-4fae-af4b-321c5e2eb3d1";
- final String egress = "a4444444-4a56-2a6e-cd3a-9dee4e2ec345";
- DefaultPortPair.Builder portPairBuilder = new DefaultPortPair.Builder();
- PortPair portPair = null;
- SfcService sfcService = new SfcManager();
-
- // create port pair
- portPair = portPairBuilder.setId(portPairId).setTenantId(tenantId).setName(name).setDescription(description)
- .setIngress(ingress).setEgress(egress).build();
- sfcService.onPortPairCreated(portPair);
- }
-
- /**
- * Checks the operation of onPortPairDeleted() method.
- */
- @Test
- public void testOnPortPairDeleted() {
- final PortPairId portPairId = PortPairId.of("78888888-fc23-aeb6-f44b-56dc5e2fb3ae");
- final TenantId tenantId = TenantId.tenantId("1");
- final String name = "PortPair";
- final String description = "PortPair";
- final String ingress = "d3333333-24fc-4fae-af4b-321c5e2eb3d1";
- final String egress = "a4444444-4a56-2a6e-cd3a-9dee4e2ec345";
- DefaultPortPair.Builder portPairBuilder = new DefaultPortPair.Builder();
- PortPair portPair = null;
- SfcService sfcService = new SfcManager();
-
- // create port pair
- portPair = portPairBuilder.setId(portPairId).setTenantId(tenantId).setName(name).setDescription(description)
- .setIngress(ingress).setEgress(egress).build();
- sfcService.onPortPairDeleted(portPair);
- }
-
- /**
- * Checks the operation of onPortPairGroupCreated() method.
- */
- @Test
- public void testOnPortPairGroupCreated() {
- final PortPairGroupId portPairGroupId = PortPairGroupId.of("78888888-fc23-aeb6-f44b-56dc5e2fb3ae");
- final TenantId tenantId = TenantId.tenantId("1");
- final String name = "PortPairGroup";
- final String description = "PortPairGroup";
- final List<PortPairId> portPairIdList = new LinkedList<PortPairId>();
- DefaultPortPairGroup.Builder portPairGroupBuilder = new DefaultPortPairGroup.Builder();
- PortPairGroup portPairGroup = null;
- SfcService sfcService = new SfcManager();
-
- // create port-pair-id list
- PortPairId portPairId = PortPairId.of("73333333-fc23-aeb6-f44b-56dc5e2fb3ae");
- portPairIdList.add(portPairId);
- portPairId = PortPairId.of("74444444-fc23-aeb6-f44b-56dc5e2fb3ae");
- portPairIdList.add(portPairId);
-
- // create port pair
- portPairGroup = portPairGroupBuilder.setId(portPairGroupId).setTenantId(tenantId).setName(name)
- .setDescription(description).setPortPairs(portPairIdList).build();
- sfcService.onPortPairGroupCreated(portPairGroup);
- }
-
- /**
- * Checks the operation of onPortPairGroupDeleted() method.
- */
- @Test
- public void testOnPortPairGroupDeleted() {
- final PortPairGroupId portPairGroupId = PortPairGroupId.of("78888888-fc23-aeb6-f44b-56dc5e2fb3ae");
- final TenantId tenantId = TenantId.tenantId("1");
- final String name = "PortPairGroup";
- final String description = "PortPairGroup";
- final List<PortPairId> portPairIdList = new LinkedList<PortPairId>();
- DefaultPortPairGroup.Builder portPairGroupBuilder = new DefaultPortPairGroup.Builder();
- PortPairGroup portPairGroup = null;
- SfcService sfcService = new SfcManager();
-
- // create port-pair-id list
- PortPairId portPairId = PortPairId.of("73333333-fc23-aeb6-f44b-56dc5e2fb3ae");
- portPairIdList.add(portPairId);
- portPairId = PortPairId.of("74444444-fc23-aeb6-f44b-56dc5e2fb3ae");
- portPairIdList.add(portPairId);
-
- // create port pair
- portPairGroup = portPairGroupBuilder.setId(portPairGroupId).setTenantId(tenantId).setName(name)
- .setDescription(description).setPortPairs(portPairIdList).build();
- sfcService.onPortPairGroupDeleted(portPairGroup);
- }
-
- /**
- * Checks the operation of onFlowClassifierCreated() method.
- */
- @Test
- public void testOnFlowClassifierCreated() {
- final String name = "FlowClassifier";
- final String description = "FlowClassifier";
- final String ethType = "IPv4";
- final String protocol = "udp";
- final int minSrcPortRange = 1024;
- final int maxSrcPortRange = 5000;
- final int minDstPortRange = 1024;
- final int maxDstPortRange = 5000;
- final FlowClassifierId flowClassifierId = FlowClassifierId.of("71111111-fc23-aeb6-f44b-56dc5e2fb3ae");
- final TenantId tenantId = TenantId.tenantId("8");
- final IpPrefix srcIpPrefix = IpPrefix.valueOf("0.0.0.0/0");
- final IpPrefix dstIpPrefix = IpPrefix.valueOf("100.100.100.100/0");
- final VirtualPortId virtualSrcPort = VirtualPortId.portId("100");
- final VirtualPortId virtualDstPort = VirtualPortId.portId("200");
- DefaultFlowClassifier.Builder flowClassifierBuilder = new DefaultFlowClassifier.Builder();
- FlowClassifier flowClassifier = null;
- SfcService sfcService = new SfcManager();
-
- // create flow classifier
- flowClassifier = flowClassifierBuilder.setFlowClassifierId(flowClassifierId).setTenantId(tenantId)
- .setName(name).setDescription(description).setEtherType(ethType).setProtocol(protocol)
- .setMinSrcPortRange(minSrcPortRange).setMaxSrcPortRange(maxSrcPortRange)
- .setMinDstPortRange(minDstPortRange).setMaxDstPortRange(maxDstPortRange).setSrcIpPrefix(srcIpPrefix)
- .setDstIpPrefix(dstIpPrefix).setSrcPort(virtualSrcPort).setDstPort(virtualDstPort).build();
- sfcService.onFlowClassifierCreated(flowClassifier);
- }
-
- /**
- * Checks the operation of onFlowClassifierDeleted() method.
- */
- @Test
- public void testOnFlowClassifierDeleted() {
- final String name = "FlowClassifier";
- final String description = "FlowClassifier";
- final String ethType = "IPv4";
- final String protocol = "udp";
- final int minSrcPortRange = 1024;
- final int maxSrcPortRange = 5000;
- final int minDstPortRange = 1024;
- final int maxDstPortRange = 5000;
- final FlowClassifierId flowClassifierId = FlowClassifierId.of("71111111-fc23-aeb6-f44b-56dc5e2fb3ae");
- final TenantId tenantId = TenantId.tenantId("8");
- final IpPrefix srcIpPrefix = IpPrefix.valueOf("0.0.0.0/0");
- final IpPrefix dstIpPrefix = IpPrefix.valueOf("100.100.100.100/0");
- final VirtualPortId virtualSrcPort = VirtualPortId.portId("100");
- final VirtualPortId virtualDstPort = VirtualPortId.portId("200");
- DefaultFlowClassifier.Builder flowClassifierBuilder = new DefaultFlowClassifier.Builder();
- FlowClassifier flowClassifier = null;
- SfcService sfcService = new SfcManager();
-
- // create flow classifier
- flowClassifier = flowClassifierBuilder.setFlowClassifierId(flowClassifierId).setTenantId(tenantId)
- .setName(name).setDescription(description).setEtherType(ethType).setProtocol(protocol)
- .setMinSrcPortRange(minSrcPortRange).setMaxSrcPortRange(maxSrcPortRange)
- .setMinDstPortRange(minDstPortRange).setMaxDstPortRange(maxDstPortRange).setSrcIpPrefix(srcIpPrefix)
- .setDstIpPrefix(dstIpPrefix).setSrcPort(virtualSrcPort).setDstPort(virtualDstPort).build();
- sfcService.onFlowClassifierDeleted(flowClassifier);
- }
-
- /**
- * Checks the operation of onPortChainCreated() method.
- */
- @Test
- public void testOnPortChainCreated() {
- final PortChainId portChainId = PortChainId.of("78888888-fc23-aeb6-f44b-56dc5e2fb3ae");
- final TenantId tenantId = TenantId.tenantId("1");
- final String name = "PortChain";
- final String description = "PortChain";
- final List<PortPairGroupId> portPairGroupList = new LinkedList<PortPairGroupId>();
- final List<FlowClassifierId> flowClassifierList = new LinkedList<FlowClassifierId>();
- DefaultPortChain.Builder portChainBuilder = new DefaultPortChain.Builder();
- DefaultFlowClassifier.Builder flowClassifierBuilder = new DefaultFlowClassifier.Builder();
- PortChain portChain = null;
- SfcService sfcService = new SfcManager();
-
- // create list of Port Pair Groups.
- PortPairGroupId portPairGroupId = PortPairGroupId.of("73333333-fc23-aeb6-f44b-56dc5e2fb3ae");
- portPairGroupList.add(portPairGroupId);
- portPairGroupId = PortPairGroupId.of("73333333-fc23-aeb6-f44b-56dc5e2fb3af");
- portPairGroupList.add(portPairGroupId);
-
- // create list of Flow classifiers.
- FlowClassifierId flowClassifierId = FlowClassifierId.of("74444444-fc23-aeb6-f44b-56dc5e2fb3ae");
- flowClassifierList.add(flowClassifierId);
- flowClassifierId = FlowClassifierId.of("74444444-fc23-aeb6-f44b-56dc5e2fb3af");
- flowClassifierList.add(flowClassifierId);
-
- // create port chain
- portChain = portChainBuilder.setId(portChainId).setTenantId(tenantId).setName(name).setDescription(description)
- .setPortPairGroups(portPairGroupList).setFlowClassifiers(flowClassifierList).build();
- sfcService.onPortChainCreated(portChain);
- }
-
- /**
- * Checks the operation of onPortChainDeleted() method.
- */
- @Test
- public void testOnPortChainDeleted() {
- final PortChainId portChainId = PortChainId.of("78888888-fc23-aeb6-f44b-56dc5e2fb3ae");
- final TenantId tenantId = TenantId.tenantId("1");
- final String name = "PortChain";
- final String description = "PortChain";
- final List<PortPairGroupId> portPairGroupList = new LinkedList<PortPairGroupId>();
- final List<FlowClassifierId> flowClassifierList = new LinkedList<FlowClassifierId>();
- DefaultPortChain.Builder portChainBuilder = new DefaultPortChain.Builder();
- DefaultFlowClassifier.Builder flowClassifierBuilder = new DefaultFlowClassifier.Builder();
- PortChain portChain = null;
- SfcService sfcService = new SfcManager();
-
- // create list of Port Pair Groups.
- PortPairGroupId portPairGroupId = PortPairGroupId.of("73333333-fc23-aeb6-f44b-56dc5e2fb3ae");
- portPairGroupList.add(portPairGroupId);
- portPairGroupId = PortPairGroupId.of("73333333-fc23-aeb6-f44b-56dc5e2fb3af");
- portPairGroupList.add(portPairGroupId);
-
- // create list of Flow classifiers.
- FlowClassifierId flowClassifierId = FlowClassifierId.of("74444444-fc23-aeb6-f44b-56dc5e2fb3ae");
- flowClassifierList.add(flowClassifierId);
- flowClassifierId = FlowClassifierId.of("74444444-fc23-aeb6-f44b-56dc5e2fb3af");
- flowClassifierList.add(flowClassifierId);
-
- // create port chain
- portChain = portChainBuilder.setId(portChainId).setTenantId(tenantId).setName(name).setDescription(description)
- .setPortPairGroups(portPairGroupList).setFlowClassifiers(flowClassifierList).build();
- sfcService.onPortChainDeleted(portChain);
- }
-}
diff --git a/framework/src/onos/apps/vtn/sfcmgr/src/test/java/org/onosproject/sfc/util/FlowClassifierManagerTestImpl.java b/framework/src/onos/apps/vtn/sfcmgr/src/test/java/org/onosproject/sfc/util/FlowClassifierManagerTestImpl.java
deleted file mode 100644
index fe5babbd..00000000
--- a/framework/src/onos/apps/vtn/sfcmgr/src/test/java/org/onosproject/sfc/util/FlowClassifierManagerTestImpl.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*
- * Copyright 2015 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.onosproject.sfc.util;
-
-import java.util.concurrent.ConcurrentMap;
-import java.util.concurrent.ConcurrentHashMap;
-
-import org.onosproject.vtnrsc.FlowClassifierId;
-import org.onosproject.vtnrsc.FlowClassifier;
-import org.onosproject.vtnrsc.flowclassifier.FlowClassifierListener;
-import org.onosproject.vtnrsc.flowclassifier.FlowClassifierService;
-
-import com.google.common.collect.ImmutableList;
-
-/**
- * Provides implementation of the Flow Classifier Service.
- */
-public class FlowClassifierManagerTestImpl implements FlowClassifierService {
-
- private final ConcurrentMap<FlowClassifierId, FlowClassifier> flowClassifierStore = new ConcurrentHashMap<>();
-
- @Override
- public boolean exists(FlowClassifierId id) {
- return flowClassifierStore.containsKey(id);
- }
-
- @Override
- public int getFlowClassifierCount() {
- return flowClassifierStore.size();
- }
-
- @Override
- public Iterable<FlowClassifier> getFlowClassifiers() {
- return ImmutableList.copyOf(flowClassifierStore.values());
- }
-
- @Override
- public FlowClassifier getFlowClassifier(FlowClassifierId id) {
- return flowClassifierStore.get(id);
- }
-
- @Override
- public boolean createFlowClassifier(FlowClassifier flowClassifier) {
- FlowClassifierId id = flowClassifier.flowClassifierId();
-
- flowClassifierStore.put(id, flowClassifier);
- if (!flowClassifierStore.containsKey(id)) {
- return false;
- }
- return true;
- }
-
- @Override
- public boolean updateFlowClassifier(FlowClassifier flowClassifier) {
-
- if (!flowClassifierStore.containsKey(flowClassifier.flowClassifierId())) {
- return false;
- }
-
- flowClassifierStore.put(flowClassifier.flowClassifierId(), flowClassifier);
-
- if (!flowClassifier.equals(flowClassifierStore.get(flowClassifier.flowClassifierId()))) {
- return false;
- }
- return true;
- }
-
- @Override
- public boolean removeFlowClassifier(FlowClassifierId id) {
- return true;
- }
-
- @Override
- public void addListener(FlowClassifierListener listener) {
- }
-
- @Override
- public void removeListener(FlowClassifierListener listener) {
- }
-}
diff --git a/framework/src/onos/apps/vtn/sfcmgr/src/test/java/org/onosproject/sfc/util/FlowObjectiveServiceTestImpl.java b/framework/src/onos/apps/vtn/sfcmgr/src/test/java/org/onosproject/sfc/util/FlowObjectiveServiceTestImpl.java
deleted file mode 100644
index 9da9ee94..00000000
--- a/framework/src/onos/apps/vtn/sfcmgr/src/test/java/org/onosproject/sfc/util/FlowObjectiveServiceTestImpl.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * Copyright 2015 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.onosproject.sfc.util;
-
-import org.onosproject.net.DeviceId;
-import org.onosproject.net.flowobjective.FlowObjectiveService;
-import org.onosproject.net.flowobjective.FilteringObjective;
-import org.onosproject.net.flowobjective.ForwardingObjective;
-import org.onosproject.net.flowobjective.NextObjective;
-
-/**
- * Testing version of implementation on FlowObjectiveService.
- */
-public class FlowObjectiveServiceTestImpl implements FlowObjectiveService {
-
- @Override
- public void filter(DeviceId deviceId, FilteringObjective filteringObjective) {
-
- }
-
- @Override
- public void forward(DeviceId deviceId, ForwardingObjective forwardingObjective) {
-
- }
-
- @Override
- public void next(DeviceId deviceId, NextObjective nextObjective) {
-
- }
-
- @Override
- public int allocateNextId() {
- return 0;
- }
-
- @Override
- public void initPolicy(String policy) {
-
- }
-}
diff --git a/framework/src/onos/apps/vtn/sfcmgr/src/test/java/org/onosproject/sfc/util/PortChainManagerTestImpl.java b/framework/src/onos/apps/vtn/sfcmgr/src/test/java/org/onosproject/sfc/util/PortChainManagerTestImpl.java
deleted file mode 100644
index 4a3ba03d..00000000
--- a/framework/src/onos/apps/vtn/sfcmgr/src/test/java/org/onosproject/sfc/util/PortChainManagerTestImpl.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
- * Copyright 2015 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.onosproject.sfc.util;
-
-import java.util.concurrent.ConcurrentMap;
-import java.util.concurrent.ConcurrentHashMap;
-import java.util.Collections;
-
-import org.onosproject.vtnrsc.PortChain;
-import org.onosproject.vtnrsc.PortChainId;
-import org.onosproject.vtnrsc.portchain.PortChainService;
-import org.onosproject.vtnrsc.portchain.PortChainEvent;
-import org.onosproject.vtnrsc.portchain.PortChainListener;
-import org.onosproject.event.AbstractListenerManager;
-
-/**
- * Provides implementation of the portChainService.
- */
-public class PortChainManagerTestImpl
- extends AbstractListenerManager<PortChainEvent, PortChainListener>
- implements PortChainService {
-
- private ConcurrentMap<PortChainId, PortChain> portChainStore = new ConcurrentHashMap<>();
-
- @Override
- public boolean exists(PortChainId portChainId) {
- return portChainStore.containsKey(portChainId);
- }
-
- @Override
- public int getPortChainCount() {
- return portChainStore.size();
- }
-
- @Override
- public Iterable<PortChain> getPortChains() {
- return Collections.unmodifiableCollection(portChainStore.values());
- }
-
- @Override
- public PortChain getPortChain(PortChainId portChainId) {
- return portChainStore.get(portChainId);
- }
-
- @Override
- public boolean createPortChain(PortChain portChain) {
- portChainStore.put(portChain.portChainId(), portChain);
- if (!portChainStore.containsKey(portChain.portChainId())) {
- return false;
- }
- return true;
- }
-
- @Override
- public boolean updatePortChain(PortChain portChain) {
- if (!portChainStore.containsKey(portChain.portChainId())) {
- return false;
- }
-
- portChainStore.put(portChain.portChainId(), portChain);
-
- if (!portChain.equals(portChainStore.get(portChain.portChainId()))) {
- return false;
- }
- return true;
- }
-
- @Override
- public boolean removePortChain(PortChainId portChainId) {
- return true;
- }
-}
diff --git a/framework/src/onos/apps/vtn/sfcmgr/src/test/java/org/onosproject/sfc/util/PortPairGroupManagerTestImpl.java b/framework/src/onos/apps/vtn/sfcmgr/src/test/java/org/onosproject/sfc/util/PortPairGroupManagerTestImpl.java
deleted file mode 100644
index ba31cd60..00000000
--- a/framework/src/onos/apps/vtn/sfcmgr/src/test/java/org/onosproject/sfc/util/PortPairGroupManagerTestImpl.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*
- * Copyright 2015 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.onosproject.sfc.util;
-
-import java.util.concurrent.ConcurrentMap;
-import java.util.concurrent.ConcurrentHashMap;
-import java.util.Collections;
-
-import org.onosproject.vtnrsc.PortPairGroup;
-import org.onosproject.vtnrsc.PortPairGroupId;
-import org.onosproject.vtnrsc.portpairgroup.PortPairGroupListener;
-import org.onosproject.vtnrsc.portpairgroup.PortPairGroupService;
-
-/**
- * Provides implementation of the portPairGroupService.
- */
-public class PortPairGroupManagerTestImpl implements PortPairGroupService {
-
- private ConcurrentMap<PortPairGroupId, PortPairGroup> portPairGroupStore = new ConcurrentHashMap<>();
-
- @Override
- public boolean exists(PortPairGroupId portPairGroupId) {
- return portPairGroupStore.containsKey(portPairGroupId);
- }
-
- @Override
- public int getPortPairGroupCount() {
- return portPairGroupStore.size();
- }
-
- @Override
- public Iterable<PortPairGroup> getPortPairGroups() {
- return Collections.unmodifiableCollection(portPairGroupStore.values());
- }
-
- @Override
- public PortPairGroup getPortPairGroup(PortPairGroupId portPairGroupId) {
- return portPairGroupStore.get(portPairGroupId);
- }
-
- @Override
- public boolean createPortPairGroup(PortPairGroup portPairGroup) {
- portPairGroupStore.put(portPairGroup.portPairGroupId(), portPairGroup);
- if (!portPairGroupStore.containsKey(portPairGroup.portPairGroupId())) {
- return false;
- }
- return true;
- }
-
- @Override
- public boolean updatePortPairGroup(PortPairGroup portPairGroup) {
- if (!portPairGroupStore.containsKey(portPairGroup.portPairGroupId())) {
- return false;
- }
-
- portPairGroupStore.put(portPairGroup.portPairGroupId(), portPairGroup);
-
- if (!portPairGroup.equals(portPairGroupStore.get(portPairGroup.portPairGroupId()))) {
- return false;
- }
- return true;
- }
-
- @Override
- public boolean removePortPairGroup(PortPairGroupId portPairGroupId) {
- return true;
- }
-
- @Override
- public void addListener(PortPairGroupListener listener) {
- }
-
- @Override
- public void removeListener(PortPairGroupListener listener) {
- }
-}
diff --git a/framework/src/onos/apps/vtn/sfcmgr/src/test/java/org/onosproject/sfc/util/PortPairManagerTestImpl.java b/framework/src/onos/apps/vtn/sfcmgr/src/test/java/org/onosproject/sfc/util/PortPairManagerTestImpl.java
deleted file mode 100644
index aff58823..00000000
--- a/framework/src/onos/apps/vtn/sfcmgr/src/test/java/org/onosproject/sfc/util/PortPairManagerTestImpl.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*
- * Copyright 2015 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.onosproject.sfc.util;
-
-import java.util.concurrent.ConcurrentMap;
-import java.util.concurrent.ConcurrentHashMap;
-import java.util.Collections;
-
-import org.onosproject.vtnrsc.PortPair;
-import org.onosproject.vtnrsc.PortPairId;
-import org.onosproject.vtnrsc.portpair.PortPairListener;
-import org.onosproject.vtnrsc.portpair.PortPairService;
-
-/**
- * Provides implementation of the portPairService.
- */
-public class PortPairManagerTestImpl implements PortPairService {
-
- private ConcurrentMap<PortPairId, PortPair> portPairStore = new ConcurrentHashMap<>();
-
- @Override
- public boolean exists(PortPairId portPairId) {
- return portPairStore.containsKey(portPairId);
- }
-
- @Override
- public int getPortPairCount() {
- return portPairStore.size();
- }
-
- @Override
- public Iterable<PortPair> getPortPairs() {
- return Collections.unmodifiableCollection(portPairStore.values());
- }
-
- @Override
- public PortPair getPortPair(PortPairId portPairId) {
- return portPairStore.get(portPairId);
- }
-
- @Override
- public boolean createPortPair(PortPair portPair) {
- portPairStore.put(portPair.portPairId(), portPair);
- if (!portPairStore.containsKey(portPair.portPairId())) {
- return false;
- }
- return true;
- }
-
- @Override
- public boolean updatePortPair(PortPair portPair) {
- if (!portPairStore.containsKey(portPair.portPairId())) {
- return false;
- }
-
- portPairStore.put(portPair.portPairId(), portPair);
-
- if (!portPair.equals(portPairStore.get(portPair.portPairId()))) {
- return false;
- }
- return true;
- }
-
- @Override
- public boolean removePortPair(PortPairId portPairId) {
- return true;
- }
-
- @Override
- public void addListener(PortPairListener listener) {
- }
-
- @Override
- public void removeListener(PortPairListener listener) {
- }
-}
diff --git a/framework/src/onos/apps/vtn/sfcmgr/src/test/java/org/onosproject/sfc/util/VirtualPortManagerTestImpl.java b/framework/src/onos/apps/vtn/sfcmgr/src/test/java/org/onosproject/sfc/util/VirtualPortManagerTestImpl.java
deleted file mode 100644
index de056a78..00000000
--- a/framework/src/onos/apps/vtn/sfcmgr/src/test/java/org/onosproject/sfc/util/VirtualPortManagerTestImpl.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/*
- * Copyright 2015 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.onosproject.sfc.util;
-
-import java.util.Collection;
-import java.util.concurrent.ConcurrentMap;
-import java.util.concurrent.ConcurrentHashMap;
-
-import org.onlab.packet.IpAddress;
-import org.onosproject.net.DeviceId;
-import org.onosproject.vtnrsc.FixedIp;
-import org.onosproject.vtnrsc.TenantId;
-import org.onosproject.vtnrsc.VirtualPort;
-import org.onosproject.vtnrsc.VirtualPortId;
-import org.onosproject.vtnrsc.TenantNetworkId;
-import org.onosproject.vtnrsc.virtualport.VirtualPortService;
-
-/**
- * Provides implementation of the VirtualPort APIs.
- */
-public class VirtualPortManagerTestImpl implements VirtualPortService {
-
- protected ConcurrentMap<VirtualPortId, VirtualPort> vPortStore = new ConcurrentHashMap<>();
-
- @Override
- public boolean exists(VirtualPortId vPortId) {
- return vPortStore.containsKey(vPortId);
- }
-
- @Override
- public VirtualPort getPort(VirtualPortId vPortId) {
- return vPortStore.get(vPortId);
- }
-
- @Override
- public VirtualPort getPort(FixedIp fixedIP) {
- return null;
- }
-
- @Override
- public Collection<VirtualPort> getPorts() {
- return null;
- }
-
- @Override
- public Collection<VirtualPort> getPorts(TenantNetworkId networkId) {
- return null;
- }
-
- @Override
- public Collection<VirtualPort> getPorts(TenantId tenantId) {
- return null;
- }
-
- @Override
- public Collection<VirtualPort> getPorts(DeviceId deviceId) {
- return null;
- }
-
- @Override
- public VirtualPort getPort(TenantNetworkId networkId, IpAddress ipAddress) {
- return null;
- }
-
- @Override
- public boolean createPorts(Iterable<VirtualPort> vPorts) {
- for (VirtualPort vPort : vPorts) {
- vPortStore.put(vPort.portId(), vPort);
- if (!vPortStore.containsKey(vPort.portId())) {
- return false;
- }
- }
- return true;
- }
-
- @Override
- public boolean updatePorts(Iterable<VirtualPort> vPorts) {
- return true;
- }
-
- @Override
- public boolean removePorts(Iterable<VirtualPortId> vPortIds) {
- return true;
- }
-}
diff --git a/framework/src/onos/apps/vtn/sfcmgr/src/test/java/org/onosproject/sfc/util/VtnRscManagerTestImpl.java b/framework/src/onos/apps/vtn/sfcmgr/src/test/java/org/onosproject/sfc/util/VtnRscManagerTestImpl.java
deleted file mode 100644
index 4188cee6..00000000
--- a/framework/src/onos/apps/vtn/sfcmgr/src/test/java/org/onosproject/sfc/util/VtnRscManagerTestImpl.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * Copyright 2015 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.onosproject.sfc.util;
-
-import java.util.Iterator;
-
-import org.onlab.packet.MacAddress;
-import org.onosproject.net.Device;
-import org.onosproject.net.DeviceId;
-import org.onosproject.net.HostId;
-import org.onosproject.vtnrsc.SegmentationId;
-import org.onosproject.vtnrsc.TenantId;
-import org.onosproject.vtnrsc.VirtualPortId;
-import org.onosproject.vtnrsc.event.VtnRscListener;
-import org.onosproject.vtnrsc.service.VtnRscService;
-
-/**
- * Provides implementation of the VtnRsc service.
- */
-public class VtnRscManagerTestImpl implements VtnRscService {
- @Override
- public void addListener(VtnRscListener listener) {
- }
-
- @Override
- public void removeListener(VtnRscListener listener) {
- }
-
- @Override
- public SegmentationId getL3vni(TenantId tenantId) {
- return null;
- }
-
- @Override
- public Iterator<Device> getClassifierOfTenant(TenantId tenantId) {
- return null;
- }
-
- @Override
- public Iterator<Device> getSFFOfTenant(TenantId tenantId) {
- return null;
- }
-
- @Override
- public MacAddress getGatewayMac(HostId hostId) {
- return null;
- }
-
- @Override
- public boolean isServiceFunction(VirtualPortId portId) {
- // TODO Auto-generated method stub
- return false;
- }
-
- @Override
- public DeviceId getSFToSFFMaping(VirtualPortId portId) {
- return DeviceId.deviceId("www.google.com");
- }
-}