blob: 92d3a188e44975a1f8294d8171d1d10275be5361 [file] [log] [blame]
Jonathan Hart5e448782013-12-10 12:36:35 -08001package net.onrc.onos.ofcontroller.forwarding;
2
Pavlin Radoslavov7208e9a2013-12-11 14:31:07 -08003import java.util.Collection;
4
Jonathan Hart5e448782013-12-10 12:36:35 -08005import net.floodlightcontroller.core.module.IFloodlightService;
6import net.onrc.onos.ofcontroller.util.FlowPath;
7
8/**
9 * Temporary interface that allows the Forwarding module to be
Pavlin Radoslavova3818db2014-03-20 19:26:08 -070010 * notified when a flow has been installed.
Jonathan Hart5e448782013-12-10 12:36:35 -080011 *
12 * This should be refactored to a listener framework in the future.
13 * @author jono
14 *
15 */
16public interface IForwardingService extends IFloodlightService {
17 /**
Pavlin Radoslavov7208e9a2013-12-11 14:31:07 -080018 * Notify the Forwarding module that a collection of flows has been
19 * installed in the network.
20 *
21 * @param installedFlowPaths the collection of FlowPaths that have
22 * been installed in the network.
Jonathan Hart5e448782013-12-10 12:36:35 -080023 */
Pavlin Radoslavov7208e9a2013-12-11 14:31:07 -080024 public void flowsInstalled(Collection<FlowPath> installedFlowPaths);
Jonathan Hart0444d932014-01-22 15:06:17 -080025
26 /**
27 * Notify the Forwarding module that a flow has expired and been
28 * removed from the network.
29 *
30 * @param removedFlowPath The FlowPath that was removed
31 */
32 public void flowRemoved(FlowPath removedFlowPath);
Jonathan Hart5e448782013-12-10 12:36:35 -080033}