blob: 882ebbefc1add7a427da7f57fc2609e89e98418f [file] [log] [blame]
package net.onrc.onos.ofcontroller.networkgraph;
import java.net.InetAddress;
import net.floodlightcontroller.util.MACAddress;
/**
* The northbound interface to the topology network graph. This interface
* is presented to the rest of ONOS. It is currently read-only, as we want
* only the discovery modules to be allowed to modify the topology.
*
*/
public interface NetworkGraph {
public Switch getSwitch(Long dpid);
public Iterable<? extends Switch> getSwitches();
public Iterable<? extends Link> getLinks();
public Iterable<? extends Link> getOutgoingLinksFromSwitch(Long dpid); // Toshi: unnecessary
public Iterable<? extends Link> getIncomingLinksFromSwitch(Long dpid); // Toshi: unnecessary
public Iterable<Device> getDeviceByIp(InetAddress ipAddress);
public Device getDeviceByMac(MACAddress address);
}