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; |
| 11 | |
| 12 | public interface INetMapTopologyService extends INetMapService { |
| 13 | |
| 14 | public interface ITopoSwitchService { |
Pankaj Berde | 2497e54 | 2013-02-19 18:51:24 -0800 | [diff] [blame] | 15 | Iterable<ISwitchObject> getActiveSwitches(); |
| 16 | Iterable<ISwitchObject> getAllSwitches(); |
| 17 | Iterable<ISwitchObject> getInactiveSwitches(); |
| 18 | Iterable<IPortObject> getPortsOnSwitch(String dpid); |
| 19 | IPortObject getPortOnSwitch(String dpid, short port_num); |
| 20 | |
Pankaj Berde | d1259e8 | 2013-01-23 14:10:00 -0800 | [diff] [blame] | 21 | } |
| 22 | |
| 23 | public interface ITopoLinkService { |
Pankaj Berde | 2497e54 | 2013-02-19 18:51:24 -0800 | [diff] [blame] | 24 | List<Link> getActiveLinks(); |
| 25 | List<Link> getLinksOnSwitch(String dpid); |
Pankaj Berde | d1259e8 | 2013-01-23 14:10:00 -0800 | [diff] [blame] | 26 | } |
| 27 | public interface ITopoDeviceService { |
Pankaj Berde | 2497e54 | 2013-02-19 18:51:24 -0800 | [diff] [blame] | 28 | Iterable<IDeviceObject> getActiveDevices(); |
| 29 | Iterable<IDeviceObject> getDevicesOnSwitch(String dpid); |
| 30 | Iterable<IDeviceObject> getDevicesOnSwitch(String dpid, short port_num); |
Pankaj Berde | d1259e8 | 2013-01-23 14:10:00 -0800 | [diff] [blame] | 31 | } |
| 32 | |
Pavlin Radoslavov | d7d8b79 | 2013-02-22 10:24:38 -0800 | [diff] [blame^] | 33 | public interface ITopoRouteService extends IFloodlightService { |
Pankaj Berde | 2497e54 | 2013-02-19 18:51:24 -0800 | [diff] [blame] | 34 | List<NodePortTuple> getShortestPath(NodePortTuple src, NodePortTuple dest); |
| 35 | Boolean routeExists(NodePortTuple src, NodePortTuple dest); |
Pankaj Berde | d1259e8 | 2013-01-23 14:10:00 -0800 | [diff] [blame] | 36 | } |
| 37 | |
| 38 | public interface ITopoFlowService { |
Pankaj Berde | 2497e54 | 2013-02-19 18:51:24 -0800 | [diff] [blame] | 39 | Boolean flowExists(NodePortTuple src, NodePortTuple dest); |
| 40 | List<NodePortTuple> getShortestFlowPath(NodePortTuple src, NodePortTuple dest); |
Pankaj Berde | d1259e8 | 2013-01-23 14:10:00 -0800 | [diff] [blame] | 41 | |
| 42 | } |
| 43 | } |