blob: 231438afbe4a02ac6bef4947a16aadbad983c8f2 [file] [log] [blame]
Mahesh Poojary S335e7c32015-10-29 10:16:51 +05301/*
Brian O'Connora09fe5b2017-08-03 21:12:30 -07002 * Copyright 2015-present Open Networking Foundation
Mahesh Poojary S335e7c32015-10-29 10:16:51 +05303 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16package org.onosproject.sfc.manager;
17
Mahesh Poojary Sc9c10f92015-11-30 17:18:05 +053018import org.onosproject.vtnrsc.PortPair;
19import org.onosproject.vtnrsc.PortPairGroup;
20import org.onosproject.vtnrsc.FlowClassifier;
21import org.onosproject.vtnrsc.PortChain;
22
Mahesh Poojary S335e7c32015-10-29 10:16:51 +053023/**
24 * SFC application that applies flows to the device.
25 */
26public interface SfcService {
27
28 /**
29 * When port-pair is created, check whether Forwarding Rule needs to be
30 * updated in OVS.
Mahesh Poojary Sc9c10f92015-11-30 17:18:05 +053031 *
32 * @param portPair port-pair
Mahesh Poojary S335e7c32015-10-29 10:16:51 +053033 */
Mahesh Poojary Sc9c10f92015-11-30 17:18:05 +053034 void onPortPairCreated(PortPair portPair);
Mahesh Poojary S335e7c32015-10-29 10:16:51 +053035
36 /**
37 * When port-pair is deleted, check whether Forwarding Rule needs to be
38 * updated in OVS.
Mahesh Poojary Sc9c10f92015-11-30 17:18:05 +053039 *
40 * @param portPair port-pair
Mahesh Poojary S335e7c32015-10-29 10:16:51 +053041 */
Mahesh Poojary Sc9c10f92015-11-30 17:18:05 +053042 void onPortPairDeleted(PortPair portPair);
Mahesh Poojary S335e7c32015-10-29 10:16:51 +053043
44 /**
45 * When port-pair-group is created, check whether Forwarding Rule needs to
46 * be updated in OVS.
Mahesh Poojary Sc9c10f92015-11-30 17:18:05 +053047 *
48 * @param portPairGroup port-pair-group
Mahesh Poojary S335e7c32015-10-29 10:16:51 +053049 */
Mahesh Poojary Sc9c10f92015-11-30 17:18:05 +053050 void onPortPairGroupCreated(PortPairGroup portPairGroup);
Mahesh Poojary S335e7c32015-10-29 10:16:51 +053051
52 /**
53 * When port-pair-group is deleted, check whether Forwarding Rule needs to
54 * be updated in OVS.
Mahesh Poojary Sc9c10f92015-11-30 17:18:05 +053055 *
56 * @param portPairGroup port-pair-group
Mahesh Poojary S335e7c32015-10-29 10:16:51 +053057 */
Mahesh Poojary Sc9c10f92015-11-30 17:18:05 +053058 void onPortPairGroupDeleted(PortPairGroup portPairGroup);
Mahesh Poojary S335e7c32015-10-29 10:16:51 +053059
60 /**
61 * When flow-classifier is created, check whether Forwarding Rule needs to
62 * be updated in OVS.
Mahesh Poojary Sc9c10f92015-11-30 17:18:05 +053063 *
64 * @param flowClassifier flow-classifier
Mahesh Poojary S335e7c32015-10-29 10:16:51 +053065 */
Mahesh Poojary Sc9c10f92015-11-30 17:18:05 +053066 void onFlowClassifierCreated(FlowClassifier flowClassifier);
Mahesh Poojary S335e7c32015-10-29 10:16:51 +053067
68 /**
69 * When flow-classifier is deleted, check whether Forwarding Rule needs to
70 * be updated in OVS.
Mahesh Poojary Sc9c10f92015-11-30 17:18:05 +053071 *
72 * @param flowClassifier flow-classifier
Mahesh Poojary S335e7c32015-10-29 10:16:51 +053073 */
Mahesh Poojary Sc9c10f92015-11-30 17:18:05 +053074 void onFlowClassifierDeleted(FlowClassifier flowClassifier);
Mahesh Poojary S335e7c32015-10-29 10:16:51 +053075
76 /**
77 * When port-chain is created, check whether Forwarding Rule needs to be
78 * updated in OVS.
Mahesh Poojary Sc9c10f92015-11-30 17:18:05 +053079 *
80 * @param portChain port-chain
Mahesh Poojary S335e7c32015-10-29 10:16:51 +053081 */
Mahesh Poojary Sc9c10f92015-11-30 17:18:05 +053082 void onPortChainCreated(PortChain portChain);
Mahesh Poojary S335e7c32015-10-29 10:16:51 +053083
84 /**
85 * When port-chain is deleted, check whether Forwarding Rule needs to be
86 * updated in OVS.
Mahesh Poojary Sc9c10f92015-11-30 17:18:05 +053087 *
88 * @param portChain port-chain
Mahesh Poojary S335e7c32015-10-29 10:16:51 +053089 */
Mahesh Poojary Sc9c10f92015-11-30 17:18:05 +053090 void onPortChainDeleted(PortChain portChain);
Mahesh Poojary S335e7c32015-10-29 10:16:51 +053091}