1 module path-computation {
3 namespace "urn:opendaylight:params:xml:ns:yang:path:computation";
6 import network-concepts { prefix netc; revision-date 2013-11-25; }
7 import ietf-inet-types { prefix inet; revision-date 2013-07-15; }
8 import graph { prefix gr; revision-date 2019-11-25; }
10 organization "Orange";
11 contact "Olivier Dugeon <olivier.dugeon@orange.com>";
14 "This module contains the model of Computed Path
15 used in various Path Computation algorithms.
17 Copyright (c)2020 Orange. All rights reserved.
19 This program and the accompanying materials are made available
20 under the terms of the Eclipse Public License v1.0 which
21 accompanies this distribution, and is available at
22 http://www.eclipse.org/legal/epl-v10.html";
24 revision "2020-01-20" {
30 typedef computation-status {
32 "Status of the Path Computation Algorithm regaring current
36 description "Path Computeation Algorithm has not yet started";
41 "Path Computation has started but no path has been found";
46 "A valid path has been found,
47 but it is perhaps not the best one";
52 "Path Computation Algorithm has completed
53 and a valid computed path found";
62 typedef algorithm-type {
63 description "Various type of Path Computation Algorithms";
78 grouping path-constraints {
79 description "Set of Constraints for Path Computation";
81 description "Maximum end to end IGP metric";
85 description "Maximum end to end Traffic Engineering metric";
89 description "Maximum end to end delay";
93 description "Maximum delay variation for selected edges";
97 description "Maximum loss for selected edges";
101 description "Admin group to select edges";
104 leaf address-family {
105 description "Address family of the computed path";
123 description "Class Type for bandwidth constraints";
129 description "Requested bandwidth for the computed path";
130 type gr:decimal-bandwidth;
134 grouping path-descriptions {
136 "Computed Path description as a list of IPv4, IPv6 or MPLS Label";
137 list path-description {
139 when "path-constraints/address-family = 0";
140 type inet:ipv4-address;
143 when "path-constraints/address-family = 1";
144 type inet:ipv6-address;
147 when "path-constraints/address-family = 2 or path-constraints/address-family = 3";
148 type netc:mpls-label;
153 container constrained-path {
154 description "Computed Path as result of Path Computation Algorithms";
155 uses path-constraints;
162 uses path-descriptions;
164 type computation-status;
168 rpc get-constrained-path {
180 container constraints {
181 uses path-constraints;
188 uses path-descriptions;
190 type computation-status;
192 leaf computed-metric {
195 leaf computed-te-metric {
198 leaf computed-delay {