1 module transportpce-common-service-path-types {
2 namespace "http://org/transportpce/B-C-interface/service/types";
3 prefix transportpce-common-service-path-types;
5 import org-openroadm-routing-constraints {
6 prefix org-openroadm-routing-constraints;
8 import transportpce-pathDescription {
9 prefix transportpce-pathDescription;
11 import org-openroadm-otn-common-types {
12 prefix org-openroadm-otn-common-types;
14 import org-openroadm-resource-types {
15 prefix org-openroadm-resource-types;
16 revision-date 2018-11-30;
18 import org-openroadm-common-service-types {
19 prefix org-openroadm-common-service-types;
20 revision-date 2019-05-31;
22 import org-openroadm-service-format {
23 prefix org-openroadm-service-format;
24 revision-date 2019-05-31;
30 "transportPCE committers - ODL";
32 "YANG definitions of B & C interfaces (transportPCE). Adapted from service definition (openroadm)
33 Copyright © 2017 Orange, Inc. and others. All rights reserved.
36 Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
37 AT&T Intellectual Property. All other rights reserved.
39 Redistribution and use in source and binary forms, with or without modification,
40 are permitted provided that the following conditions are met:
42 * Redistributions of source code must retain the above copyright notice, this
43 list of conditions and the following disclaimer.
44 * Redistributions in binary form must reproduce the above copyright notice,
45 this list of conditions and the following disclaimer in the documentation and/or
46 other materials provided with the distribution.
47 * Neither the Members of the Open ROADM MSA Agreement nor the names of its
48 contributors may be used to endorse or promote products derived from this software
49 without specific prior written permission.
51 THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT ''AS IS''
52 AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
53 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
54 IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT BE LIABLE FOR ANY DIRECT,
55 INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
56 NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
57 OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
58 WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
59 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
60 POSSIBILITY OF SUCH DAMAGE";
64 "Add typedef pce-metric.
65 Replace transportpce-routing-constraints by org-openroadm-routing-constraints.";
71 // General consolidation to handle OTN and ONAP MDONS use case
91 enum propagation-delay {
103 typedef service-path-notification-types {
105 enum path-computation-request {
108 enum cancel-resource-reserve {
111 enum service-implementation-request {
114 enum service-delete {
120 typedef rpc-status-ex {
133 "extended status of RPC ";
136 grouping rpc-response-status-ex {
141 "Successful, Failed or Pending";
143 leaf status-message {
146 "Gives a more detailed reason for failure";
150 grouping response-parameters-sp {
151 container response-parameters {
152 uses org-openroadm-routing-constraints:routing-constraints;
153 container path-description {
154 uses transportpce-pathDescription:path-description;
159 grouping service-endpoint-sp {
160 leaf service-format {
161 type org-openroadm-service-format:service-format;
164 "Format of the requested service: Ethernet, OTU, etc.";
167 when "../service-format!='OMS'" {
169 "service rate not applicable when service format is roadmline";
174 "Rate of the requested service in GBps";
176 leaf otu-service-rate {
177 when "../service-format='OTU'" {
179 "service rate not applicable when service format is OTU";
182 base org-openroadm-otn-common-types:otu-rate-identity;
186 "OTU Rate of the requested service";
188 leaf odu-service-rate {
189 when "../service-format='ODU'" {
191 "service rate not applicable when service format is ODU";
194 base org-openroadm-otn-common-types:odu-rate-identity;
198 "OTU Rate of the requested service";
200 leaf other-service-format-and-rate {
203 "This value encodes both the service format and the rate supported.
204 This field should not be specified when service format != other.";
215 container tx-direction {
216 leaf logical-connection-point {
219 "PCE works on topology --> change from port (device) to node-id+logical-connection-point
220 (topology) assuming Portmapping will be used by both the Renderer
221 and the SH to make the conversion from device to topology";
223 uses org-openroadm-common-service-types:service-port;
225 // uses service-tail;
227 container rx-direction {
228 leaf logical-connection-point {
231 "PCE works on topology --> change from port (device) to node-id+logical-connection-point
232 (topology) assuming Portmapping will be used by both the Renderer
233 and the SH to make the conversion from device to topology";
235 uses org-openroadm-common-service-types:service-port;
237 // uses service-tail;
241 grouping service-handler-header {
242 container service-handler-header {
250 grouping service-path {
251 leaf service-path-name {
255 "Identifier for the service-path to be calculated by the PCE";
257 uses service-handler-header;
258 container service-a-end {
259 uses service-endpoint-sp;
261 container service-z-end {
262 uses service-endpoint-sp;
264 leaf pce-routing-metric {
267 uses org-openroadm-routing-constraints:routing-constraints;
271 "Latency on service";
273 leaf-list fiber-span-srlgs {
276 "Shared risk link group identifiers";
278 list equipment-srgs {
280 uses org-openroadm-resource-types:srg-number;
282 leaf-list supporting-service-name {
285 "The service name that this runs over top. If connection-type is service, then this is the related
286 connection-type = infrastructure service, for example.";
288 container path-description {
289 uses transportpce-pathDescription:path-description;