public interface TopologyService
Services from this component could be used for example by an application to configure preemptive or reactive flows through the control domain, or trace the packet flow through the control domain elements.
Topology Service also provides a mechanism for interested controller
entities to get notified whenever there is a topology re-computation event.
This is achieved by leverage of the
addListener API.
Such entities should also take care of notifying Topology Service of their
disinterest to such events by invoking
removeListener(com.h3c.sdn.topology.TopologyListener). It is left to
the implementation of this service to define at what point it determines a
recompute event has occurred.
| Modifier and Type | Method and Description |
|---|---|
void |
addListener(TopologyListener listener)
Provides ability for interested components to get notified whenever
Topology is recomputed.
|
void |
addPortlinkabnormal(DataPathId dpId,
BigPortNumber portNumber)
add port with link abnormal state
|
void |
clearPortlinkabnormal(DataPathId dpId,
BigPortNumber portNumber)
delete port with link abnormal state
|
TopologyCluster |
cluster(DataPathId switchDpid)
Retrieves the cluster to which this control domain element is associated
to as determined by Topology Service.
|
List<TopologyCluster> |
clusters()
Provides enumeration of the grouping of control domain elements into
clusters of strongly connected nodes, as determined by Topology Service.
|
L2Path |
createL2RoutePath(DataPathId srcDpid,
DataPathId dstDpid,
List<Link> paths)
Change the Class L2Path to Class L2RoutePath for PathDaemon to use get/remove/contains, etc..
|
List<L2Path> |
ecmpPath(DataPathId device,
DataPathId device2) |
Map<DataPathId,Link> |
getDestinationTree(DataPathId pktSrcDpid) |
Set<BigPortNumber> |
getDeviceConnectionPorts(DataPathId dpid)
Return all ports emanating from the given datapath
|
boolean |
isConnectionPoint(DataPathId switchDpid,
BigPortNumber portId)
Indicates if the given port, belonging to the specified node is
participating in a interconnect link
|
boolean |
isPortlinkabnormal(DataPathId dpId,
BigPortNumber portNumber)
get port link abnormal state
|
boolean |
participateInBroadcast(DataPathId switchDpid,
BigPortNumber portId)
Indicates if the given switch-port pair can participate in flood action.
|
L2Path |
path(DataPathId source,
DataPathId dest)
Determines control domain elements that need to be traversed for reaching
destination node from a source node.
|
boolean |
pathExists(DataPathId source,
DataPathId dest)
Verifies if a L2 path exists between given source and destination switch.
|
Set<BigPortNumber> |
ports(DataPathId switchDpid)
List of ports learned by Topology Service for a given switch node.
|
void |
removeListener(TopologyListener listener)
Provides a way for the components to inform Topology Service that it is
no more interested in getting notified of topology recompute events.
|
Map<DataPathId,Link> |
tree(long clusterId)
Represents set of nodes and the link which it contributes to the tree for
the given cluster.
|
boolean pathExists(DataPathId source, DataPathId dest)
source - datapathId of the source nodedest - datapathId of the destination nodeL2Path path(DataPathId source, DataPathId dest)
source - datapathId of the source nodedest - datapathId of the destination nodeL2PathSet<BigPortNumber> ports(DataPathId switchDpid)
switchDpid - dpid of the switch whose ports are requiredboolean isConnectionPoint(DataPathId switchDpid, BigPortNumber portId)
switchDpid - pid of the switch which owns the portportId - port number(ifAlias/ifIndex) of the nodeSet<BigPortNumber> getDeviceConnectionPorts(DataPathId dpid)
dpid - pid of specified switchList<TopologyCluster> clusters()
TopologyClusterTopologyCluster cluster(DataPathId switchDpid)
switchDpid - node whose cluster information is being requestedboolean participateInBroadcast(DataPathId switchDpid, BigPortNumber portId)
switchDpid - of the device to checkportId - of the port belonging to the given switchMap<DataPathId,Link> tree(long clusterId)
clusterId - id of the cluster whose tree is being requestedvoid addListener(TopologyListener listener)
listener - the implementation of TopologyListener interfacevoid removeListener(TopologyListener listener)
listener - the implementation of TopologyListener interfaceMap<DataPathId,Link> getDestinationTree(DataPathId pktSrcDpid)
List<L2Path> ecmpPath(DataPathId device, DataPathId device2)
boolean isPortlinkabnormal(DataPathId dpId, BigPortNumber portNumber)
dpId - device idportNumber - port idvoid clearPortlinkabnormal(DataPathId dpId, BigPortNumber portNumber)
dpId - device idportNumber - port idvoid addPortlinkabnormal(DataPathId dpId, BigPortNumber portNumber)
dpId - device idportNumber - port idL2Path createL2RoutePath(DataPathId srcDpid, DataPathId dstDpid, List<Link> paths)
DataPathId - src device idDataPathId - dst device idList - pathsCopyright © 2014. All Rights Reserved.