+++ /dev/null
-module transportpce-pce {
- namespace "http://org/opendaylight/transportpce/pce";
- prefix org-opendaylight-transportpce-pce;
-
- import transportpce-routing-constraints {
- prefix transportpce-routing-constraints;
- }
- import org-openroadm-common-service-types {
- prefix org-openroadm-common-service-types;
- }
- import transportpce-common-service-path-types {
- prefix transportpce-common-service-path-types;
- }
- import transportpce-pathDescription {
- prefix transportpce-pathDescription;
- }
- import gnpy-path-computation-simplified {
- prefix gnpypc;
- }
-
- organization
- "transportPCE";
- contact
- "transportPCE committers - ODL";
- description
- "YANG definitions of B interface (transportPCE). Adapted from service definition (openroadm)
- Copyright © 2017 Orange, Inc. and others. All rights reserved.
-
- openroadm copyright:
- Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
- AT&T Intellectual Property. All other rights reserved.
-
- Redistribution and use in source and binary forms, with or without modification,
- are permitted provided that the following conditions are met:
-
- * Redistributions of source code must retain the above copyright notice, this
- list of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above copyright notice,
- this list of conditions and the following disclaimer in the documentation and/or
- other materials provided with the distribution.
- * Neither the Members of the Open ROADM MSA Agreement nor the names of its
- contributors may be used to endorse or promote products derived from this software
- without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT ''AS IS''
- AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT BE LIABLE FOR ANY DIRECT,
- INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
- OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- POSSIBILITY OF SUCH DAMAGE";
-
- revision 2021-07-01 {
- description
- "Version 1.8";
- }
- revision 2020-01-28 {
- description
- "Version 1.7";
- }
- revision 2019-06-24 {
- description
- "Version 1.6.1";
- }
- revision 2017-10-17 {
- description
- "Version 1.6";
- }
- revision 2017-04-26 {
- description
- "Version 1.5";
- }
-
- grouping stubpce-path-description {
- leaf path-name {
- type string;
- mandatory true;
- description
- "Identifier for the pathDescription to be created in the ROADM
- network, e.g., CLFI, CLCI, etc.";
- }
- uses transportpce-pathDescription:path-description;
- }
-
- grouping gnpy {
- list gnpy-response {
- key "path-dir";
- config false;
- description
- "GNPy response";
- leaf path-dir {
- type string;
- description
- "A-to-Z or Z-to-A";
- }
- leaf feasibility {
- type boolean;
- description
- "true : feasible path / False : non-feasible.";
- }
- choice response-type {
- config false;
- description
- "response-type";
- case no-path-case {
- uses gnpypc:no-path-info;
- }
- case path-case {
- description
- "Path computation service.";
- uses path-performance;
- }
- }
- }
- }
-
- grouping path-performance {
- description
- "TE generic path properties grouping";
- container path-properties {
- config false;
- description
- "The TE path properties";
- list path-metric {
- key "metric-type";
- description
- "TE path metric type";
- leaf metric-type {
- type identityref {
- base gnpypc:path-metric-type;
- }
- }
- leaf accumulative-value {
- type decimal64 {
- fraction-digits 2;
- }
- }
- }
- }
- }
-
- rpc path-computation-request {
- input {
- leaf service-name {
- type string;
- mandatory true;
- description
- "Identifier for the service to be created in the ROADM network,
- e.g., CLFI, CLCI, etc. This is reported against the service, but
- may not get reflected in the service in the network.";
- }
- leaf resource-reserve {
- type boolean;
- mandatory true;
- description
- "indicates if resources (from local PCE topology) must be reserved
- until further notice (cancel-resource-reserve or topology update)";
- }
- uses transportpce-common-service-path-types:service-handler-header;
- container service-a-end {
- uses transportpce-common-service-path-types:service-endpoint-sp;
- }
- container service-z-end {
- uses transportpce-common-service-path-types:service-endpoint-sp;
- }
- uses transportpce-routing-constraints:routing-constraints-sp;
- uses org-openroadm-common-service-types:routing-metric;
- }
- output {
- uses org-openroadm-common-service-types:configuration-response-common;
- uses transportpce-common-service-path-types:response-parameters-sp;
- uses gnpy;
- }
- }
-
- rpc cancel-resource-reserve {
- input {
- leaf service-name {
- type string;
- mandatory true;
- }
- uses transportpce-common-service-path-types:service-handler-header;
- }
- output {
- uses org-openroadm-common-service-types:configuration-response-common;
- }
- }
-
- notification service-path-rpc-result {
- description
- "This Notification indicates result of service RPC";
- leaf notification-type {
- type transportpce-common-service-path-types:service-path-notification-types;
- }
- container path-description {
- uses transportpce-pathDescription:path-description;
- }
- uses transportpce-common-service-path-types:rpc-response-status-ex;
- uses org-openroadm-common-service-types:service-notification-result;
- uses org-openroadm-common-service-types:routing-metric;
- }
-
- container path-description-list {
- description
- "List of pathDescription. Can only be created, deleted, modified,
- etc. using special RPCs.";
- list pathDescriptions {
- key "path-name";
- uses stubpce-path-description;
- }
- }
-
- container spectrum-assignment {
- description
- "Spectrum assignment management using index steps and flexgrid property";
- leaf begin-index {
- type uint16;
- mandatory true;
- description
- "Begin index of spectrum assignment";
- }
- leaf stop-index {
- type uint16;
- mandatory true;
- description
- "End index of spectrum assignment";
- }
- leaf flex-grid {
- type boolean;
- mandatory true;
- description
- "Set it to true for flexgrid, false otherwise";
- }
- }
-}