blob: 02776953ea9d56fad35140e4ba2d738cae752ff5 [file] [log] [blame]
tom0eb04ca2014-08-25 14:34:51 -07001package org.onlab.onos.net.flow;
2
tomc1a38d32014-08-25 23:01:32 -07003import org.onlab.onos.net.provider.Provider;
tom0eb04ca2014-08-25 14:34:51 -07004
5/**
6 * Abstraction of a flow rule provider.
7 */
8public interface FlowRuleProvider extends Provider {
tome33cc1a2014-08-25 21:59:41 -07009
tom8bb16062014-09-12 14:47:46 -070010 /**
11 * Instructs the provider to apply the specified flow rules to their
12 * respective devices.
13 * @param flowRules one or more flow rules
14 * throws SomeKindOfException that indicates which ones were applied and
15 * which ones failed
16 */
17 void applyFlowRule(FlowRule... flowRules);
18
alshabib57044ba2014-09-16 15:58:01 -070019 /**
20 * Instructs the provider to remove the specified flow rules to their
21 * respective devices.
22 * @param flowRules one or more flow rules
23 * throws SomeKindOfException that indicates which ones were applied and
24 * which ones failed
25 */
26 void removeFlowRule(FlowRule... flowRules);
27
tom0eb04ca2014-08-25 14:34:51 -070028}