Add Exclude and Include Route for Path Computation 47/100247/4
authorOlivier Dugeon <olivier.dugeon@orange.com>
Thu, 24 Mar 2022 17:53:16 +0000 (18:53 +0100)
committerRobert Varga <robert.varga@pantheon.tech>
Wed, 30 Mar 2022 18:52:22 +0000 (20:52 +0200)
commit610e2b397135d8428bed318ff9c2a7dea0b2e411
tree6e42fc7391c37f71c1d8c7c8dbf360fc8fb6032c
parent20245b63c97183ed3c36c42c66e7668d04178d14
Add Exclude and Include Route for Path Computation

Exclude Route Object (XRO) and Include Route Object (IRO) are
part of RFC5440. Both objects have for goal to add constraints
on path computation: XRO to exclude some nodes or links and
IRO to force inclusion of them i.e. force some points for the
path description.

This new patch enhance the path-computation.yang model as well
as Path Computation algorithms to support both Exclude and
Include routes. If Exclude Route could be express without any
specific order, Include Route must be an ordered list of point:
i.e. to through A, then B and C, list should be <A, B, C> and
not <C, A, B> or other order.

Change-Id: I254086146ed03c8591d54bce3f7c527372ac9134
Signed-off-by: Olivier Dugeon <olivier.dugeon@orange.com>
19 files changed:
algo/algo-api/src/main/java/org/opendaylight/algo/PathComputationAlgorithm.java
algo/algo-api/src/main/java/org/opendaylight/algo/PathComputationProvider.java
algo/algo-api/src/main/yang/path-computation.yang
algo/algo-impl/src/main/java/org/opendaylight/algo/impl/AbstractPathComputation.java
algo/algo-impl/src/main/java/org/opendaylight/algo/impl/ConstrainedShortestPathFirst.java
algo/algo-impl/src/main/java/org/opendaylight/algo/impl/PathComputationServer.java
algo/algo-impl/src/main/java/org/opendaylight/algo/impl/Samcra.java
algo/algo-impl/src/main/java/org/opendaylight/algo/impl/ShortestPathFirst.java
docs/algo/algo-user-guide-running-algo.rst
docs/pcep/pcep-user-guide-pce-server.rst
pcep/server/server-api/pom.xml
pcep/server/server-api/src/main/java/org/opendaylight/bgpcep/pcep/server/PathComputation.java
pcep/server/server-api/src/main/yang/pcep-server.yang
pcep/server/server-provider/src/main/java/org/opendaylight/bgpcep/pcep/server/provider/ManagedTePath.java
pcep/server/server-provider/src/main/java/org/opendaylight/bgpcep/pcep/server/provider/MessagesUtil.java
pcep/server/server-provider/src/main/java/org/opendaylight/bgpcep/pcep/server/provider/PathComputationImpl.java
pcep/server/server-provider/src/main/java/org/opendaylight/bgpcep/pcep/server/provider/PathManagerProvider.java
pcep/server/server-provider/src/main/java/org/opendaylight/bgpcep/pcep/server/provider/PcepTopologyListener.java
pcep/topology/topology-provider/src/main/java/org/opendaylight/bgpcep/pcep/topology/provider/PCEPTopologySessionListener.java