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 transportpce-routing-constraints {
6 prefix transportpce-routing-constraints;
8 import transportpce-pathDescription {
9 prefix transportpce-pathDescription;
11 import org-openroadm-otn-common-types {
12 prefix org-openroadm-otn-common-types;
13 revision-date 2018-11-30;
15 import org-openroadm-resource-types {
16 prefix org-openroadm-resource-types;
17 revision-date 2018-11-30;
19 import org-openroadm-common-service-types {
20 prefix org-openroadm-common-service-types;
21 revision-date 2019-05-31;
23 import org-openroadm-service-format {
24 prefix org-openroadm-service-format;
25 revision-date 2019-05-31;
31 "transportPCE committers - ODL";
33 "YANG definitions of B & C interfaces (transportPCE). Adapted from service definition (openroadm)
34 Copyright © 2017 Orange, Inc. and others. All rights reserved.
37 Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
38 AT&T Intellectual Property. All other rights reserved.
40 Redistribution and use in source and binary forms, with or without modification,
41 are permitted provided that the following conditions are met:
43 * Redistributions of source code must retain the above copyright notice, this
44 list of conditions and the following disclaimer.
45 * Redistributions in binary form must reproduce the above copyright notice,
46 this list of conditions and the following disclaimer in the documentation and/or
47 other materials provided with the distribution.
48 * Neither the Members of the Open ROADM MSA Agreement nor the names of its
49 contributors may be used to endorse or promote products derived from this software
50 without specific prior written permission.
52 THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT ''AS IS''
53 AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
54 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
55 IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT BE LIABLE FOR ANY DIRECT,
56 INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
57 NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
58 OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
59 WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
60 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
61 POSSIBILITY OF SUCH DAMAGE";
66 // General consolidation to handle OTN and ONAP MDONS use case
81 typedef service-path-notification-types {
83 enum path-computation-request {
86 enum cancel-resource-reserve {
89 enum service-implementation-request {
98 typedef rpc-status-ex {
111 "extended status of RPC ";
114 grouping rpc-response-status-ex {
119 "Successful, Failed or Pending";
121 leaf status-message {
124 "Gives a more detailed reason for failure";
128 grouping response-parameters-sp {
129 container response-parameters {
130 uses transportpce-routing-constraints:routing-constraints-sp;
131 container path-description {
132 uses transportpce-pathDescription:path-description;
137 grouping service-endpoint-sp {
138 leaf service-format {
139 type org-openroadm-service-format:service-format;
142 "Format of the requested service: Ethernet, OTU, etc.";
145 when "../service-format!='OMS'" {
147 "service rate not applicable when service format is roadmline";
152 "Rate of the requested service in GBps";
154 leaf otu-service-rate {
155 when "../service-format='OTU'" {
157 "service rate not applicable when service format is OTU";
160 base org-openroadm-otn-common-types:otu-rate-identity;
164 "OTU Rate of the requested service";
166 leaf odu-service-rate {
167 when "../service-format='ODU'" {
169 "service rate not applicable when service format is ODU";
172 base org-openroadm-otn-common-types:odu-rate-identity;
176 "OTU Rate of the requested service";
178 leaf other-service-format-and-rate {
181 "This value encodes both the service format and the rate supported.
182 This field should not be specified when service format != other.";
193 container tx-direction {
194 leaf logical-connection-point {
197 "PCE works on topology --> change from port (device) to node-id+logical-connection-point
198 (topology) assuming Portmapping will be used by both the Renderer
199 and the SH to make the conversion from device to topology";
201 uses org-openroadm-common-service-types:service-port;
203 // uses service-tail;
205 container rx-direction {
206 leaf logical-connection-point {
209 "PCE works on topology --> change from port (device) to node-id+logical-connection-point
210 (topology) assuming Portmapping will be used by both the Renderer
211 and the SH to make the conversion from device to topology";
213 uses org-openroadm-common-service-types:service-port;
215 // uses service-tail;
219 grouping service-handler-header {
220 container service-handler-header {
228 grouping service-path {
229 leaf service-path-name {
233 "Identifier for the service-path to be calculated by the PCE";
235 uses service-handler-header;
236 container service-a-end {
237 uses service-endpoint-sp;
239 container service-z-end {
240 uses service-endpoint-sp;
242 uses transportpce-routing-constraints:routing-constraints-sp;
246 "Latency on service";
248 leaf-list fiber-span-srlgs {
251 "Shared risk link group identifiers";
253 list equipment-srgs {
255 uses org-openroadm-resource-types:srg-number;
257 leaf-list supporting-service-name {
260 "The service name that this runs over top. If connection-type is service, then this is the related
261 connection-type = infrastructure service, for example.";
263 container path-description {
264 uses transportpce-pathDescription:path-description;