blob: fddcf4d83b3770fb8cb6a048b2201e7800f52cd2 [file] [log] [blame]
Bharat Saraswal0fa12e92015-12-04 02:58:01 +05301package org.onosproject.sfc.installer;
2
3import org.onosproject.net.NshServicePathId;
4import org.onosproject.net.flowobjective.Objective.Operation;
5import org.onosproject.vtnrsc.FlowClassifier;
6import org.onosproject.vtnrsc.PortChain;
7import org.onosproject.vtnrsc.PortPair;
8
9/**
10 * Abstraction of an entity which installs flow classification rules in ovs.
11 */
12public interface FlowClassifierInstallerService {
13
14 /**
15 * Install Flow-Classifier.
16 *
17 * @param portChain port-chain
18 * @param nshSpiId nsh spi-id
19 */
20 void installFlowClassifier(PortChain portChain, NshServicePathId nshSpiId);
21
22 /**
23 * Uninstall Flow-Classifier.
24 *
25 * @param portChain port-chain
26 * @param nshSpiId nsh spi-id
27 */
28 void unInstallFlowClassifier(PortChain portChain, NshServicePathId nshSpiId);
29
30 /**
31 * Prepare forwarding object for flow classifier.
32 *
33 * @param flowClassifier flow classifier
34 * @param portPair port pair
35 * @param nshSpiId nsh spi id
36 * @param type forwarding objective operation type
37 */
38 void prepareFlowClassification(FlowClassifier flowClassifier, PortPair portPair, NshServicePathId nshSpiId,
39 Operation type);
40}