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 ietf-yang-types {
8 import ietf-inet-types {
11 import transportpce-routing-constraints {
12 prefix transportpce-routing-constraints;
14 import transportpce-pathDescription {
15 prefix transportpce-pathDescription;
17 import transportpce-common-types {
18 prefix transportpce-common-types;
20 import org-openroadm-common-types {
21 prefix org-openroadm-common-types;
22 revision-date 2019-05-31;
24 import org-openroadm-otn-common-types {
25 prefix org-openroadm-otn-common-types;
26 revision-date 2018-11-30;
28 import org-openroadm-resource-types {
29 prefix org-openroadm-resource-types;
30 revision-date 2018-11-30;
32 import org-openroadm-common-service-types {
33 prefix org-openroadm-common-service-types;
34 revision-date 2019-05-31;
36 import org-openroadm-service-format {
37 prefix org-openroadm-service-format;
38 revision-date 2019-05-31;
44 "transportPCE committers - ODL";
46 "YANG definitions of B & C interfaces (transportPCE). Adapted from service definition (openroadm)
47 Copyright © 2017 Orange, Inc. and others. All rights reserved.
50 Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
51 AT&T Intellectual Property. All other rights reserved.
53 Redistribution and use in source and binary forms, with or without modification,
54 are permitted provided that the following conditions are met:
56 * Redistributions of source code must retain the above copyright notice, this
57 list of conditions and the following disclaimer.
58 * Redistributions in binary form must reproduce the above copyright notice,
59 this list of conditions and the following disclaimer in the documentation and/or
60 other materials provided with the distribution.
61 * Neither the Members of the Open ROADM MSA Agreement nor the names of its
62 contributors may be used to endorse or promote products derived from this software
63 without specific prior written permission.
65 THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT ''AS IS''
66 AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
67 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
68 IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT BE LIABLE FOR ANY DIRECT,
69 INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
70 NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
71 OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
72 WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
73 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
74 POSSIBILITY OF SUCH DAMAGE";
79 // General consolidation to handle OTN and ONAP MDONS use case
97 typedef service-path-notification-types {
99 enum "path-computation-request" {
102 enum "cancel-resource-reserve" {
105 enum "service-implementation-request" {
108 enum "service-delete" {
114 typedef rpc-status-ex {
116 "extended status of RPC ";
130 grouping rpc-response-status-ex {
135 "Successful, Failed or Pending";
139 leaf status-message {
142 "Gives a more detailed reason for failure";
147 grouping response-parameters-sp {
148 container response-parameters {
149 uses transportpce-routing-constraints:routing-constraints-sp;
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'"{
165 description "service rate not applicable when service format is roadmline";
170 "Rate of the requested service in GBps";
172 leaf otu-service-rate {
173 when "../service-format='OTU'" {
174 description "service rate not applicable when service format is OTU";
177 base org-openroadm-otn-common-types:otu-rate-identity;
181 "OTU Rate of the requested service";
183 leaf odu-service-rate {
184 when "../service-format='ODU'" {
185 description "service rate not applicable when service format is ODU";
188 base org-openroadm-otn-common-types:odu-rate-identity;
192 "OTU Rate of the requested service";
194 leaf other-service-format-and-rate {
196 description "This value encodes both the service format and the rate supported.
197 This field should not be specified when service format != other.";
208 container tx-direction {
209 leaf logical-connection-point {
211 description "PCE works on topology --> change from port (device) to node-id+logical-connection-point
212 (topology) assuming Portmapping will be used by both the Renderer
213 and the SH to make the conversion from device to topology";
215 uses org-openroadm-common-service-types:service-port;
217 // uses service-tail;
219 container rx-direction {
220 leaf logical-connection-point {
222 description "PCE works on topology --> change from port (device) to node-id+logical-connection-point
223 (topology) assuming Portmapping will be used by both the Renderer
224 and the SH to make the conversion from device to topology";
226 uses org-openroadm-common-service-types:service-port;
228 // uses service-tail;
232 grouping service-handler-header {
233 container service-handler-header {
241 grouping service-path {
242 leaf service-path-name {
245 "Identifier for the service-path to be calculated by the PCE";
248 uses service-handler-header;
250 container service-a-end {
251 uses service-endpoint-sp;
253 container service-z-end {
254 uses service-endpoint-sp;
256 uses transportpce-routing-constraints:routing-constraints-sp;
261 "Latency on service";
263 leaf-list fiber-span-srlgs {
266 "Shared risk link group identifiers";
268 list equipment-srgs {
270 uses org-openroadm-resource-types:srg-number;
272 leaf-list supporting-service-name {
274 "The service name that this runs over top. If connection-type is service, then this is the related
275 connection-type = infrastructure service, for example.";
278 container path-description {
279 uses transportpce-pathDescription:path-description;