blob: a3eb830b5e8faa77b3349aec1b05e89f59ba95f1 [file] [log] [blame]
Pankaj Berded1259e82013-01-23 14:10:00 -08001package net.floodlightcontroller.core;
2
3import java.util.List;
4
Pavlin Radoslavovd7d8b792013-02-22 10:24:38 -08005import net.floodlightcontroller.core.module.IFloodlightService;
Pankaj Berde2497e542013-02-19 18:51:24 -08006import net.floodlightcontroller.core.INetMapTopologyObjects.IDeviceObject;
7import net.floodlightcontroller.core.INetMapTopologyObjects.IPortObject;
Pankaj Berde1e2f7312013-02-15 08:25:31 -08008import net.floodlightcontroller.core.INetMapTopologyObjects.ISwitchObject;
Pankaj Berded1259e82013-01-23 14:10:00 -08009import net.floodlightcontroller.routing.Link;
10import net.floodlightcontroller.topology.NodePortTuple;
11
12public interface INetMapTopologyService extends INetMapService {
13
14 public interface ITopoSwitchService {
Pankaj Berde2497e542013-02-19 18:51:24 -080015 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 Berded1259e82013-01-23 14:10:00 -080021 }
22
23 public interface ITopoLinkService {
Pankaj Berde2497e542013-02-19 18:51:24 -080024 List<Link> getActiveLinks();
25 List<Link> getLinksOnSwitch(String dpid);
Pankaj Berded1259e82013-01-23 14:10:00 -080026 }
27 public interface ITopoDeviceService {
Pankaj Berde2497e542013-02-19 18:51:24 -080028 Iterable<IDeviceObject> getActiveDevices();
29 Iterable<IDeviceObject> getDevicesOnSwitch(String dpid);
30 Iterable<IDeviceObject> getDevicesOnSwitch(String dpid, short port_num);
Pankaj Berded1259e82013-01-23 14:10:00 -080031 }
32
Pavlin Radoslavovd7d8b792013-02-22 10:24:38 -080033 public interface ITopoRouteService extends IFloodlightService {
Pankaj Berde2497e542013-02-19 18:51:24 -080034 List<NodePortTuple> getShortestPath(NodePortTuple src, NodePortTuple dest);
35 Boolean routeExists(NodePortTuple src, NodePortTuple dest);
Pankaj Berded1259e82013-01-23 14:10:00 -080036 }
37
38 public interface ITopoFlowService {
Pankaj Berde2497e542013-02-19 18:51:24 -080039 Boolean flowExists(NodePortTuple src, NodePortTuple dest);
40 List<NodePortTuple> getShortestFlowPath(NodePortTuple src, NodePortTuple dest);
Pankaj Berded1259e82013-01-23 14:10:00 -080041
42 }
43}