1 module tapi-path-computation {
2 namespace "urn:onf:otcc:yang:tapi-path-computation";
3 prefix tapi-path-computation;
10 organization "ONF OTCC (Open Transport Configuration & Control) Project";
12 Project Web: <https://wiki.opennetworking.org/display/OTCC/TAPI>
13 Project List: <mailto:transport-api@opennetworking.org>
14 Editor: Karthik Sethuraman
15 <mailto:karthik.sethuraman@necam.com>";
17 This module contains TAPI Path Computation Model definitions.
18 Source: TapiPathComputation.uml
19 Copyright (c) 2018 Open Networking Foundation (ONF). All rights reserved.
20 License: This module is distributed under the Apache License 2.0";
22 description "ONF Transport API version 2.1.0
23 This YANG module has been generated from the TAPI UML Model using the IISOMI-Eagle xmi2yang mapping tool.
24 Changes in this revision: <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.1.0.md>";
25 reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020, RFC 6087 and ONF TAPI UML model
26 <https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.1.0/UML>";
29 description "ONF Transport API version 2.0.2
30 This YANG module has been generated from the TAPI UML Model using the IISOMI-Eagle xmi2yang mapping tool.
31 Changes in this revision: <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.0.2.md>";
32 reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020, RFC 6087 and ONF TAPI UML model
33 <https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.0.2/UML>";
36 description "ONF Transport API version 2.0.1
37 This YANG module has been generated from the TAPI UML Model using the IISOMI-Eagle xmi2yang mapping tool.
38 Changes in this revision: <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.0.1.md>";
39 reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020, RFC 6087 and ONF TAPI UML model
40 <https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.0.1/UML>";
43 description "ONF Transport API version 2.0.0
44 This YANG module has been generated from the TAPI UML Model using the IISOMI-Eagle xmi2yang mapping tool.
45 Changes in this revision: <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.0.0.md>";
46 reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020, RFC 6087 and ONF TAPI UML model
47 <https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.0.0/UML>";
49 augment "/tapi-common:context" {
50 uses path-computation-context-g;
51 description "Augments the base TAPI Context with PathComputationService information";
54 /*************************
55 * definitions of refrences
56 *************************/
60 path '/tapi-common:context/tapi-path-computation:path/tapi-path-computation:uuid';
67 /***********************
68 * package object-classes
69 **********************/
72 uses tapi-topology:link-ref-g;
73 key 'topology-uuid link-uuid';
78 container routing-constraint {
80 uses routing-constraint-g;
84 type tapi-common:forwarding-direction;
87 leaf layer-protocol-name {
88 type tapi-common:layer-protocol-name;
92 uses tapi-common:resource-spec-g;
93 description "Path is described by an ordered list of TE Links. A TE Link is defined by a pair of Node/NodeEdgePoint IDs. A Connection is realized by concatenating link resources (associated with a Link) and the lower-level connections (cross-connections) in the different nodes";
95 grouping path-service-end-point-g {
96 container service-interface-point {
97 uses tapi-common:service-interface-point-ref-g;
101 leaf layer-protocol-name {
102 type tapi-common:layer-protocol-name;
106 leaf layer-protocol-qualifier {
107 type tapi-common:layer-protocol-qualifier;
111 uses tapi-common:capacity-g;
115 type tapi-common:port-role;
117 description "Each EP of the FC has a role (e.g., working, protection, protected, symmetric, hub, spoke, leaf, root) in the context of the FC with respect to the FC function. ";
120 type tapi-common:port-direction;
122 description "The orientation of defined flow at the EndPoint.";
124 uses tapi-common:local-class-g;
125 description "The association of the FC to LTPs is made via EndPoints.
126 The EndPoint (EP) object class models the access to the FC function.
127 The traffic forwarding between the associated EPs of the FC depends upon the type of FC and may be associated with FcSwitch object instances.
128 In cases where there is resilience the EndPoint may convey the resilience role of the access to the FC.
129 It can represent a protected (resilient/reliable) point or a protecting (unreliable working or protection) point.
130 The EP replaces the Protection Unit of a traditional protection model.
131 The ForwadingConstruct can be considered as a component and the EndPoint as a Port on that component";
133 grouping path-computation-service-g {
145 uses path-service-end-point-g;
148 container routing-constraint {
149 uses routing-constraint-g;
152 container topology-constraint {
153 uses topology-constraint-g;
156 container objective-function {
157 uses path-objective-function-g;
160 container optimization-constraint {
161 uses path-optimization-constraint-g;
164 uses tapi-common:service-spec-g;
167 grouping path-objective-function-g {
168 leaf bandwidth-optimization {
169 type tapi-common:directive-value;
173 leaf concurrent-paths {
174 type tapi-common:directive-value;
178 leaf cost-optimization {
179 type tapi-common:directive-value;
183 leaf link-utilization {
184 type tapi-common:directive-value;
188 leaf resource-sharing {
189 type tapi-common:directive-value;
193 uses tapi-common:local-class-g;
196 grouping path-optimization-constraint-g {
197 leaf traffic-interruption {
198 type tapi-common:directive-value;
202 uses tapi-common:local-class-g;
205 grouping routing-constraint-g {
206 list cost-characteristic {
208 uses tapi-topology:cost-characteristic-g;
209 description "The list of costs where each cost relates to some aspect of the TopologicalEntity.";
211 list latency-characteristic {
212 key 'traffic-property-name';
213 uses tapi-topology:latency-characteristic-g;
214 description "The effect on the latency of a queuing process. This only has significant effect for packet based systems and has a complex characteristic.";
216 list risk-diversity-characteristic {
217 key 'risk-characteristic-name';
218 uses tapi-topology:risk-characteristic-g;
221 leaf diversity-policy {
222 type diversity-policy;
225 leaf route-objective-function {
226 type route-objective-function;
229 leaf route-direction {
230 type tapi-common:forwarding-direction;
236 description "To distinguish if the resources are to be exclusive to the service";
240 grouping path-computation-context-g {
241 list path-comp-service {
243 uses path-computation-service-g;
254 grouping topology-constraint-g {
255 list include-topology {
256 uses tapi-topology:topology-ref-g;
261 list avoid-topology {
262 uses tapi-topology:topology-ref-g;
268 uses tapi-path-computation:path-ref-g;
274 uses tapi-path-computation:path-ref-g;
280 uses tapi-topology:link-ref-g;
281 key 'topology-uuid link-uuid';
283 description "This is a loose constraint - that is it is unordered and could be a partial list ";
286 uses tapi-topology:link-ref-g;
287 key 'topology-uuid link-uuid';
292 uses tapi-topology:node-ref-g;
293 key 'topology-uuid node-uuid';
295 description "This is a loose constraint - that is it is unordered and could be a partial list";
298 uses tapi-topology:node-ref-g;
299 key 'topology-uuid node-uuid';
303 leaf-list preferred-transport-layer {
304 type tapi-common:layer-protocol-name;
306 description "soft constraint requested by client to indicate the layer(s) of transport connection that it prefers to carry the service. This could be same as the service layer or one of the supported server layers";
311 /***********************
312 * package type-definitions
313 **********************/
314 typedef route-objective-function {
316 enum MIN_WORK_ROUTE_HOP {
319 enum MIN_WORK_ROUTE_COST {
322 enum MIN_WORK_ROUTE_LATENCY {
325 enum MIN_SUM_OF_WORK_AND_PROTECTION_ROUTE_HOP {
328 enum MIN_SUM_OF_WORK_AND_PROTECTION_ROUTE_COST {
331 enum MIN_SUM_OF_WORK_AND_PROTECTION_ROUTE_LATENCY {
334 enum LOAD_BALANCE_MAX_UNUSED_CAPACITY {
340 typedef diversity-policy {
361 /***********************
363 **********************/
364 rpc compute-p-2-p-path {
370 uses path-service-end-point-g;
373 container routing-constraint {
374 uses routing-constraint-g;
377 container topology-constraint {
378 uses topology-constraint-g;
381 container objective-function {
382 uses path-objective-function-g;
388 uses path-computation-service-g;
393 rpc optimize-p-2-p-path {
396 leaf path-id-or-name {
400 container routing-constraint {
401 uses routing-constraint-g;
404 container optimization-constraint {
405 uses path-optimization-constraint-g;
408 container objective-function {
409 uses path-objective-function-g;
415 uses path-computation-service-g;
420 rpc delete-p-2-p-path {
423 leaf path-id-or-name {
430 uses path-computation-service-g;