Mahesh Poojary S
Committed by Gerrit Code Review

[ONOS-3120] Service Function Forwarder Implementation

Change-Id: I483ce290be21ed35a30994d5685005a0dfd3f13d
...@@ -15,29 +15,37 @@ ...@@ -15,29 +15,37 @@
15 */ 15 */
16 package org.onosproject.sfc.forwarder; 16 package org.onosproject.sfc.forwarder;
17 17
18 -import org.onosproject.core.ApplicationId;
19 import org.onosproject.net.flowobjective.Objective; 18 import org.onosproject.net.flowobjective.Objective;
19 +import org.onosproject.net.NshServicePathId;
20 import org.onosproject.vtnrsc.PortChain; 20 import org.onosproject.vtnrsc.PortChain;
21 21
22 /** 22 /**
23 * Abstraction of an entity which provides Service function forwarder. 23 * Abstraction of an entity which provides Service function forwarder.
24 */ 24 */
25 -public interface ServiceFunctionForwarder { 25 +public interface ServiceFunctionForwarderService {
26 26
27 /** 27 /**
28 - * Install Service function chain. 28 + * Install Forwarding rule.
29 * 29 *
30 - * @param portChain Port chain 30 + * @param portChain port-chain
31 + * @param nshSPI nsh spi
31 */ 32 */
32 - void install(PortChain portChain); 33 + void installForwardingRule(PortChain portChain, NshServicePathId nshSPI);
33 34
34 /** 35 /**
35 - * Programs forwarding object for Service Function. 36 + * Uninstall Forwarding rule.
36 * 37 *
37 - * @param portChain port chain 38 + * @param portChain port-chain
38 - * @param appid application id 39 + * @param nshSPI nsh spi
40 + */
41 + void unInstallForwardingRule(PortChain portChain, NshServicePathId nshSPI);
42 +
43 + /**
44 + * Prepare forwarding object for Service Function.
45 + *
46 + * @param portChain port-chain
47 + * @param nshSPI nsh spi
39 * @param type forwarding objective operation type 48 * @param type forwarding objective operation type
40 */ 49 */
41 - void programServiceFunctionForwarder(PortChain portChain, ApplicationId appid, 50 + void prepareServiceFunctionForwarder(PortChain portChain, NshServicePathId nshSPI, Objective.Operation type);
42 - Objective.Operation type);
43 } 51 }
......
1 +/*
2 + * Copyright 2015 Open Networking Laboratory
3 + *
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 + */
16 +
17 +/**
18 + * SFC Service manager for interacting with SFC.
19 + */
20 +package org.onosproject.sfc.forwarder.impl;