Initial opendaylight infrastructure commit!!
[controller.git] / opendaylight / sal / api / src / main / java / org / opendaylight / controller / sal / flowprogrammer / IPluginInFlowProgrammerService.java
1
2 /*
3  * Copyright (c) 2013 Cisco Systems, Inc. and others.  All rights reserved.
4  *
5  * This program and the accompanying materials are made available under the
6  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
7  * and is available at http://www.eclipse.org/legal/epl-v10.html
8  */
9
10 package org.opendaylight.controller.sal.flowprogrammer;
11
12 import org.opendaylight.controller.sal.core.Node;
13 import org.opendaylight.controller.sal.utils.Status;
14
15 /**
16  * @file   IPluginOutFlowProgrammer.java
17  *
18  * @brief  Flow programmer interface to be implemented by protocol plugins
19  *
20  *
21  *
22  */
23 public interface IPluginInFlowProgrammerService {
24     /**
25      * Add a flow to the network node
26      *
27      * @param node
28      * @param flow
29      */
30         Status addFlow(Node node, Flow flow);
31
32     /**
33      * Modify existing flow on the switch
34      *
35      * @param node
36      * @param flow
37      */
38         Status modifyFlow(Node node, Flow oldFlow, Flow newFlow);
39
40     /**
41      * Remove the flow from the network node
42      * @param node
43      * @param flow
44      */
45         Status removeFlow(Node node, Flow flow);
46
47     /**
48      * Remove all flows present on the network node
49      * @param node
50      */
51         Status removeAllFlows(Node node);
52 }