blob: 867ae9842d138388faf0dc6fe84440cbda53b310 [file] [log] [blame]
Jonathan Hart062a2e82014-02-03 09:41:57 -08001package net.onrc.onos.ofcontroller.networkgraph;
2
3import java.net.InetAddress;
4
5import net.floodlightcontroller.util.MACAddress;
6
7/**
8 * The northbound interface to the topology network graph. This interface
9 * is presented to the rest of ONOS. It is currently read-only, as we want
10 * only the discovery modules to be allowed to modify the topology.
11 *
12 */
13public interface NetworkGraph {
14 public Switch getSwitch(long dpid);
15 public Iterable<Switch> getSwitches();
16
17 public Iterable<Link> getLinks();
18 public Iterable<Link> getLinksFromSwitch(long dpid);
19
20 public Iterable<Device> getDeviceByIp(InetAddress ipAddress);
21 public Iterable<Device> getDeviceByMac(MACAddress address);
22}