Pankaj Berde | d0ae0ff | 2013-03-26 15:37:12 -0700 | [diff] [blame] | 1 | package net.onrc.onos.flow; |
| 2 | |
| 3 | import net.floodlightcontroller.core.INetMapTopologyObjects.IPortObject; |
| 4 | import net.floodlightcontroller.util.FlowEntry; |
| 5 | import net.floodlightcontroller.util.FlowPath; |
| 6 | |
| 7 | public interface IFlowManager { |
| 8 | |
| 9 | /* |
| 10 | * Generic create Flow from port to port |
| 11 | */ |
| 12 | public void createFlow(IPortObject src_port, IPortObject dest_port); |
| 13 | /* |
| 14 | * get Flows matching a src_port & dest_port |
| 15 | */ |
| 16 | public Iterable<FlowPath> getFlows(IPortObject src_port, IPortObject dest_port); |
| 17 | /* |
| 18 | * get all Flows going out from port |
| 19 | */ |
| 20 | public Iterable<FlowPath> getFlows(IPortObject port); |
| 21 | /* |
| 22 | * Reconcile all flows on inactive port (src port of link which might be broken) |
| 23 | */ |
| 24 | public void reconcileFlows(IPortObject src_port); |
| 25 | /* |
| 26 | * Reconcile flow based on flow |
| 27 | */ |
| 28 | public void reconcileFlow(IPortObject src_port, IPortObject dest_port); |
| 29 | /* |
| 30 | * compute a flow path using src/dest port |
| 31 | */ |
| 32 | public FlowPath computeFlowPath(IPortObject src_port, IPortObject dest_port); |
| 33 | /* |
| 34 | * Get all FlowEntries of a Flow |
| 35 | */ |
| 36 | public Iterable<FlowEntry> getFlowEntries(FlowPath flow); |
| 37 | /* |
| 38 | * install a flow entry on switch |
| 39 | */ |
| 40 | public void installFlowEntry(FlowEntry entry); |
| 41 | /* |
| 42 | * remove a flowEntry from switch |
| 43 | */ |
| 44 | public void removeFlowEntry(FlowEntry entry); |
| 45 | /* |
| 46 | * install flow entry on remote controller |
| 47 | */ |
| 48 | public void installFlowEntry(String ctrlId, FlowEntry entry); |
| 49 | /* |
| 50 | * remove flow entry on remote controller |
| 51 | */ |
| 52 | public void removeFlowEntry(String ctrlId, FlowEntry entry); |
| 53 | } |