diff options
Diffstat (limited to 'framework/src/onos/apps/vtn/sfcmgr/src/main/java/org/onosproject/sfc/installer')
4 files changed, 131 insertions, 0 deletions
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 new file mode 100644 index 00000000..f05a21dc --- /dev/null +++ b/framework/src/onos/apps/vtn/sfcmgr/src/main/java/org/onosproject/sfc/installer/FlowClassifierInstaller.java @@ -0,0 +1,46 @@ +/* + * 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 new file mode 100644 index 00000000..e1a80932 --- /dev/null +++ b/framework/src/onos/apps/vtn/sfcmgr/src/main/java/org/onosproject/sfc/installer/impl/DefaultFlowClassifierInstaller.java @@ -0,0 +1,45 @@ +/* + * 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 new file mode 100644 index 00000000..d9796d80 --- /dev/null +++ b/framework/src/onos/apps/vtn/sfcmgr/src/main/java/org/onosproject/sfc/installer/impl/package-info.java @@ -0,0 +1,20 @@ +/* + * 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 new file mode 100644 index 00000000..77c0ab30 --- /dev/null +++ b/framework/src/onos/apps/vtn/sfcmgr/src/main/java/org/onosproject/sfc/installer/package-info.java @@ -0,0 +1,20 @@ +/* + * 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; |