1 module transportpce-pce {
2 namespace "http://org/opendaylight/transportpce/pce";
3 prefix org-opendaylight-transportpce-pce;
5 import org-openroadm-routing-constraints {
6 prefix org-openroadm-routing-constraints;
8 import org-openroadm-common-service-types {
9 prefix org-openroadm-common-service-types;
11 import transportpce-common-service-path-types {
12 prefix transportpce-common-service-path-types;
14 import transportpce-pathDescription {
15 prefix transportpce-pathDescription;
17 import gnpy-path-computation-simplified {
24 "transportPCE committers - ODL";
26 "YANG definitions of B interface (transportPCE). Adapted from service definition (openroadm)
27 Copyright © 2017 Orange, Inc. and others. All rights reserved.
30 Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
31 AT&T Intellectual Property. All other rights reserved.
33 Redistribution and use in source and binary forms, with or without modification,
34 are permitted provided that the following conditions are met:
36 * Redistributions of source code must retain the above copyright notice, this
37 list of conditions and the following disclaimer.
38 * Redistributions in binary form must reproduce the above copyright notice,
39 this list of conditions and the following disclaimer in the documentation and/or
40 other materials provided with the distribution.
41 * Neither the Members of the Open ROADM MSA Agreement nor the names of its
42 contributors may be used to endorse or promote products derived from this software
43 without specific prior written permission.
45 THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT ''AS IS''
46 AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
47 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
48 IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT BE LIABLE FOR ANY DIRECT,
49 INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
50 NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
51 OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
52 WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
53 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
54 POSSIBILITY OF SUCH DAMAGE";
59 "Implement the RPC path-computation-reroute-request (only for reroute purposes) that computes a service path of
60 an existing service in order to reroute it";
64 "change fraction digits from 2 to 6 for accumulative-value leaf, from 2 to 6 to be compliant with Gnpy";
68 "Add in path-computation-request input the pce-routing-metric.
69 Replace transportpce-routing-constraints by org-openroadm-routing-constraints";
92 grouping stubpce-path-description {
97 "Identifier for the pathDescription to be created in the ROADM
98 network, e.g., CLFI, CLCI, etc.";
100 uses transportpce-pathDescription:path-description;
117 "true : feasible path / False : non-feasible.";
119 choice response-type {
124 uses gnpypc:no-path-info;
128 "Path computation service.";
129 uses path-performance;
135 grouping path-performance {
137 "TE generic path properties grouping";
138 container path-properties {
141 "The TE path properties";
145 "TE path metric type";
148 base gnpypc:path-metric-type;
151 leaf accumulative-value {
160 rpc path-computation-request {
166 "Identifier for the service to be created in the ROADM network,
167 e.g., CLFI, CLCI, etc. This is reported against the service, but
168 may not get reflected in the service in the network.";
170 leaf resource-reserve {
174 "indicates if resources (from local PCE topology) must be reserved
175 until further notice (cancel-resource-reserve or topology update)";
177 leaf pce-routing-metric {
178 type transportpce-common-service-path-types:pce-metric;
180 uses transportpce-common-service-path-types:service-handler-header;
181 container service-a-end {
182 uses transportpce-common-service-path-types:service-endpoint-sp;
184 container service-z-end {
185 uses transportpce-common-service-path-types:service-endpoint-sp;
187 uses org-openroadm-routing-constraints:routing-constraints;
188 uses org-openroadm-common-service-types:routing-metric;
191 uses org-openroadm-common-service-types:configuration-response-common;
192 uses transportpce-common-service-path-types:response-parameters-sp;
197 rpc path-computation-reroute-request {
199 container endpoints {
201 "Indicates the endpoints termination-point of the service to reroute";
211 leaf pce-routing-metric {
212 type transportpce-common-service-path-types:pce-metric;
214 uses transportpce-common-service-path-types:service-handler-header;
215 container service-a-end {
216 uses transportpce-common-service-path-types:service-endpoint-sp;
218 container service-z-end {
219 uses transportpce-common-service-path-types:service-endpoint-sp;
221 uses org-openroadm-routing-constraints:routing-constraints;
222 uses org-openroadm-common-service-types:routing-metric;
225 uses org-openroadm-common-service-types:configuration-response-common;
229 rpc cancel-resource-reserve {
235 uses transportpce-common-service-path-types:service-handler-header;
238 uses org-openroadm-common-service-types:configuration-response-common;
242 notification service-path-rpc-result {
244 "This Notification indicates result of service RPC";
245 leaf notification-type {
246 type transportpce-common-service-path-types:service-path-notification-types;
248 container path-description {
249 uses transportpce-pathDescription:path-description;
251 uses transportpce-common-service-path-types:rpc-response-status-ex;
252 uses org-openroadm-common-service-types:service-notification-result;
253 uses org-openroadm-common-service-types:routing-metric;
256 container path-description-list {
258 "List of pathDescription. Can only be created, deleted, modified,
259 etc. using special RPCs.";
260 list pathDescriptions {
262 uses stubpce-path-description;
266 container spectrum-assignment {
268 "Spectrum assignment management using index steps and flexgrid property";
273 "Begin index of spectrum assignment";
279 "End index of spectrum assignment";
285 "Set it to true for flexgrid, false otherwise";