| package net.onrc.onos.core.topology; |
| |
| import java.util.Collection; |
| |
| import net.floodlightcontroller.util.MACAddress; |
| import net.onrc.onos.core.util.Dpid; |
| import net.onrc.onos.core.util.LinkTuple; |
| import net.onrc.onos.core.util.PortNumber; |
| import net.onrc.onos.core.util.SwitchPort; |
| |
| /** |
| * Interface to reference internal self-contained elements. |
| */ |
| public interface BaseInternalTopology extends BaseMastership { |
| |
| /** |
| * Gets a SwitchData. |
| * |
| * @param dpid Switch DPID |
| * @return the SwitchData for the Switch DPID if found, otherwise null |
| */ |
| public SwitchData getSwitchData(Dpid dpid); |
| |
| /** |
| * Gets all SwitchData entries. |
| * |
| * @return all SwitchData entries. |
| */ |
| public Collection<SwitchData> getAllSwitchDataEntries(); |
| |
| /** |
| * Gets a PortData. |
| * |
| * @param port Port identifier |
| * @return the PortData for the Port identifier if found, otherwise null |
| */ |
| public PortData getPortData(SwitchPort port); |
| |
| /** |
| * Gets a PortData. |
| * |
| * @param dpid Switch DPID |
| * @param portNumber Port number |
| * @return the PortData for the (Dpid, PortNumber) if found, otherwise null |
| */ |
| public PortData getPortData(Dpid dpid, PortNumber portNumber); |
| |
| /** |
| * Gets all PortData entries on a switch. |
| * |
| * @param dpid Switch DPID |
| * @return all PortData entries on a switch. |
| */ |
| public Collection<PortData> getPortDataEntries(Dpid dpid); |
| |
| /** |
| * Gets all PortData entries. |
| * |
| * @return all PortData entries. |
| */ |
| public Collection<PortData> getAllPortDataEntries(); |
| |
| /** |
| * Gets a LinkData. |
| * |
| * @param linkId Link identifier |
| * @return the LinkData for the Link identifier if found, otherwise null |
| */ |
| public LinkData getLinkData(LinkTuple linkId); |
| |
| /** |
| * Gets a LinkData. |
| * |
| * @param linkId Link identifier |
| * @param type type |
| * @return the LinkData for the Link identifier and type if found, |
| * otherwise null |
| */ |
| public LinkData getLinkData(final LinkTuple linkId, final String type); |
| |
| /** |
| * Gets all LinkData entries departing from a specified port. |
| * |
| * @param srcPort source port identifier |
| * @return Collection of LinkData entries |
| */ |
| public Collection<LinkData> getLinkDataEntriesFrom(final SwitchPort srcPort); |
| |
| /** |
| * Gets all LinkData entries pointing toward a specified port. |
| * |
| * @param dstPort destination port identifier |
| * @return Collection of LinkData entries |
| */ |
| public Collection<LinkData> getLinkDataEntriesTo(final SwitchPort dstPort); |
| |
| /** |
| * Gets a collection of LinkData entries. |
| * |
| * @param linkId Link identifier |
| * @return Collection of LinkData entries. |
| */ |
| public Collection<LinkData> getLinkDataEntries(LinkTuple linkId); |
| |
| /** |
| * Gets all LinkData entries. |
| * |
| * @return all LinkData entries. |
| */ |
| public Collection<LinkData> getAllLinkDataEntries(); |
| |
| /** |
| * Gets a HostData. |
| * |
| * @param mac MACAddress of the host |
| * @return the HostData for the MACAddress if found, otherwise null |
| */ |
| public HostData getHostData(MACAddress mac); |
| |
| /** |
| * Gets all HostData entries attached to a specified port. |
| * |
| * @param port attachment point identifier |
| * @return Collection of HostData entries. |
| */ |
| public Collection<HostData> getHostDataEntries(SwitchPort port); |
| |
| /** |
| * Gets all HostData entries. |
| * |
| * @return all HostData entries. |
| */ |
| public Collection<HostData> getAllHostDataEntries(); |
| } |