public interface ITopologyService extends IFloodlightService
Modifier and Type | Method and Description |
---|---|
void |
addListener(ITopologyListener listener)
Add a listener to be notified upon topology events.
|
java.util.Set<NodePortTuple> |
getAllBroadcastPorts()
Gets the set of ports that participate in the broadcast within each archipelago
|
java.util.Map<org.projectfloodlight.openflow.types.DatapathId,java.util.Set<Link>> |
getAllLinks()
Get all network links, including intra-cluster and inter-cluster links.
|
org.projectfloodlight.openflow.types.DatapathId |
getArchipelagoId(org.projectfloodlight.openflow.types.DatapathId switchId)
Return the ID of the archipelago this switch is
a part of.
|
java.util.Set<org.projectfloodlight.openflow.types.DatapathId> |
getArchipelagoIds()
Return all archipelagos
|
java.util.Set<NodePortTuple> |
getBlockedPorts()
Returns a set of blocked ports.
|
java.util.Set<org.projectfloodlight.openflow.types.OFPort> |
getBroadcastPorts(org.projectfloodlight.openflow.types.DatapathId targetSw,
org.projectfloodlight.openflow.types.DatapathId src,
org.projectfloodlight.openflow.types.OFPort srcPort)
Get broadcast ports on a target switch for a given attachment point
point port.
|
java.util.Set<NodePortTuple> |
getBroadcastPortsInArchipelago(org.projectfloodlight.openflow.types.DatapathId sw)
Gets the set of ports that participate in the broadcast trees for the
archipelago in which the swtich belongs
|
org.projectfloodlight.openflow.types.DatapathId |
getClusterId(org.projectfloodlight.openflow.types.DatapathId switchId)
Return the ID of the domain/island/cluster this switch is
a part of.
|
java.util.Set<org.projectfloodlight.openflow.types.DatapathId> |
getClusterIdsInArchipelago(org.projectfloodlight.openflow.types.DatapathId sw)
Gets all cluster IDs in the same archipelago as the switch provided.
|
java.util.Set<Link> |
getExternalInterClusterLinks()
Get all links that are:
--external
--detected via BDDP
--connect two clusters
|
java.util.Set<Link> |
getInternalInterClusterLinks()
Get all links that are:
--internal
--detected via LLDP
--connect two clusters
|
java.util.Date |
getLastUpdateTime()
Retrieve the last time the topology was computed.
|
java.util.Set<org.projectfloodlight.openflow.types.OFPort> |
getPorts(org.projectfloodlight.openflow.types.DatapathId sw)
Returns the enabled, non quarantined ports of the given switch.
|
java.util.Set<org.projectfloodlight.openflow.types.OFPort> |
getPortsWithLinks(org.projectfloodlight.openflow.types.DatapathId sw)
Gets a list of ports on a given switch that are part of known links.
|
java.util.Set<org.projectfloodlight.openflow.types.OFPort> |
getSwitchBroadcastPorts(org.projectfloodlight.openflow.types.DatapathId sw)
Get list of ports that can SEND a broadcast packet.
|
java.util.Set<org.projectfloodlight.openflow.types.DatapathId> |
getSwitchesInCluster(org.projectfloodlight.openflow.types.DatapathId sw)
Gets all switches in the same domain/island/cluster as the switch provided.
|
java.util.Set<NodePortTuple> |
getTunnelPorts()
Gets the set of ports that belong to tunnels.
|
boolean |
isAttachmentPointPort(org.projectfloodlight.openflow.types.DatapathId switchid,
org.projectfloodlight.openflow.types.OFPort port)
Determines if a device can be learned/located on this switch+port.
|
boolean |
isBroadcastAllowed(org.projectfloodlight.openflow.types.DatapathId sw,
org.projectfloodlight.openflow.types.OFPort portId)
Checks if the given switch+port is allowed to send or receive broadcast packets.
|
boolean |
isBroadcastPort(org.projectfloodlight.openflow.types.DatapathId sw,
org.projectfloodlight.openflow.types.OFPort port)
Checks if the switch+port is in the broadcast tree.
|
boolean |
isConsistent(org.projectfloodlight.openflow.types.DatapathId oldSw,
org.projectfloodlight.openflow.types.OFPort oldPort,
org.projectfloodlight.openflow.types.DatapathId newSw,
org.projectfloodlight.openflow.types.OFPort newPort)
Indicates if an attachment point on the new switch port is consistent
with the attachment point on the old switch port or not.
|
boolean |
isEdge(org.projectfloodlight.openflow.types.DatapathId sw,
org.projectfloodlight.openflow.types.OFPort p)
Determines whether or not a switch+port is a part of
a link or is a leaf of the network.
|
boolean |
isInSameArchipelago(org.projectfloodlight.openflow.types.DatapathId s1,
org.projectfloodlight.openflow.types.DatapathId s2)
Determines if two switches are in the same archipelago.
|
boolean |
isInSameCluster(org.projectfloodlight.openflow.types.DatapathId s1,
org.projectfloodlight.openflow.types.DatapathId s2)
Determines if two switches are in the same domain/island/cluster.
|
boolean |
isNotBlocked(org.projectfloodlight.openflow.types.DatapathId sw,
org.projectfloodlight.openflow.types.OFPort portId)
Determines if the switch+port is blocked.
|
void |
removeListener(ITopologyListener listener)
Remove a listener to stop receiving topology events.
|
void addListener(ITopologyListener listener)
listener
- void removeListener(ITopologyListener listener)
listener
- java.util.Date getLastUpdateTime()
boolean isAttachmentPointPort(org.projectfloodlight.openflow.types.DatapathId switchid, org.projectfloodlight.openflow.types.OFPort port)
switchid
- port
- boolean isEdge(org.projectfloodlight.openflow.types.DatapathId sw, org.projectfloodlight.openflow.types.OFPort p)
sw
- p
- java.util.Set<org.projectfloodlight.openflow.types.OFPort> getSwitchBroadcastPorts(org.projectfloodlight.openflow.types.DatapathId sw)
sw
- boolean isBroadcastPort(org.projectfloodlight.openflow.types.DatapathId sw, org.projectfloodlight.openflow.types.OFPort port)
sw
- port
- boolean isConsistent(org.projectfloodlight.openflow.types.DatapathId oldSw, org.projectfloodlight.openflow.types.OFPort oldPort, org.projectfloodlight.openflow.types.DatapathId newSw, org.projectfloodlight.openflow.types.OFPort newPort)
oldSw
- oldPort
- newSw
- newPort
- java.util.Set<org.projectfloodlight.openflow.types.OFPort> getBroadcastPorts(org.projectfloodlight.openflow.types.DatapathId targetSw, org.projectfloodlight.openflow.types.DatapathId src, org.projectfloodlight.openflow.types.OFPort srcPort)
targetSw
- src
- srcPort
- boolean isBroadcastAllowed(org.projectfloodlight.openflow.types.DatapathId sw, org.projectfloodlight.openflow.types.OFPort portId)
sw
- portId
- java.util.Set<NodePortTuple> getAllBroadcastPorts()
java.util.Set<NodePortTuple> getBroadcastPortsInArchipelago(org.projectfloodlight.openflow.types.DatapathId sw)
sw
- java.util.Set<NodePortTuple> getTunnelPorts()
java.util.Set<NodePortTuple> getBlockedPorts()
boolean isNotBlocked(org.projectfloodlight.openflow.types.DatapathId sw, org.projectfloodlight.openflow.types.OFPort portId)
sw
- portId
- java.util.Set<org.projectfloodlight.openflow.types.OFPort> getPorts(org.projectfloodlight.openflow.types.DatapathId sw)
org.projectfloodlight.openflow.types.DatapathId getClusterId(org.projectfloodlight.openflow.types.DatapathId switchId)
switchId
- org.projectfloodlight.openflow.types.DatapathId getArchipelagoId(org.projectfloodlight.openflow.types.DatapathId switchId)
switchId
- java.util.Set<org.projectfloodlight.openflow.types.DatapathId> getArchipelagoIds()
boolean isInSameCluster(org.projectfloodlight.openflow.types.DatapathId s1, org.projectfloodlight.openflow.types.DatapathId s2)
s1
- s2
- boolean isInSameArchipelago(org.projectfloodlight.openflow.types.DatapathId s1, org.projectfloodlight.openflow.types.DatapathId s2)
s1
- s2
- java.util.Set<org.projectfloodlight.openflow.types.DatapathId> getSwitchesInCluster(org.projectfloodlight.openflow.types.DatapathId sw)
sw
- java.util.Set<org.projectfloodlight.openflow.types.DatapathId> getClusterIdsInArchipelago(org.projectfloodlight.openflow.types.DatapathId sw)
sw
- java.util.Map<org.projectfloodlight.openflow.types.DatapathId,java.util.Set<Link>> getAllLinks()
java.util.Set<org.projectfloodlight.openflow.types.OFPort> getPortsWithLinks(org.projectfloodlight.openflow.types.DatapathId sw)
sw
- java.util.Set<Link> getExternalInterClusterLinks()
java.util.Set<Link> getInternalInterClusterLinks()