}
import transportpce-routing-constraints {
prefix transportpce-routing-constraints;
+ revision-date 2017-04-26;
}
import transportpce-pathDescription {
prefix transportpce-pathDescription;
+ revision-date 2017-04-26;
}
import org-openroadm-common-types {
prefix org-openroadm-common-types;
--- /dev/null
+module transportpce-common-service-path-types {
+ namespace "http://org/transportpce/B-C-interface/service/types";
+ prefix transportpce-common-service-path-types;
+
+ import ietf-yang-types {
+ prefix yang;
+ }
+ import ietf-inet-types {
+ prefix inet;
+ }
+ import transportpce-routing-constraints {
+ prefix transportpce-routing-constraints;
+ revision-date 2017-10-17;
+ }
+ import transportpce-pathDescription {
+ prefix transportpce-pathDescription;
+ revision-date 2017-10-17;
+ }
+ import org-openroadm-common-types {
+ prefix org-openroadm-common-types;
+ }
+ import org-openroadm-resource-types {
+ prefix org-openroadm-resource-types;
+ }
+ import org-openroadm-common-service-types {
+ prefix org-openroadm-common-service-types;
+ }
+
+ organization
+ "transportPCE";
+ contact
+ "transportPCE committers - ODL";
+ description
+ "YANG definitions of B & C interfaces (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 2017-04-26 {
+ description
+ "Version 1.5";
+ }
+ revision 2017-10-16 {
+ description
+ "Version 1.6";
+ }
+
+ typedef service-path-notification-types {
+ type enumeration {
+ enum "path-computation-request" {
+ value 1;
+ }
+ enum "cancel-resource-reserve" {
+ value 2;
+ }
+ enum "service-implementation-request" {
+ value 3;
+ }
+ enum "service-delete" {
+ value 4;
+ }
+ }
+ }
+
+ typedef rpc-status-ex {
+ description
+ "extended status of RPC ";
+ type enumeration {
+ enum "Successful" {
+ value 1;
+ }
+ enum "Failed" {
+ value 2;
+ }
+ enum "Pending" {
+ value 3;
+ }
+ }
+ }
+
+ grouping rpc-response-status-ex {
+ leaf status {
+ type rpc-status-ex;
+ mandatory true;
+ description
+ "Successful, Failed or Pending";
+
+ }
+ leaf status-message {
+ type string;
+ description
+ "Gives a more detailed reason for failure";
+ }
+ }
+
+ grouping response-parameters-sp {
+ container response-parameters {
+ uses transportpce-routing-constraints:routing-constraints-sp;
+ container path-description {
+ uses transportpce-pathDescription:path-description;
+ }
+ }
+ }
+
+ grouping service-endpoint-sp {
+ leaf service-format {
+ type org-openroadm-common-service-types:service-format;
+ mandatory true;
+ description
+ "Format of the requested service: Ethernet, OTU, etc.";
+ }
+ leaf service-rate {
+ when "../service-format!='OMS'"{
+ description "service rate not applicable when service
+ format is roadmline";
+ }
+ type uint32;
+ mandatory true;
+ description
+ "Rate of the requested service in GBps";
+ }
+ leaf clli {
+ type string;
+ mandatory true;
+ description
+ "CLLI";
+ }
+ leaf node-id {
+ type string;
+ }
+ container tx-direction {
+ uses org-openroadm-common-service-types:service-port;
+ // uses service-lgx;
+ // uses service-tail;
+ }
+ container rx-direction {
+ uses org-openroadm-common-service-types:service-port;
+ // uses service-lgx;
+ // uses service-tail;
+ }
+ }
+
+ grouping service-handler-header {
+ container service-handler-header {
+ leaf request-id {
+ type string;
+ mandatory true;
+ }
+ }
+ }
+
+ grouping service-path {
+ leaf service-path-name {
+ type string;
+ description
+ "Identifier for the service-path to be calculated by
+ the PCE";
+ mandatory true;
+ }
+ uses service-handler-header;
+
+ container service-a-end {
+ uses service-endpoint-sp;
+ }
+ container service-z-end {
+ uses service-endpoint-sp;
+ }
+ uses transportpce-routing-constraints:routing-constraints-sp;
+
+ leaf latency {
+ type uint32;
+ description
+ "Latency on service";
+ }
+ leaf-list fiber-span-srlgs {
+ type string;
+ description
+ "Shared risk link group identifiers";
+ }
+ list equipment-srgs {
+ key "srg-number";
+ uses org-openroadm-resource-types:srg-number;
+ }
+ leaf-list supporting-service-name {
+ description
+ "The service name that this runs over top. If connection-type is service, then this is the related
+ connection-type = infrastructure service, for example.";
+ type string;
+ }
+ container path-description {
+ uses transportpce-pathDescription:path-description;
+ }
+ }
+
+}
--- /dev/null
+module transportpce-pathDescription {
+ namespace "http://org/transportpce/B-C-interface/pathDescription";
+ prefix transportpce-pathDescription;
+
+ import org-openroadm-resource {
+ prefix org-openroadm-resource;
+ }
+
+ 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 2017-04-26 {
+ description
+ "Version 1.5";
+ }
+ revision 2017-10-17 {
+ description
+ "Version 1.6";
+ }
+ grouping PCE-resource {
+ description
+ "This resource identifier is intended to provide a generic identifer
+ for any resource that can be used without specific knowledge of
+ the resource.";
+ container resource {
+ choice resource {
+ case termination-point {
+ leaf tp-id {
+ type string; //to be clarified with topology model
+ }
+ leaf tp-node-id {
+ type string; //to be clarified with topology model
+ }
+ }
+
+ case link {
+ leaf link-id {
+ type string; //to be clarified with topology model
+ }
+ }
+
+ case node {
+ leaf node-id {
+ type string; // to be clarified with topology model
+ }
+ }
+ }
+ }
+ }
+
+
+ grouping path-description {
+ description
+ "Topology reports the individual hops along the service in the A to Z direction and Z to A directions. This includes both ports internal to a device and those
+ at its edge that are available for externally connections. It includes both physical and logical ports.
+ Physical ports are ordered with the logical ports that run over them as follows:
+ a.\tOn ingress to a node/card, physical then logical
+ b.\tOn egress to a node/card, logical then physical";
+ container aToZ-direction {
+ leaf aToZ-wavelength-number {
+ type uint32;
+ mandatory true;
+ }
+ leaf rate {
+ type uint32;
+ mandatory true;
+ }
+ leaf modulation-format {
+ type string; // enum ?
+ }
+ list aToZ {
+ key "id";
+ leaf id {
+ description
+ "Unique identifier for this topology component within this service";
+ type string;
+ }
+ uses hop;
+ }
+ }
+
+ container zToA-direction {
+ leaf zToA-wavelength-number {
+ type uint32;
+ mandatory true;
+ }
+ leaf rate {
+ type uint32;
+ mandatory true;
+ }
+ leaf modulation-format {
+ type string; // enum ?
+ }
+ list zToA {
+ key "id";
+ leaf id {
+ description
+ "Unigue identifier for this topology component within this service";
+ type string;
+ }
+ uses hop;
+ }
+ }
+ }
+
+
+ grouping hop {
+ uses PCE-resource;
+ }
+}
--- /dev/null
+module transportpce-pce {
+ namespace "http://org/transportpce/B-interface/pce";
+ prefix transportpce-pce;
+
+ import ietf-yang-types {
+ prefix yang;
+ }
+ import transportpce-routing-constraints {
+ prefix transportpce-routing-constraints;
+ revision-date 2017-10-17;
+ }
+ import org-openroadm-common-service-types {
+ prefix org-openroadm-common-service-types;
+ }
+ import transportpce-common-service-path-types {
+ prefix transportpce-common-service-path-types;
+ revision-date 2017-10-16;
+ }
+ import transportpce-pathDescription {
+ prefix transportpce-pathDescription;
+ revision-date 2017-10-17;
+ }
+
+ 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 2017-10-17 {
+ description
+ "Version 1.6";
+ }
+
+ rpc path-computation-request {
+ input {
+ leaf service-name {
+ type string;
+ 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.";
+ mandatory true;
+ }
+ leaf resource-reserve {
+ type boolean;
+ description
+ "indicates if resources (from local PCE topology) must be reserved until further notice (cancel-resource-reserve or topology update)";
+ mandatory true;
+ }
+ 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;
+ }
+ output {
+ uses org-openroadm-common-service-types:configuration-response-common;
+ uses transportpce-common-service-path-types:response-parameters-sp;
+ }
+ }
+
+ 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;
+ }
+
+ grouping stubpce-path-description {
+ leaf path-name {
+ type string;
+ description
+ "Identifier for the pathDescription to be created in
+ the ROADM network, e.g., CLFI, CLCI, etc.";
+ mandatory true;
+ }
+ uses transportpce-pathDescription:path-description;
+ }
+
+ 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;
+ }
+ }
+
+}
--- /dev/null
+module transportpce-renderer {
+ namespace "http://org/transportpce/C-interface/renderer";
+ prefix transportpce-renderer;
+
+ import ietf-yang-types {
+ prefix yang;
+ }
+ import org-openroadm-common-service-types {
+ prefix org-openroadm-common-service-types;
+ }
+ import transportpce-common-service-path-types {
+ prefix transportpce-common-service-path-types;
+ revision-date 2017-10-16;
+ }
+ import org-openroadm-topology {
+ prefix org-openroadm-topology;
+ }
+ import transportpce-pathDescription {
+ prefix transportpce-pathDescription;
+ revision-date 2017-10-17;
+ }
+
+ organization
+ "transportPCE";
+ contact
+ "transportPCE committers - ODL";
+ description
+ "YANG definitions of C 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 2017-10-17 {
+ description
+ "Version 1.6";
+ }
+
+ rpc service-implementation-request {
+ input {
+ leaf service-name {
+ type string;
+ 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.";
+ mandatory true;
+ }
+ 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;
+ }
+ container path-description {
+ uses transportpce-pathDescription:path-description;
+ }
+ }
+ output {
+ uses org-openroadm-common-service-types:configuration-response-common;
+ }
+ }
+
+ rpc service-delete {
+ input {
+ leaf service-name {
+ type string;
+ 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.";
+ mandatory true;
+ }
+ uses transportpce-common-service-path-types:service-handler-header;
+ }
+ output {
+ uses org-openroadm-common-service-types:configuration-response-common;
+ }
+ }
+
+notification service-rpc-result-sp {
+ description
+ "This Notification indicates result of service RPC and provides the topology";
+ leaf notification-type {
+ type transportpce-common-service-path-types:service-path-notification-types;
+ }
+ container path-topology {
+ uses org-openroadm-topology:topology;
+ }
+ uses transportpce-common-service-path-types:rpc-response-status-ex;
+ uses org-openroadm-common-service-types:service-notification-result;
+ }
+}
--- /dev/null
+module transportpce-routing-constraints {
+ namespace "http://org/transportpce/B-C-interface/routing/constraints";
+ prefix transportpce-routing-constraints;
+
+ 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 2017-04-26 {
+ description
+ "Version 1.5";
+ }
+ revision 2017-10-17 {
+ description
+ "Version 1.6";
+ }
+
+ grouping common-constraints-sp {
+ leaf-list SRLG {
+ type string;
+ }
+ leaf-list clli {
+ type string;
+ }
+ leaf-list node-id {
+ type string;
+ }
+ }
+
+grouping ordered-constraints-sp {
+ description
+ "";
+ container hop-type {
+ choice hop-type {
+ case SRLG {
+ leaf SRLG {
+ type string; //to be clarified with topology model
+ }
+ }
+
+ case clli {
+ leaf clli {
+ type string; //to be clarified with topology model
+ }
+ }
+
+ case node {
+ leaf node-id {
+ type string; // to be clarified with topology model
+ }
+ }
+ }
+ }
+ }
+
+
+ grouping diversity-existing-service-contraints-sp {
+ leaf-list existing-service {
+ type string;
+ description
+ "Diverse from existing services identified by facility CLFI";
+ }
+ container existing-service-applicability {
+ leaf clli {
+ type boolean;
+ }
+ leaf node {
+ type boolean;
+ }
+ leaf srlg {
+ type boolean;
+ }
+ }
+ }
+ grouping routing-constraints-sp {
+ container hard-constraints {
+ uses constraints-sp;
+ }
+ container soft-constraints {
+ uses constraints-sp;
+ }
+ leaf pce-metric {
+ type enumeration {
+ enum hop-count;
+ enum propagation-delay;
+ enum TE-metric;
+ enum IGP-metric;
+ }
+ }
+ leaf locally-protected-links {
+ type boolean;
+ description "indicates whether it must use locally protected links or not";
+ }
+ }
+
+ grouping constraints-sp {
+ leaf-list customer-code {
+ type string;
+ }
+ choice co-routing-or-general {
+ case general {
+ container diversity {
+ uses diversity-existing-service-contraints-sp;
+ }
+ container exclude_ {
+ uses common-constraints-sp;
+ leaf-list supporting-service-name {
+ description
+ "Supporting service(s) to exclude from this route.";
+ type string;
+ }
+ leaf affinity {
+ type uint32;
+ }
+ }
+ container include_ {
+ list ordered-hops {
+ key hop-number;
+ leaf hop-number {
+ description
+ "designates the id of the hop: node-id, SRLG-id, site-id";
+ type uint16;
+ }
+ uses ordered-constraints-sp;
+ }
+
+ }
+ container latency {
+ description
+ "Maximum latency allowed";
+ leaf max-latency {
+ type uint32;
+ units "ms";
+ }
+ }
+ }
+ case co-routing {
+ container co-routing {
+ leaf-list existing-service {
+ type string;
+ description
+ "Diverse from existing services identified by facility CLFI";
+ }
+ }
+ }
+ }
+ }
+
+
+}
module transportpce-servicepath {
- namespace "http://org/transportpce/B-C-interface";
+ namespace "http://org/transportpce/B-C-interface/servicepath";
prefix transportpce-servicepath;
import ietf-yang-types {
}
import transportpce-routing-constraints {
prefix transportpce-routing-constraints;
+ revision-date 2017-04-26;
}
import org-openroadm-common-types {
prefix org-openroadm-common-types;
}
import transportpce-common-service-path-types {
prefix transportpce-common-service-path-types;
+ revision-date 2017-04-26;
}
import transportpce-pathDescription {
prefix transportpce-pathDescription;
+ revision-date 2017-04-26;
}
import org-openroadm-topology {
prefix org-openroadm-topology;
--- /dev/null
+module transportpce-servicepath {
+ namespace "http://org/transportpce/B-C-interface/servicepath";
+ prefix transportpce-servicepath;
+
+ import ietf-yang-types {
+ prefix yang;
+ }
+ import transportpce-common-service-path-types {
+ prefix transportpce-common-service-path-types;
+ }
+
+ organization
+ "transportPCE";
+ contact
+ "transportPCE committers - ODL";
+ description
+ "YANG definitions for service-path (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 2017-04-26 {
+ description
+ "Version 1.5";
+ }
+ revision 2017-10-17 {
+ description
+ "Version 1.6";
+ }
+
+ container service-path-list {
+ description
+ "List of service paths. Can only be created, deleted, modified, etc. using special RPCs.";
+ list service-paths {
+ key "service-path-name";
+ uses transportpce-common-service-path-types:service-path;
+ }
+ }
+
+}
--- /dev/null
+module transportpce-servicehandler {
+ namespace "http://org/transportpce/B-C-interface/servicehandler";
+ prefix transportpce-servicehandler;
+
+ import ietf-yang-types {
+ prefix yang;
+ }
+ import transportpce-routing-constraints {
+ prefix transportpce-routing-constraints;
+ revision-date 2017-10-17;
+ }
+ import org-openroadm-common-types {
+ prefix org-openroadm-common-types;
+ }
+ import org-openroadm-resource-types {
+ prefix org-openroadm-resource-types;
+ }
+ import org-openroadm-common-service-types {
+ prefix org-openroadm-common-service-types;
+ }
+ import transportpce-common-service-path-types {
+ prefix transportpce-common-service-path-types;
+ revision-date 2017-10-16;
+ }
+ import transportpce-pathDescription {
+ prefix transportpce-pathDescription;
+ revision-date 2017-10-17;
+ }
+ import org-openroadm-topology {
+ prefix org-openroadm-topology;
+ }
+
+ organization
+ "transportPCE";
+ contact
+ "transportPCE committers - ODL";
+ description
+ "YANG definitions of A 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 2017-10-17 {
+ description
+ "Version 1.6";
+ }
+ notification service-rpc-result-sh{
+ description
+ "This Notification indicates result of service RPC";
+ leaf notification-type {
+ type org-openroadm-common-service-types:service-notification-types;
+ }
+ uses transportpce-common-service-path-types:rpc-response-status-ex;
+ uses org-openroadm-common-service-types:service-notification-result;
+ }
+
+
+}
<module>impl</module>
<module>renderer</module>
<module>olm</module>
- <module>stubrenderer</module>
- <module>stubpce</module>
<module>servicehandler</module>
+ <module>tests</module>
<module>cli</module>
<module>features</module>
<module>karaf</module>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+Copyright © 2016 Orange and others. All rights reserved.
+
+This program and the accompanying materials are made available under the
+terms of the Eclipse Public License v1.0 which accompanies this distribution,
+and is available at http://www.eclipse.org/legal/epl-v10.html INTERNAL
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.opendaylight.odlparent</groupId>
+ <artifactId>odlparent</artifactId>
+ <version>2.0.5</version>
+ <relativePath/>
+ </parent>
+
+ <groupId>org.opendaylight.transportpce</groupId>
+ <artifactId>stubs-aggregator</artifactId>
+ <version>0.2.0-SNAPSHOT</version>
+ <name>${project.artifactId}</name>
+ <packaging>pom</packaging>
+
+ <modules>
+ <module>stubpce</module>
+ <module>stubrenderer</module>
+ </modules>
+
+</project>