Pankaj Berde | d1259e8 | 2013-01-23 14:10:00 -0800 | [diff] [blame] | 1 | package net.floodlightcontroller.core; |
| 2 | |
| 3 | import java.util.List; |
| 4 | |
Pavlin Radoslavov | d7d8b79 | 2013-02-22 10:24:38 -0800 | [diff] [blame] | 5 | import net.floodlightcontroller.core.module.IFloodlightService; |
Pankaj Berde | 2497e54 | 2013-02-19 18:51:24 -0800 | [diff] [blame] | 6 | import net.floodlightcontroller.core.INetMapTopologyObjects.IDeviceObject; |
| 7 | import net.floodlightcontroller.core.INetMapTopologyObjects.IPortObject; |
Pankaj Berde | 1e2f731 | 2013-02-15 08:25:31 -0800 | [diff] [blame] | 8 | import net.floodlightcontroller.core.INetMapTopologyObjects.ISwitchObject; |
Pankaj Berde | d1259e8 | 2013-01-23 14:10:00 -0800 | [diff] [blame] | 9 | import net.floodlightcontroller.routing.Link; |
| 10 | import net.floodlightcontroller.topology.NodePortTuple; |
Pavlin Radoslavov | f83aa44 | 2013-02-26 14:09:01 -0800 | [diff] [blame^] | 11 | import net.floodlightcontroller.util.DataPath; |
| 12 | import net.floodlightcontroller.util.SwitchPort; |
Pankaj Berde | d1259e8 | 2013-01-23 14:10:00 -0800 | [diff] [blame] | 13 | |
| 14 | public interface INetMapTopologyService extends INetMapService { |
| 15 | |
| 16 | public interface ITopoSwitchService { |
Pankaj Berde | 2497e54 | 2013-02-19 18:51:24 -0800 | [diff] [blame] | 17 | Iterable<ISwitchObject> getActiveSwitches(); |
| 18 | Iterable<ISwitchObject> getAllSwitches(); |
| 19 | Iterable<ISwitchObject> getInactiveSwitches(); |
| 20 | Iterable<IPortObject> getPortsOnSwitch(String dpid); |
| 21 | IPortObject getPortOnSwitch(String dpid, short port_num); |
| 22 | |
Pankaj Berde | d1259e8 | 2013-01-23 14:10:00 -0800 | [diff] [blame] | 23 | } |
| 24 | |
| 25 | public interface ITopoLinkService { |
Pankaj Berde | 2497e54 | 2013-02-19 18:51:24 -0800 | [diff] [blame] | 26 | List<Link> getActiveLinks(); |
| 27 | List<Link> getLinksOnSwitch(String dpid); |
Pankaj Berde | d1259e8 | 2013-01-23 14:10:00 -0800 | [diff] [blame] | 28 | } |
| 29 | public interface ITopoDeviceService { |
Pankaj Berde | 2497e54 | 2013-02-19 18:51:24 -0800 | [diff] [blame] | 30 | Iterable<IDeviceObject> getActiveDevices(); |
| 31 | Iterable<IDeviceObject> getDevicesOnSwitch(String dpid); |
| 32 | Iterable<IDeviceObject> getDevicesOnSwitch(String dpid, short port_num); |
Pankaj Berde | d1259e8 | 2013-01-23 14:10:00 -0800 | [diff] [blame] | 33 | } |
| 34 | |
Pavlin Radoslavov | d7d8b79 | 2013-02-22 10:24:38 -0800 | [diff] [blame] | 35 | public interface ITopoRouteService extends IFloodlightService { |
Pavlin Radoslavov | f83aa44 | 2013-02-26 14:09:01 -0800 | [diff] [blame^] | 36 | DataPath getShortestPath(SwitchPort src, SwitchPort dest); |
| 37 | Boolean routeExists(SwitchPort src, SwitchPort dest); |
Pankaj Berde | d1259e8 | 2013-01-23 14:10:00 -0800 | [diff] [blame] | 38 | } |
| 39 | |
| 40 | public interface ITopoFlowService { |
Pankaj Berde | 2497e54 | 2013-02-19 18:51:24 -0800 | [diff] [blame] | 41 | Boolean flowExists(NodePortTuple src, NodePortTuple dest); |
| 42 | List<NodePortTuple> getShortestFlowPath(NodePortTuple src, NodePortTuple dest); |
Pankaj Berde | d1259e8 | 2013-01-23 14:10:00 -0800 | [diff] [blame] | 43 | |
| 44 | } |
| 45 | } |