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;
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";
65 // General consolidation to handle OTN and ONAP MDONS use case
80 typedef service-path-notification-types {
82 enum path-computation-request {
85 enum cancel-resource-reserve {
88 enum service-implementation-request {
97 typedef rpc-status-ex {
110 "extended status of RPC ";
113 grouping rpc-response-status-ex {
118 "Successful, Failed or Pending";
120 leaf status-message {
123 "Gives a more detailed reason for failure";
127 grouping response-parameters-sp {
128 container response-parameters {
129 uses transportpce-routing-constraints:routing-constraints-sp;
130 container path-description {
131 uses transportpce-pathDescription:path-description;
136 grouping service-endpoint-sp {
137 leaf service-format {
138 type org-openroadm-service-format:service-format;
141 "Format of the requested service: Ethernet, OTU, etc.";
144 when "../service-format!='OMS'" {
146 "service rate not applicable when service format is roadmline";
151 "Rate of the requested service in GBps";
153 leaf otu-service-rate {
154 when "../service-format='OTU'" {
156 "service rate not applicable when service format is OTU";
159 base org-openroadm-otn-common-types:otu-rate-identity;
163 "OTU Rate of the requested service";
165 leaf odu-service-rate {
166 when "../service-format='ODU'" {
168 "service rate not applicable when service format is ODU";
171 base org-openroadm-otn-common-types:odu-rate-identity;
175 "OTU Rate of the requested service";
177 leaf other-service-format-and-rate {
180 "This value encodes both the service format and the rate supported.
181 This field should not be specified when service format != other.";
192 container tx-direction {
193 leaf logical-connection-point {
196 "PCE works on topology --> change from port (device) to node-id+logical-connection-point
197 (topology) assuming Portmapping will be used by both the Renderer
198 and the SH to make the conversion from device to topology";
200 uses org-openroadm-common-service-types:service-port;
202 // uses service-tail;
204 container rx-direction {
205 leaf logical-connection-point {
208 "PCE works on topology --> change from port (device) to node-id+logical-connection-point
209 (topology) assuming Portmapping will be used by both the Renderer
210 and the SH to make the conversion from device to topology";
212 uses org-openroadm-common-service-types:service-port;
214 // uses service-tail;
218 grouping service-handler-header {
219 container service-handler-header {
227 grouping service-path {
228 leaf service-path-name {
232 "Identifier for the service-path to be calculated by the PCE";
234 uses service-handler-header;
235 container service-a-end {
236 uses service-endpoint-sp;
238 container service-z-end {
239 uses service-endpoint-sp;
241 uses transportpce-routing-constraints:routing-constraints-sp;
245 "Latency on service";
247 leaf-list fiber-span-srlgs {
250 "Shared risk link group identifiers";
252 list equipment-srgs {
254 uses org-openroadm-resource-types:srg-number;
256 leaf-list supporting-service-name {
259 "The service name that this runs over top. If connection-type is service, then this is the related
260 connection-type = infrastructure service, for example.";
262 container path-description {
263 uses transportpce-pathDescription:path-description;