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";
90 units "micro-seconds";
94 description "Maximum delay variation for selected edges";
95 units "micro-seconds";
99 description "Maximum loss for selected edges";
104 description "Admin group to select edges";
107 leaf address-family {
108 description "Address family of the computed path";
126 description "Class Type for bandwidth constraints";
132 description "Requested bandwidth for the computed path";
133 units "bytes/second";
134 type gr:decimal-bandwidth;
138 grouping path-descriptions {
140 "Computed Path description as a list of IPv4, IPv6 or MPLS Label";
141 list path-description {
143 when "path-constraints/address-family = 0";
144 type inet:ipv4-address;
147 when "path-constraints/address-family = 1";
148 type inet:ipv6-address;
151 when "path-constraints/address-family = 2 or path-constraints/address-family = 3";
152 type netc:mpls-label;
157 container constrained-path {
158 description "Computed Path as result of Path Computation Algorithms";
159 uses path-constraints;
166 uses path-descriptions;
168 type computation-status;
172 rpc get-constrained-path {
184 container constraints {
185 uses path-constraints;
192 uses path-descriptions;
194 type computation-status;
196 leaf computed-metric {
199 leaf computed-te-metric {
202 leaf computed-delay {