blob: 9b26d765a61d6e5b68de0001335f38dc0ef8000d [file] [log] [blame]
tom0eb04ca2014-08-25 14:34:51 -07001package org.onlab.onos.net.flow;
2
3import org.onlab.onos.net.ProviderService;
4
5/**
6 * Service through which flowrule providers can inject flowrule information into
7 * the core.
8 */
9public interface FlowRuleProviderService extends ProviderService {
10
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}