Class ManagedTePath
- java.lang.Object
-
- org.opendaylight.bgpcep.pcep.server.provider.ManagedTePath
-
- All Implemented Interfaces:
ConnectedEdgeTrigger
,ConnectedVertexTrigger
public class ManagedTePath extends Object implements ConnectedEdgeTrigger, ConnectedVertexTrigger
-
-
Constructor Summary
Constructors Constructor Description ManagedTePath(ManagedTeNode teNode, ManagedTePath mngPath)
ManagedTePath(ManagedTeNode teNode, ConfiguredLsp lsp, org.opendaylight.yangtools.yang.binding.InstanceIdentifier<org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.Topology> topology)
ManagedTePath(ManagedTeNode teNode, org.opendaylight.yangtools.yang.binding.InstanceIdentifier<org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.Topology> topology)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description com.google.common.util.concurrent.ListenableFuture<org.opendaylight.yangtools.yang.common.RpcResult<AddLspOutput>>
addPath(NetworkTopologyPcepService ntps)
Call add-lsp RPC to enforce the LSP into the PCC.void
addToDataStore()
Add LSP components to the Operational Data Store.PathStatus
checkReportedPath(ConfiguredLsp lsp)
Compare the current TE Path against the reported LSP to determine if there are in Sync, need Update or considered as in Failure if already updated.void
disabled()
Disabling this TE Path by marking it as Configured.void
failed()
Mark this TE Path as Failed.ConfiguredLsp
getLsp()
ManagedTeNode
getManagedTeNode()
org.opendaylight.yangtools.yang.binding.InstanceIdentifier<org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.Topology>
getTopology()
PathType
getType()
boolean
isSent()
void
removeFromDataStore()
Remove LSP components to the Data Store.com.google.common.util.concurrent.ListenableFuture<org.opendaylight.yangtools.yang.common.RpcResult<RemoveLspOutput>>
removePath(NetworkTopologyPcepService ntps)
Call remove-lsp RPC to remove the LSP from the PCC.ManagedTePath
setConfiguredLsp(ConfiguredLsp lsp)
void
setGraph(ConnectedGraph graph)
ManagedTePath
setType(PathType type)
void
sync()
Mark this TE Path as synchronized and update the Data Store accordingly.String
toString()
void
unsetGraph(ConnectedGraph graph)
void
unSetTriggerFlag()
Reset Triggered Flag.void
updateGraph(ConnectedGraph graph)
com.google.common.util.concurrent.ListenableFuture<org.opendaylight.yangtools.yang.common.RpcResult<UpdateLspOutput>>
updatePath(NetworkTopologyPcepService ntps)
Call update-lsp RPC to enforce the LSP into the PCC.void
updateToDataStore()
Update LSP components to the Data Store.boolean
verifyEdge(@Nullable ConnectedEdge next, @Nullable Edge current)
This method verifies the next Edge attributes against the current one to determine if is necessary to launch correction which are left at the discretion of the class which implements this method.boolean
verifyVertex(@Nullable ConnectedVertex next, @Nullable Vertex current)
This method verifies the next Vertex attribute against the current one to determine if is necessary to launch correction which are left at the discretion of the class which implements this method.
-
-
-
Constructor Detail
-
ManagedTePath
public ManagedTePath(ManagedTeNode teNode, org.opendaylight.yangtools.yang.binding.InstanceIdentifier<org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.Topology> topology)
-
ManagedTePath
public ManagedTePath(ManagedTeNode teNode, ConfiguredLsp lsp, org.opendaylight.yangtools.yang.binding.InstanceIdentifier<org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.Topology> topology)
-
ManagedTePath
public ManagedTePath(ManagedTeNode teNode, ManagedTePath mngPath)
-
-
Method Detail
-
getLsp
public ConfiguredLsp getLsp()
-
getManagedTeNode
public ManagedTeNode getManagedTeNode()
-
getType
public PathType getType()
-
getTopology
public org.opendaylight.yangtools.yang.binding.InstanceIdentifier<org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.Topology> getTopology()
-
setConfiguredLsp
public ManagedTePath setConfiguredLsp(ConfiguredLsp lsp)
-
setType
public ManagedTePath setType(PathType type)
-
sync
public void sync()
Mark this TE Path as synchronized and update the Data Store accordingly.
-
disabled
public void disabled()
Disabling this TE Path by marking it as Configured. Do not update the Data Store.
-
failed
public void failed()
Mark this TE Path as Failed.
-
isSent
public boolean isSent()
-
checkReportedPath
public PathStatus checkReportedPath(ConfiguredLsp lsp)
Compare the current TE Path against the reported LSP to determine if there are in Sync, need Update or considered as in Failure if already updated.- Parameters:
lsp
- LSP that corresponds to the reported LSP- Returns:
- new LSP status
-
setGraph
public void setGraph(ConnectedGraph graph)
-
unsetGraph
public void unsetGraph(ConnectedGraph graph)
-
updateGraph
public void updateGraph(ConnectedGraph graph)
-
unSetTriggerFlag
public void unSetTriggerFlag()
Reset Triggered Flag.
-
verifyVertex
public boolean verifyVertex(@Nullable ConnectedVertex next, @Nullable Vertex current)
Description copied from interface:ConnectedVertexTrigger
This method verifies the next Vertex attribute against the current one to determine if is necessary to launch correction which are left at the discretion of the class which implements this method.If current Vertex is null, this means that the Connected Vertex will be added in the Connected Graph. If next Connected Vertex is null, this means that the Connect Vertex will be deleted from the Connected Graph. Otherwise, this is an update of Vertex attributes.
- Specified by:
verifyVertex
in interfaceConnectedVertexTrigger
- Parameters:
next
- Next Connected Vertex to be installed in the Connected Graphcurrent
- Current Vertex installed in the Connected Graph- Returns:
- True if the Vertex need attention, false otherwise
-
verifyEdge
public boolean verifyEdge(@Nullable ConnectedEdge next, @Nullable Edge current)
Description copied from interface:ConnectedEdgeTrigger
This method verifies the next Edge attributes against the current one to determine if is necessary to launch correction which are left at the discretion of the class which implements this method.If current Edge is null, this means that the Connected Edge will be added in the Connected Graph. If next Edge is null, this means that the Connected Edge will be deleted from the Connected Graph. Otherwise, this is an update of Edge attributes.
- Specified by:
verifyEdge
in interfaceConnectedEdgeTrigger
- Parameters:
next
- Next Connected Edge to be installed in the Connected Graphcurrent
- Current Edge attributes in the Connected Graph- Returns:
- True if the Edge need attention, false otherwise
-
addPath
public com.google.common.util.concurrent.ListenableFuture<org.opendaylight.yangtools.yang.common.RpcResult<AddLspOutput>> addPath(NetworkTopologyPcepService ntps)
Call add-lsp RPC to enforce the LSP into the PCC. This action will trigger a PcInitiate message to the PCC.- Parameters:
ntps
- Network Topology PCEP Service- Returns:
- Add LSP Output to convey the RPC result
-
updatePath
public com.google.common.util.concurrent.ListenableFuture<org.opendaylight.yangtools.yang.common.RpcResult<UpdateLspOutput>> updatePath(NetworkTopologyPcepService ntps)
Call update-lsp RPC to enforce the LSP into the PCC. This action will trigger a PcUpdate message to the PCC.- Parameters:
ntps
- Network Topology PCEP Service- Returns:
- Update LSP Output to convey the RPC result
-
removePath
public com.google.common.util.concurrent.ListenableFuture<org.opendaylight.yangtools.yang.common.RpcResult<RemoveLspOutput>> removePath(NetworkTopologyPcepService ntps)
Call remove-lsp RPC to remove the LSP from the PCC. This action will trigger a PcInitiate message to the PCC with 'R' bit set.- Parameters:
ntps
- Network Topology PCEP Service- Returns:
- Remove LSP Output to convey the RPC result
-
addToDataStore
public void addToDataStore()
Add LSP components to the Operational Data Store.
-
updateToDataStore
public void updateToDataStore()
Update LSP components to the Data Store.
-
removeFromDataStore
public void removeFromDataStore()
Remove LSP components to the Data Store.
-
-