blob: 76689c25a62e04f52660aae9ed8ec96e74470cfe [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/**
tom8bb16062014-09-12 14:47:46 -07006 * Service through which flow rule providers can inject information into
tom0eb04ca2014-08-25 14:34:51 -07007 * the core.
8 */
tomd7356722014-08-26 01:07:39 -07009public interface FlowRuleProviderService extends ProviderService<FlowRuleProvider> {
tom0eb04ca2014-08-25 14:34:51 -070010
11 /**
tom8bb16062014-09-12 14:47:46 -070012 * Signals that a flow rule that was previously installed has been removed.
tom0eb04ca2014-08-25 14:34:51 -070013 *
tom8bb16062014-09-12 14:47:46 -070014 * @param flowRule information about the removed flow
tom0eb04ca2014-08-25 14:34:51 -070015 */
tom8bb16062014-09-12 14:47:46 -070016 void flowRemoved(FlowRule flowRule);
tom0eb04ca2014-08-25 14:34:51 -070017
18 /**
tom8bb16062014-09-12 14:47:46 -070019 * Signals that a flow rule is missing for some network traffic.
tom0eb04ca2014-08-25 14:34:51 -070020 *
tom8bb16062014-09-12 14:47:46 -070021 * @param flowRule information about traffic in need of flow rule(s)
tom0eb04ca2014-08-25 14:34:51 -070022 */
tom8bb16062014-09-12 14:47:46 -070023 void flowMissing(FlowRule flowRule);
tom0eb04ca2014-08-25 14:34:51 -070024
25}