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;
21 import org-openroadm-service-format {
22 prefix org-openroadm-service-format;
28 "transportPCE committers - ODL";
30 "YANG definitions of B & C interfaces (transportPCE). Adapted from service definition (openroadm)
31 Copyright © 2017 Orange, Inc. and others. All rights reserved.
34 Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
35 AT&T Intellectual Property. All other rights reserved.
37 Redistribution and use in source and binary forms, with or without modification,
38 are permitted provided that the following conditions are met:
40 * Redistributions of source code must retain the above copyright notice, this
41 list of conditions and the following disclaimer.
42 * Redistributions in binary form must reproduce the above copyright notice,
43 this list of conditions and the following disclaimer in the documentation and/or
44 other materials provided with the distribution.
45 * Neither the Members of the Open ROADM MSA Agreement nor the names of its
46 contributors may be used to endorse or promote products derived from this software
47 without specific prior written permission.
49 THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT ''AS IS''
50 AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
51 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
52 IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT BE LIABLE FOR ANY DIRECT,
53 INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
54 NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
55 OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
56 WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
57 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
58 POSSIBILITY OF SUCH DAMAGE";
62 "Add typedef pce-metric.
63 Replace transportpce-routing-constraints by org-openroadm-routing-constraints.";
69 // General consolidation to handle OTN and ONAP MDONS use case
89 enum propagation-delay {
101 typedef service-path-notification-types {
103 enum path-computation-request {
106 enum cancel-resource-reserve {
109 enum service-implementation-request {
112 enum service-delete {
118 typedef rpc-status-ex {
131 "extended status of RPC ";
134 grouping rpc-response-status-ex {
139 "Successful, Failed or Pending";
141 leaf status-message {
144 "Gives a more detailed reason for failure";
148 grouping response-parameters-sp {
149 container response-parameters {
150 uses org-openroadm-routing-constraints:routing-constraints;
151 container path-description {
152 uses transportpce-pathDescription:path-description;
157 grouping service-endpoint-sp {
158 leaf service-format {
159 type org-openroadm-service-format:service-format;
162 "Format of the requested service: Ethernet, OTU, etc.";
165 when "../service-format!='OMS'" {
167 "service rate not applicable when service format is roadmline";
172 "Rate of the requested service in GBps";
174 leaf otu-service-rate {
175 when "../service-format='OTU'" {
177 "service rate not applicable when service format is OTU";
180 base org-openroadm-otn-common-types:otu-rate-identity;
184 "OTU Rate of the requested service";
186 leaf odu-service-rate {
187 when "../service-format='ODU'" {
189 "service rate not applicable when service format is ODU";
192 base org-openroadm-otn-common-types:odu-rate-identity;
196 "OTU Rate of the requested service";
198 leaf other-service-format-and-rate {
201 "This value encodes both the service format and the rate supported.
202 This field should not be specified when service format != other.";
213 container tx-direction {
214 leaf logical-connection-point {
217 "PCE works on topology --> change from port (device) to node-id+logical-connection-point
218 (topology) assuming Portmapping will be used by both the Renderer
219 and the SH to make the conversion from device to topology";
221 uses org-openroadm-common-service-types:service-port;
223 // uses service-tail;
225 container rx-direction {
226 leaf logical-connection-point {
229 "PCE works on topology --> change from port (device) to node-id+logical-connection-point
230 (topology) assuming Portmapping will be used by both the Renderer
231 and the SH to make the conversion from device to topology";
233 uses org-openroadm-common-service-types:service-port;
235 // uses service-tail;
239 grouping service-handler-header {
240 container service-handler-header {
248 grouping service-path {
249 leaf service-path-name {
253 "Identifier for the service-path to be calculated by the PCE";
255 uses service-handler-header;
256 container service-a-end {
257 uses service-endpoint-sp;
259 container service-z-end {
260 uses service-endpoint-sp;
262 leaf pce-routing-metric {
265 uses org-openroadm-routing-constraints:routing-constraints;
269 "Latency on service";
271 leaf-list fiber-span-srlgs {
274 "Shared risk link group identifiers";
276 list equipment-srgs {
278 uses org-openroadm-resource-types:srg-number;
280 leaf-list supporting-service-name {
283 "The service name that this runs over top. If connection-type is service, then this is the related
284 connection-type = infrastructure service, for example.";
286 container path-description {
287 uses transportpce-pathDescription:path-description;