blob: 8f90c321951b24f81d8282be3d7d595124bc51c5 [file] [log] [blame]
Ayaka Koshibe86b3ac02014-08-15 13:45:23 -07001package net.onrc.onos.api.flow;
2
3import net.onrc.onos.api.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}