blob: 31303d8010f6a9af978f2368b2f6e0c90504e01b [file] [log] [blame]
HIGUCHI Yuta20514902013-06-12 11:24:16 -07001package net.onrc.onos.ofcontroller.core;
Pankaj Berded1259e82013-01-23 14:10:00 -08002
3import java.util.List;
4
5import net.floodlightcontroller.routing.Link;
6import net.floodlightcontroller.topology.NodePortTuple;
HIGUCHI Yuta20514902013-06-12 11:24:16 -07007import net.onrc.onos.ofcontroller.core.INetMapTopologyObjects.IDeviceObject;
8import net.onrc.onos.ofcontroller.core.INetMapTopologyObjects.IPortObject;
9import net.onrc.onos.ofcontroller.core.INetMapTopologyObjects.ISwitchObject;
Pankaj Berded1259e82013-01-23 14:10:00 -080010
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);
Pankaj Berde15193092013-03-21 17:30:14 -070019 void close();
Pankaj Berde2497e542013-02-19 18:51:24 -080020
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 Berde15193092013-03-21 17:30:14 -070026 void close();
Pankaj Berded1259e82013-01-23 14:10:00 -080027 }
28 public interface ITopoDeviceService {
Pankaj Berde2497e542013-02-19 18:51:24 -080029 Iterable<IDeviceObject> getActiveDevices();
30 Iterable<IDeviceObject> getDevicesOnSwitch(String dpid);
31 Iterable<IDeviceObject> getDevicesOnSwitch(String dpid, short port_num);
Pankaj Berded1259e82013-01-23 14:10:00 -080032 }
Pavlin Radoslavova5f167b2013-03-21 11:39:27 -070033
Pankaj Berded1259e82013-01-23 14:10:00 -080034 public interface ITopoFlowService {
Pankaj Berde2497e542013-02-19 18:51:24 -080035 Boolean flowExists(NodePortTuple src, NodePortTuple dest);
36 List<NodePortTuple> getShortestFlowPath(NodePortTuple src, NodePortTuple dest);
Pankaj Berded1259e82013-01-23 14:10:00 -080037
38 }
39}