Jonathan Hart | 062a2e8 | 2014-02-03 09:41:57 -0800 | [diff] [blame] | 1 | package net.onrc.onos.ofcontroller.networkgraph; |
| 2 | |
| 3 | import java.net.InetAddress; |
| 4 | |
| 5 | import 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 | */ |
| 13 | public interface NetworkGraph { |
Toshio Koide | 2f570c1 | 2014-02-06 16:55:32 -0800 | [diff] [blame] | 14 | public Switch getSwitch(Long dpid); |
| 15 | public Iterable<? extends Switch> getSwitches(); |
Jonathan Hart | 062a2e8 | 2014-02-03 09:41:57 -0800 | [diff] [blame] | 16 | |
Toshio Koide | 2f570c1 | 2014-02-06 16:55:32 -0800 | [diff] [blame] | 17 | public Iterable<? extends Link> getLinks(); |
| 18 | public Iterable<? extends Link> getOutgoingLinksFromSwitch(Long dpid); // Toshi: unnecessary |
| 19 | public Iterable<? extends Link> getIncomingLinksFromSwitch(Long dpid); // Toshi: unnecessary |
Jonathan Hart | 062a2e8 | 2014-02-03 09:41:57 -0800 | [diff] [blame] | 20 | |
| 21 | public Iterable<Device> getDeviceByIp(InetAddress ipAddress); |
| 22 | public Iterable<Device> getDeviceByMac(MACAddress address); |
| 23 | } |