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;
17 import org-openroadm-common-service-types {
18 prefix org-openroadm-common-service-types;
20 import org-openroadm-service-format {
21 prefix org-openroadm-service-format;
27 "transportPCE committers - ODL";
29 "YANG definitions of B & C interfaces (transportPCE). Adapted from service definition (openroadm)
30 Copyright © 2017 Orange, Inc. and others. All rights reserved.
33 Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
34 AT&T Intellectual Property. All other rights reserved.
36 Redistribution and use in source and binary forms, with or without modification,
37 are permitted provided that the following conditions are met:
39 * Redistributions of source code must retain the above copyright notice, this
40 list of conditions and the following disclaimer.
41 * Redistributions in binary form must reproduce the above copyright notice,
42 this list of conditions and the following disclaimer in the documentation and/or
43 other materials provided with the distribution.
44 * Neither the Members of the Open ROADM MSA Agreement nor the names of its
45 contributors may be used to endorse or promote products derived from this software
46 without specific prior written permission.
48 THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT ''AS IS''
49 AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
50 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
51 IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT BE LIABLE FOR ANY DIRECT,
52 INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
53 NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
54 OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
55 WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
56 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
57 POSSIBILITY OF SUCH DAMAGE";
61 "Add typedef pce-metric.
62 Replace transportpce-routing-constraints by org-openroadm-routing-constraints.";
68 // General consolidation to handle OTN and ONAP MDONS use case
88 enum propagation-delay {
100 typedef service-path-notification-types {
102 enum path-computation-request {
105 enum cancel-resource-reserve {
108 enum service-implementation-request {
111 enum service-delete {
117 typedef rpc-status-ex {
130 "extended status of RPC ";
133 grouping rpc-response-status-ex {
138 "Successful, Failed or Pending";
140 leaf status-message {
143 "Gives a more detailed reason for failure";
147 grouping response-parameters-sp {
148 container response-parameters {
149 uses org-openroadm-routing-constraints:routing-constraints;
150 container path-description {
151 uses transportpce-pathDescription:path-description;
156 grouping service-endpoint-sp {
157 leaf service-format {
158 type org-openroadm-service-format:service-format;
161 "Format of the requested service: Ethernet, OTU, etc.";
164 when "../service-format!='OMS'" {
166 "service rate not applicable when service format is roadmline";
171 "Rate of the requested service in GBps";
173 leaf otu-service-rate {
174 when "../service-format='OTU'" {
176 "service rate not applicable when service format is OTU";
179 base org-openroadm-otn-common-types:otu-rate-identity;
183 "OTU Rate of the requested service";
185 leaf odu-service-rate {
186 when "../service-format='ODU'" {
188 "service rate not applicable when service format is ODU";
191 base org-openroadm-otn-common-types:odu-rate-identity;
195 "OTU Rate of the requested service";
197 leaf other-service-format-and-rate {
200 "This value encodes both the service format and the rate supported.
201 This field should not be specified when service format != other.";
212 container tx-direction {
213 leaf logical-connection-point {
216 "PCE works on topology --> change from port (device) to node-id+logical-connection-point
217 (topology) assuming Portmapping will be used by both the Renderer
218 and the SH to make the conversion from device to topology";
220 uses org-openroadm-common-service-types:service-port;
222 // uses service-tail;
224 container rx-direction {
225 leaf logical-connection-point {
228 "PCE works on topology --> change from port (device) to node-id+logical-connection-point
229 (topology) assuming Portmapping will be used by both the Renderer
230 and the SH to make the conversion from device to topology";
232 uses org-openroadm-common-service-types:service-port;
234 // uses service-tail;
238 grouping service-handler-header {
239 container service-handler-header {
247 grouping service-path {
248 leaf service-path-name {
252 "Identifier for the service-path to be calculated by the PCE";
254 uses service-handler-header;
255 container service-a-end {
256 uses service-endpoint-sp;
258 container service-z-end {
259 uses service-endpoint-sp;
261 leaf pce-routing-metric {
264 uses org-openroadm-routing-constraints:routing-constraints;
268 "Latency on service";
270 leaf-list fiber-span-srlgs {
273 "Shared risk link group identifiers";
275 list equipment-srgs {
277 uses org-openroadm-resource-types:srg-number;
279 leaf-list supporting-service-name {
282 "The service name that this runs over top. If connection-type is service, then this is the related
283 connection-type = infrastructure service, for example.";
285 container path-description {
286 uses transportpce-pathDescription:path-description;