blob: 937c5511bb0d34fe2d19f09fd5ab5c4b61ff07d6 [file] [log] [blame]
package net.floodlightcontroller.core;
import java.util.List;
import net.floodlightcontroller.core.INetMapTopologyObjects.IDeviceObject;
import net.floodlightcontroller.core.INetMapTopologyObjects.IPortObject;
import net.floodlightcontroller.core.INetMapTopologyObjects.ISwitchObject;
import net.floodlightcontroller.routing.Link;
import net.floodlightcontroller.topology.NodePortTuple;
public interface INetMapTopologyService extends INetMapService {
public interface ITopoSwitchService {
Iterable<ISwitchObject> getActiveSwitches();
Iterable<ISwitchObject> getAllSwitches();
Iterable<ISwitchObject> getInactiveSwitches();
Iterable<IPortObject> getPortsOnSwitch(String dpid);
IPortObject getPortOnSwitch(String dpid, short port_num);
}
public interface ITopoLinkService {
List<Link> getActiveLinks();
List<Link> getLinksOnSwitch(String dpid);
}
public interface ITopoDeviceService {
Iterable<IDeviceObject> getActiveDevices();
Iterable<IDeviceObject> getDevicesOnSwitch(String dpid);
Iterable<IDeviceObject> getDevicesOnSwitch(String dpid, short port_num);
}
public interface ITopoRouteService {
List<NodePortTuple> getShortestPath(NodePortTuple src, NodePortTuple dest);
Boolean routeExists(NodePortTuple src, NodePortTuple dest);
}
public interface ITopoFlowService {
Boolean flowExists(NodePortTuple src, NodePortTuple dest);
List<NodePortTuple> getShortestFlowPath(NodePortTuple src, NodePortTuple dest);
}
}