blob: 937c5511bb0d34fe2d19f09fd5ab5c4b61ff07d6 [file] [log] [blame]
Pankaj Berded1259e82013-01-23 14:10:00 -08001package net.floodlightcontroller.core;
2
3import java.util.List;
4
Pankaj Berde2497e542013-02-19 18:51:24 -08005import net.floodlightcontroller.core.INetMapTopologyObjects.IDeviceObject;
6import net.floodlightcontroller.core.INetMapTopologyObjects.IPortObject;
Pankaj Berde1e2f7312013-02-15 08:25:31 -08007import net.floodlightcontroller.core.INetMapTopologyObjects.ISwitchObject;
Pankaj Berded1259e82013-01-23 14:10:00 -08008import net.floodlightcontroller.routing.Link;
9import net.floodlightcontroller.topology.NodePortTuple;
10
11public interface INetMapTopologyService extends INetMapService {
12
13 public interface ITopoSwitchService {
Pankaj Berde2497e542013-02-19 18:51:24 -080014 Iterable<ISwitchObject> getActiveSwitches();
15 Iterable<ISwitchObject> getAllSwitches();
16 Iterable<ISwitchObject> getInactiveSwitches();
17 Iterable<IPortObject> getPortsOnSwitch(String dpid);
18 IPortObject getPortOnSwitch(String dpid, short port_num);
19
Pankaj Berded1259e82013-01-23 14:10:00 -080020 }
21
22 public interface ITopoLinkService {
Pankaj Berde2497e542013-02-19 18:51:24 -080023 List<Link> getActiveLinks();
24 List<Link> getLinksOnSwitch(String dpid);
Pankaj Berded1259e82013-01-23 14:10:00 -080025 }
26 public interface ITopoDeviceService {
Pankaj Berde2497e542013-02-19 18:51:24 -080027 Iterable<IDeviceObject> getActiveDevices();
28 Iterable<IDeviceObject> getDevicesOnSwitch(String dpid);
29 Iterable<IDeviceObject> getDevicesOnSwitch(String dpid, short port_num);
Pankaj Berded1259e82013-01-23 14:10:00 -080030 }
31
32 public interface ITopoRouteService {
Pankaj Berde2497e542013-02-19 18:51:24 -080033 List<NodePortTuple> getShortestPath(NodePortTuple src, NodePortTuple dest);
34 Boolean routeExists(NodePortTuple src, NodePortTuple dest);
Pankaj Berded1259e82013-01-23 14:10:00 -080035 }
36
37 public interface ITopoFlowService {
Pankaj Berde2497e542013-02-19 18:51:24 -080038 Boolean flowExists(NodePortTuple src, NodePortTuple dest);
39 List<NodePortTuple> getShortestFlowPath(NodePortTuple src, NodePortTuple dest);
Pankaj Berded1259e82013-01-23 14:10:00 -080040
41 }
42}