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;
23 revision-date 2019-05-31;
29 "transportPCE committers - ODL";
31 "YANG definitions of B & C interfaces (transportPCE). Adapted from service definition (openroadm)
32 Copyright © 2017 Orange, Inc. and others. All rights reserved.
35 Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
36 AT&T Intellectual Property. All other rights reserved.
38 Redistribution and use in source and binary forms, with or without modification,
39 are permitted provided that the following conditions are met:
41 * Redistributions of source code must retain the above copyright notice, this
42 list of conditions and the following disclaimer.
43 * Redistributions in binary form must reproduce the above copyright notice,
44 this list of conditions and the following disclaimer in the documentation and/or
45 other materials provided with the distribution.
46 * Neither the Members of the Open ROADM MSA Agreement nor the names of its
47 contributors may be used to endorse or promote products derived from this software
48 without specific prior written permission.
50 THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT ''AS IS''
51 AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
52 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
53 IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT BE LIABLE FOR ANY DIRECT,
54 INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
55 NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
56 OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
57 WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
58 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
59 POSSIBILITY OF SUCH DAMAGE";
63 "Add typedef pce-metric.
64 Replace transportpce-routing-constraints by org-openroadm-routing-constraints.";
70 // General consolidation to handle OTN and ONAP MDONS use case
90 enum propagation-delay {
102 typedef service-path-notification-types {
104 enum path-computation-request {
107 enum cancel-resource-reserve {
110 enum service-implementation-request {
113 enum service-delete {
119 typedef rpc-status-ex {
132 "extended status of RPC ";
135 grouping rpc-response-status-ex {
140 "Successful, Failed or Pending";
142 leaf status-message {
145 "Gives a more detailed reason for failure";
149 grouping response-parameters-sp {
150 container response-parameters {
151 uses org-openroadm-routing-constraints:routing-constraints;
152 container path-description {
153 uses transportpce-pathDescription:path-description;
158 grouping service-endpoint-sp {
159 leaf service-format {
160 type org-openroadm-service-format:service-format;
163 "Format of the requested service: Ethernet, OTU, etc.";
166 when "../service-format!='OMS'" {
168 "service rate not applicable when service format is roadmline";
173 "Rate of the requested service in GBps";
175 leaf otu-service-rate {
176 when "../service-format='OTU'" {
178 "service rate not applicable when service format is OTU";
181 base org-openroadm-otn-common-types:otu-rate-identity;
185 "OTU Rate of the requested service";
187 leaf odu-service-rate {
188 when "../service-format='ODU'" {
190 "service rate not applicable when service format is ODU";
193 base org-openroadm-otn-common-types:odu-rate-identity;
197 "OTU Rate of the requested service";
199 leaf other-service-format-and-rate {
202 "This value encodes both the service format and the rate supported.
203 This field should not be specified when service format != other.";
214 container tx-direction {
215 leaf logical-connection-point {
218 "PCE works on topology --> change from port (device) to node-id+logical-connection-point
219 (topology) assuming Portmapping will be used by both the Renderer
220 and the SH to make the conversion from device to topology";
222 uses org-openroadm-common-service-types:service-port;
224 // uses service-tail;
226 container rx-direction {
227 leaf logical-connection-point {
230 "PCE works on topology --> change from port (device) to node-id+logical-connection-point
231 (topology) assuming Portmapping will be used by both the Renderer
232 and the SH to make the conversion from device to topology";
234 uses org-openroadm-common-service-types:service-port;
236 // uses service-tail;
240 grouping service-handler-header {
241 container service-handler-header {
249 grouping service-path {
250 leaf service-path-name {
254 "Identifier for the service-path to be calculated by the PCE";
256 uses service-handler-header;
257 container service-a-end {
258 uses service-endpoint-sp;
260 container service-z-end {
261 uses service-endpoint-sp;
263 leaf pce-routing-metric {
266 uses org-openroadm-routing-constraints:routing-constraints;
270 "Latency on service";
272 leaf-list fiber-span-srlgs {
275 "Shared risk link group identifiers";
277 list equipment-srgs {
279 uses org-openroadm-resource-types:srg-number;
281 leaf-list supporting-service-name {
284 "The service name that this runs over top. If connection-type is service, then this is the related
285 connection-type = infrastructure service, for example.";
287 container path-description {
288 uses transportpce-pathDescription:path-description;