blob: a483d92c4d0456019018491dbeffcdfdcc2bc72e [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.ProviderService;
tom0eb04ca2014-08-25 14:34:51 -07004
5/**
6 * Service through which flowrule providers can inject flowrule information into
7 * the core.
8 */
tomd7356722014-08-26 01:07:39 -07009public interface FlowRuleProviderService extends ProviderService<FlowRuleProvider> {
tom0eb04ca2014-08-25 14:34:51 -070010
11 /**
12 * Signals that a flow that was previously installed has been removed.
13 *
14 * @param flowDescription information about the removed flow
15 */
16 void flowRemoved(FlowDescription flowDescription);
17
18 /**
19 * Signals that a flowrule is missing for some network traffic.
20 *
21 * @param flowDescription information about traffic in need of flow rule(s)
22 */
23 void flowMissing(FlowDescription flowDescription);
24
25 /**
26 * Signals that a flowrule has been added.
27 *
28 * TODO think about if this really makes sense, e.g. if stats collection or
29 * something can leverage it.
30 *
31 * @param flowDescription the rule that was added
32 */
33 void flowAdded(FlowDescription flowDescription);
34
35}