+++ /dev/null
-module org-openroadm-amplifier {
- namespace "http://org/openroadm/amplifier";
- prefix amp;
-
- import org-openroadm-common-types {
- prefix org-openroadm-common-types;
- revision-date 2017-12-15;
- }
-
- organization
- "Open ROADM MSA";
- contact
- "OpenROADM.org.";
- description
- "YANG definitions for an amplifier in Network Model
-
-
- Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2017,
- 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-12-15 {
- description
- "Version 2.2";
- }
- revision 2017-09-29 {
- description
- "Version 2.1";
- }
- revision 2017-07-28 {
- description
- "Version 2.0.1 - added revision-date to imports";
- }
- revision 2017-06-17 {
- description
- "Version 2.0";
- }
-
- grouping amplifier-node-attributes {
- description
- "Defines the group of amplifier attributes";
- leaf amp-type {
- type org-openroadm-common-types:amplifier-types;
- config true;
- mandatory true;
- description
- "Amplifier type";
- }
- leaf amp-gain-range {
- type org-openroadm-common-types:amplifier-gain-range;
- config true;
- description
- "Amplifier gain-range (gain-range 1 to 4 for switched gain amplifiers)
- gain-range-1 for standard amplifiers";
- }
- leaf ingress-span-loss-aging-margin {
- type org-openroadm-common-types:ratio-dB;
- config true;
- description
- "Span-loss margin used to set optical amplifier gain and output-voa
- extracted from corresponding device OTS interface container, optional
- since it concerns only line facing amp";
- }
- leaf gain {
- type org-openroadm-common-types:ratio-dB;
- config true;
- mandatory true;
- description
- "Overall Amplifier Signal gain, excluding ASE, including VOA attenuation
- retrieved from operational value (PM)";
- }
- leaf initially-planned-gain {
- type org-openroadm-common-types:ratio-dB;
- config true;
- description
- "Overall Amplifier Signal gain, excluding ASE, including VOA attenuation:
- value coming from planning tool initial design";
- }
- leaf tilt {
- type org-openroadm-common-types:ratio-dB;
- config true;
- description
- "Tilt of smart EDFA retrieved from operational value (PM)";
- }
- leaf initially-planned-tilt {
- type org-openroadm-common-types:ratio-dB;
- config true;
- description
- "Tilt of smart EDFA:
- value coming from planning tool initial design";
- }
- leaf out-voa-att {
- type org-openroadm-common-types:ratio-dB;
- config true;
- description
- "output VOA attenuation";
- }
- leaf initially-planned-out-voa-att {
- type org-openroadm-common-types:ratio-dB;
- config true;
- description
- "output VOA attenuation: value coming from planning tool initial design.
- As in R2.0, output VOA can not be configured by controller, this parameter may be used by the controller
- to check that value set by amplifiers is in the range of calculated value and take relevant decision if not";
- }
- leaf eol-max-load-pIn {
- type org-openroadm-common-types:power-dBm;
- config true;
- description
- "End Of Life Total input power at maximum load used for amplifier and VOA setting
- extracted from corresponding device OTS interface container";
- }
- }
-}
+++ /dev/null
-module org-openroadm-degree {
- namespace "http://org/openroadm/degree";
- prefix dgr;
-
- import org-openroadm-common-types {
- prefix org-openroadm-common-types;
- revision-date 2017-12-15;
- }
- import org-openroadm-network-types {
- prefix org-openroadm-network-types;
- revision-date 2017-12-15;
- }
-
- organization
- "Open ROADM MSA";
- contact
- "OpenROADM.org.";
- description
- "YANG definitions for a Degree in Network Model
-
-
- 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-12-15 {
- description
- "Version 2.2";
- }
- revision 2017-09-29 {
- description
- "Version 2.1";
- }
- revision 2017-07-28 {
- description
- "Version 2.0.1 - added revision-date to imports";
- }
- revision 2017-06-26 {
- description
- "Version 2.0";
- }
- revision 2016-10-14 {
- description
- "Version 1.2";
- }
-
- grouping degree-used-wavelengths {
- description
- "This list is created to accommodate fixed grid (1.2.1) as well as flex grid (2.0 above). In case of fixed grid
- index number will refer to one of the 96 WL defined in the wavelength map file. In case of flex grid this
- will hold list of used spectrums";
- list used-wavelengths {
- key "index";
- uses org-openroadm-network-types:wavelengths;
- }
- }
-
- grouping degree-node-attributes {
- description
- "Defines the group of degree attributes";
- leaf degree-number {
- type uint16;
- }
- leaf max-wavelengths {
- type uint32;
- description
- "maximum # of wavelengths";
- }
- list available-wavelengths {
- key "index";
- description
- "This list is created to accommodate fixed grid (1.2.1) as well as flex grid (2.0 above). In case of fixed grid
- index number will refer to one of the 96 WL defined in the wavelength map file. In case of flex grid this
- will hold list of available spectrums";
- uses org-openroadm-network-types:wavelengths;
- }
- leaf ingress-span-loss-aging-margin {
- type org-openroadm-common-types:ratio-dB;
- config true;
- description
- "Span-loss margin extracted from corresponding device OTS interface container, optional";
- }
- leaf eol-max-load-pIn {
- type org-openroadm-common-types:power-dBm;
- config true;
- description
- "End Of Life Total input power at maximum load extracted from corresponding device OTS interface container";
- }
- }
-}
+++ /dev/null
-module org-openroadm-external-pluggable {
- namespace "http://org/openroadm/external/pluggable";
- prefix plg;
-
- import org-openroadm-common-types {
- prefix org-openroadm-common-types;
- revision-date 2017-12-15;
- }
-
- organization
- "OPEN ROADM MSA";
- contact
- "OpenROADM.org.";
- description
- "YANG definitions for External Pluggable
-
-
- 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-12-15 {
- description
- "Version 2.2";
- }
- revision 2017-09-29 {
- description
- "Version 2.1";
- }
- revision 2017-07-28 {
- description
- "Version 2.0.1 - added revision-date to imports";
- }
- revision 2017-06-26 {
- description
- "Version 2.0";
- }
- revision 2016-10-14 {
- description
- "Version 1.2";
- }
-
- grouping pluggable-node-attributes {
- leaf pluggable-id {
- type string;
- description
- "Network-wide unique identifier for a pluggable";
- }
- leaf customer-code {
- type string;
- description
- "Owner of the pluggable";
- }
- container tail {
- leaf client-equipment {
- type string;
- }
- leaf client-equipment-id {
- type string;
- }
- leaf clfi {
- type string;
- }
- }
- }
-
- grouping pluggable-tp-attributes {
- leaf rate {
- type identityref {
- base org-openroadm-common-types:och-rate-identity;
- }
- description
- "rate";
- }
- leaf modulation-format {
- type org-openroadm-common-types:modulation-format;
- }
- leaf optic {
- type org-openroadm-common-types:optic-types;
- }
- leaf state {
- type org-openroadm-common-types:state;
- description
- "A xponder can be in one of the following
- states";
- }
- }
-}
+++ /dev/null
-module org-openroadm-link {
- namespace "http://org/openroadm/link";
- prefix link;
-
- import org-openroadm-common-types {
- prefix org-openroadm-common-types;
- revision-date 2017-12-15;
- }
- import org-openroadm-amplifier {
- prefix org-openroadm-amplifier;
- revision-date 2017-12-15;
- }
-
- organization
- "Open ROADM MSA";
- contact
- "OpenROADM.org.";
- description
- "YANG definitions for an amplifier in Network Model
-
-
- Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2017,
- 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-12-15 {
- description
- "Version 2.2";
- }
- revision 2017-09-29 {
- description
- "Version 2.1";
- }
- revision 2017-07-28 {
- description
- "Version 2.0.1 - added revision-date to imports";
- }
- revision 2017-06-17 {
- description
- "Version 2.0";
- }
-
- grouping OMS-attributes {
- leaf TE-metric {
- type uint32;
- }
- }
-
- grouping span-attributes {
- leaf clfi {
- type string;
- }
- leaf auto-spanloss {
- type boolean;
- default "true";
- description
- "Flag to enable/disable automatic spanloss measurement";
- }
- leaf spanloss-base {
- type org-openroadm-common-types:ratio-dB;
- description
- "Baseline ROADM span loss measured and accepted during
- degree turn-up. May be re-set to current value after a fiber repair or change.";
- }
- leaf spanloss-current {
- type org-openroadm-common-types:ratio-dB;
- description
- "Current ROADM span loss measured and accepted during
- degree turn-up. Updated periodically if auto-spanloss is enabled.";
- }
- leaf engineered-spanloss {
- type org-openroadm-common-types:ratio-dB;
- description
- "ROADM span loss provided by an external system";
- }
- list link-concatenation {
- key "SRLG-Id";
- leaf SRLG-Id {
- type uint32;
- description
- "unique identifier for SRLG";
- }
- leaf fiber-type {
- type enumeration {
- enum "smf" {
- value 0;
- description
- "Single Mode Fiber";
- }
- enum "eleaf" {
- value 1;
- description
- "ELEAF";
- }
- enum "oleaf" {
- value 2;
- description
- "OLEAF";
- }
- enum "dsf" {
- value 3;
- description
- "DSF";
- }
- enum "truewave" {
- value 4;
- description
- "TRUEWAVE Reduced Slope";
- }
- enum "truewavec" {
- value 5;
- description
- "TRUEWAVE Classic";
- }
- enum "nz-dsf" {
- value 6;
- description
- "NZ-DSF";
- }
- enum "ull" {
- value 7;
- description
- "Ultra Low Loss (ULL)";
- }
- }
- }
- leaf SRLG-length {
- type uint32;
- description
- "fiber length in meters";
- }
- leaf pmd {
- type org-openroadm-common-types:fiber-pmd;
- description
- "Total PMD";
- }
- }
- }
-
- grouping amplified-link-attributes {
- list amplified-link {
- key "section-elt-number";
- description
- "defines the spans and the amplifier blocks of the amplified lines";
- leaf section-elt-number {
- type uint16;
- description
- "Id of the section element (whether it's a Span or an Amp)";
- }
- container section-element {
- choice section-element {
- case ila {
- container ila {
- uses org-openroadm-amplifier:amplifier-node-attributes;
- leaf node-id {
- type org-openroadm-common-types:node-id-type;
- mandatory true;
- description
- "Node id corresponding to the amplifier ";
- }
- leaf administrative-state {
- type org-openroadm-common-types:state;
- }
- }
- }
- case span {
- container span {
- uses link:span-attributes;
- leaf administrative-state {
- type org-openroadm-common-types:state;
- }
- }
- }
- }
- }
- }
- }
-}
+++ /dev/null
-module org-openroadm-network-topology-types {
- namespace "http://org/openroadm/network/topology/types";
- prefix org-openroadm-network-topology-types;
-
- import ietf-network {
- prefix nd;
- revision-date 2015-06-08;
- }
- import ietf-network-topology {
- prefix nwt;
- revision-date 2015-06-08;
- }
- import org-openroadm-switching-pool-types {
- prefix org-openroadm-switching-pool-types;
- revision-date 2017-12-15;
- }
-
- organization
- "OPEN ROADM MSA";
- contact
- "www.OpenROADM.org.";
- description
- "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-12-15 {
- description
- "Version 2.2";
- }
-
- grouping xpdr-tp-bandwidth-sharing {
- list tp-bandwidth-sharing {
- key "tp-sharing-id";
- leaf tp-sharing-id {
- type uint16;
- }
- leaf-list tp-list {
- type nwt:tp-id;
- }
- leaf shared-bandwidth {
- type uint16;
- units "Gbps";
- }
- }
- }
-
- grouping xpdr-odu-switching-pools {
- list odu-switching-pools {
- key "switching-pool-number";
- leaf switching-pool-number {
- type uint16;
- description
- "Unique identifier for this odu-switching-pool";
- }
- leaf switching-pool-type {
- type org-openroadm-switching-pool-types:switching-pool-types;
- }
- list non-blocking-list {
- key "nbl-number";
- description
- "List of ports in a non-blocking switch element";
- leaf nbl-number {
- type uint16;
- description
- "Identifier for this non-blocking-list. Unique within odu-switching-pool";
- }
- leaf interconnect-bandwidth-unit {
- type uint32;
- description
- "Switch fabric interconnect bandwidth unit rate in bits per second.
- Represents granularity of switch fabric";
- }
- leaf capable-interconnect-bandwidth {
- type uint32;
- description
- "Total interconnect bandwidth for a non-blocking element expressed as
- number of inter-connect-bandwidth units";
- }
- leaf available-interconnect-bandwidth {
- type uint32;
- description
- "Total interconnect bandwidth available for a non-blocking element can use as
- number of inter-connect-bandwidth units";
- }
- leaf-list tp-list {
- type nwt:tp-id;
- description
- "Termination point. Unique within device";
- }
- }
- }
- }
-
- grouping xpdr-otn-tail-attributes {
- leaf tp-id {
- type nwt:tp-id;
- }
- leaf network-ref {
- type leafref {
- path "/nd:network/nd:network-id";
- }
- description
- "Used to reference a network, for example an underlay
- network.";
- }
- leaf node-ref {
- type leafref {
- path "/nd:network[nd:network-id=current()/../network-ref]/nd:node/nd:node-id";
- }
- description
- "Used to reference a node.
- Nodes are identified relative to the network they are
- contained in.";
- }
- }
-}
+++ /dev/null
-module org-openroadm-network-topology {
- namespace "http://org/openroadm/network/topology";
- prefix topo;
-
- import ietf-network {
- prefix nd;
- revision-date 2015-06-08;
- }
- import ietf-network-topology {
- prefix nwt;
- revision-date 2015-06-08;
- }
- import org-openroadm-network-types {
- prefix org-openroadm-network-types;
- revision-date 2017-12-15;
- }
- import org-openroadm-srg {
- prefix srg;
- revision-date 2017-12-15;
- }
- import org-openroadm-degree {
- prefix dgr;
- revision-date 2017-12-15;
- }
- import org-openroadm-xponder {
- prefix xpdr;
- revision-date 2017-12-15;
- }
- import org-openroadm-external-pluggable {
- prefix plg;
- revision-date 2017-12-15;
- }
- import org-openroadm-link {
- prefix link;
- revision-date 2017-12-15;
- }
- import org-openroadm-common-types {
- prefix ct;
- revision-date 2017-12-15;
- }
-
- organization
- "OPEN ROADM MSA";
- contact
- "OpenROADM.org.";
- description
- "YANG definitions for network view of a ROADM
-
- 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-12-15 {
- description
- "Version 2.2";
- }
- revision 2017-09-29 {
- description
- "Version 2.1";
- }
- revision 2017-07-28 {
- description
- "Version 2.0.1 - added revision-date to imports";
- }
- revision 2017-06-26 {
- description
- "Version 2.0";
- }
-
- augment "/nd:network/nd:network-types" {
- description
- "Introduce new network type for the Open ROADM optical
- ` network topology";
- container openroadm-topology {
- presence "indicates optical network topology for Open ROADMs";
- }
- }
- augment "/nd:network/nd:node" {
- when "../nd:network-types/openroadm-topology";
- description
- "This augmentations adds the ROADM Node type to the generic node
- definition and defines node-sepcific attributes for each node type
- in the ROADM Topology.";
- leaf node-type {
- type org-openroadm-network-types:openroadm-node-type;
- must
- "(../node-type = 'DEGREE' or ../node-type = 'SRG' or ../node-type = 'TPDR' or ../node-type = 'SWITCH' or
- ../node-type = 'REGEN' or ../node-type = 'REGEN-UNI' or ../node-type = 'EXT-PLUGGABLE' or
- ../node-type = 'MUXPDR')" {
- error-message "Invalid node type for openroadm-topology";
- }
- description
- "The type of a node in the ROADM topology. Valid node types are 'SRG', 'DEGREE',
- 'TPDR', 'SWITCH', 'REGEN', 'REGEN-UNI', 'EXT-PLUGGABLE' and 'MUXPDR'";
- }
- container srg-attributes {
- when "../node-type = 'SRG'";
- description
- "Topology-related attributes for SRG nodes";
- uses srg:srg-node-attributes;
- }
- container degree-attributes {
- when "../node-type = 'DEGREE'";
- description
- "Topology-related attributes for degree nodes";
- uses dgr:degree-node-attributes;
- }
- container xpdr-attributes {
- when
- "../node-type = 'TPDR' or ../node-type = 'MUXPDR' or ../node-type = 'REGEN' or
- ../node-type = 'REGEN-UNI' or ../node-type = 'SWITCH'";
- description
- "Topology-related attributes for Xponder nodes";
- uses xpdr:xpdr-topo-node-attributes;
- }
- }
- augment "/nd:network/nd:node/nwt:termination-point" {
- when "../../nd:network-types/openroadm-topology";
- description
- "Defines the type of a termination point in the ROADM topology and
- TP-specific attributes for each termination point type.";
- leaf tp-type {
- type org-openroadm-network-types:openroadm-tp-type;
- must
- "../../topo:node-type != 'DEGREE' or (../../topo:node-type = 'DEGREE' and
- (../topo:tp-type = 'DEGREE-TX-TTP' or ../topo:tp-type = 'DEGREE-RX-TTP' or ../topo:tp-type = 'DEGREE-TXRX-TTP' or
- ../topo:tp-type = 'DEGREE-TX-CTP' or ../topo:tp-type = 'DEGREE-RX-CTP' or ../topo:tp-type = 'DEGREE-TXRX-CTP'))" {
- error-message "Invalid TP for node type 'DEGREE'";
- }
- must
- "../../topo:node-type != 'SRG' or (../../topo:node-type = 'SRG' and
- (../topo:tp-type = 'SRG-TX-CP' or ../topo:tp-type = 'SRG-RX-CP' or ../topo:tp-type = 'SRG-TXRX-CP' or
- ../topo:tp-type = 'SRG-RX-PP' or ../topo:tp-type = 'SRG-TX-PP' or ../topo:tp-type = 'SRG-TXRX-PP'))" {
- error-message "Invalid TP for node type 'SRG'";
- }
- must
- " (../../topo:node-type != 'TPDR' and ../../topo:node-type != 'MUXPDR' and ../../topo:node-type != 'REGEN' and
- ../../topo:node-type != 'REGEN-UNI' and ../../topo:node-type != 'SWITCH')
- or ((../../topo:node-type = 'TPDR' or ../../topo:node-type = 'MUXPDR' or ../../topo:node-type = 'REGEN' or
- ../../topo:node-type = 'REGEN-UNI' or ../../topo:node-type = 'SWITCH') and
- (../topo:tp-type = 'XPONDER-NETWORK' or ../topo:tp-type = 'XPONDER-CLIENT' or ../topo:tp-type = 'XPONDER-PORT'))" {
- error-message "Invalid TP for node type 'XPONDER'";
- }
- must "../../topo:node-type != 'EXT-PLUGGABLE' or (../../topo:node-type = 'EXT-PLUGGABLE' and ../topo:tp-type = 'EXT-PLUGGABLE-TP')" {
- error-message "Invalid TP for node type 'EXT-PLUGGABLE'";
- }
- description
- "The TP type; also defines which TP types can be instantiated
- on which Node types";
- }
- container tx-ttp-attributes {
- when "../tp-type = 'DEGREE-TX-TTP' or ../tp-type = 'DEGREE-TXRX-TTP'";
- description
- "There must be only one TP of type DEGREE-TX-TTP in any given
- degree node";
- uses dgr:degree-used-wavelengths;
- }
- container rx-ttp-attributes {
- when "../tp-type = 'DEGREE-RX-TTP'";
- description
- "There must be only one TP of type DEGREE-RX-TTP in any given
- degree node";
- uses dgr:degree-used-wavelengths;
- }
- container ctp-attributes {
- when "../tp-type = 'DEGREE-TX-CTP' or ../tp-type = 'DEGREE-RX-CTP' or ../tp-type = 'DEGREE-TXRX-CTP'";
- uses dgr:degree-used-wavelengths;
- }
- container cp-attributes {
- when "../tp-type = 'SRG-TX-CP' or ../tp-type = 'SRG-RX-CP' or ../tp-type = 'SRG-TXRX-CP'";
- description
- "This list is created to accommodate fixed grid (1.2.1) as well as flex grid (2.0 above). In case of fixed grid
- index number will refer to one of the 96 WL defined in the wavelength map file. In case of flex grid this
- will hold list of used spectrums";
- list used-wavelengths {
- key "index";
- uses org-openroadm-network-types:wavelengths;
- }
- }
- container pp-attributes {
- when "../tp-type = 'SRG-TXRX-PP' or ../tp-type = 'SRG-TX-PP' or ../tp-type = 'SRG-RX-PP' ";
- description
- "This list is created to accommodate fixed grid (1.2.1) as well as flex grid (2.0 above). In case of fixed grid
- index number will refer to one of the 96 WL defined in the wavelength map file. In case of flex grid this
- will hold list of used spectrums";
- list used-wavelength {
- key "index";
- uses org-openroadm-network-types:wavelengths;
- }
- }
- leaf eqpt-srg-id {
- when
- "../tp-type = 'XPONDER-CLIENT' or ../tp-type = 'XPONDER-NETWORK' or ../tp-type = 'EXT-PLUGGABLE-TP' or
- ../tp-type = 'XPONDER-PORT'";
- type uint32;
- description
- "Shared Risk Group identifier. All ports in a circuit-pack will have same srg-id";
- }
- container xpdr-client-attributes {
- when "../tp-type = 'XPONDER-CLIENT'";
- uses xpdr:xpdr-connection-attributes;
- uses xpdr:xpdr-port-connection-attributes;
- }
- container xpdr-network-attributes {
- when "../tp-type = 'XPONDER-NETWORK'";
- uses xpdr:xpdr-connection-attributes;
- uses xpdr:xpdr-port-connection-attributes;
- }
- container xpdr-port-attributes {
- when "../tp-type = 'XPONDER-PORT'";
- uses xpdr:xpdr-connection-attributes;
- uses xpdr:xpdr-port-connection-attributes;
- }
- container ext-pluggable-attributes {
- when "../tp-type = 'EXT-PLUGGABLE-TP'";
- uses plg:pluggable-tp-attributes;
- }
- }
- augment "/nd:network/nwt:link" {
- when "../nd:network-types/openroadm-topology";
- description
- "This augmentation defines ROADM link types in the ROADM topology";
- leaf link-type {
- type org-openroadm-network-types:openroadm-link-type;
- must
- "(../link-type = 'ROADM-TO-ROADM' or ../link-type = 'ADD-LINK' or ../link-type = 'DROP-LINK' or
- ../link-type = 'EXPRESS-LINK' or ../link-type = 'XPONDER-INPUT' or ../link-type = 'XPONDER-OUTPUT')" {
- error-message "Invalid link type for openroadm-topology";
- }
- }
- leaf link-length {
- type decimal64 {
- fraction-digits 2;
- }
- }
- leaf administrative-group {
- type uint32;
- description
- "according to RFC 3630 definition";
- }
- leaf operational-state {
- type ct:state;
- }
- leaf administrative-state {
- type ct:state;
- }
- leaf link-latency {
- type uint32;
- description
- "Latency of a link";
- }
- leaf amplified {
- when "../link-type = 'ROADM-TO-ROADM'";
- type boolean;
- description
- "defines whether an ROADM-TO-ROADM Link includes line amplifiers or not";
- }
- container OMS-attributes {
- when "../link-type = 'ROADM-TO-ROADM'";
- description
- "";
- uses link:OMS-attributes;
- leaf opposite-link {
- type leafref {
- path "../../../nwt:link/nwt:link-id";
- }
- description
- "optional - pointer to reverse link in case of bidirectional link";
- }
- container span {
- when "../../amplified = 'false'";
- description
- "";
- uses link:span-attributes;
- }
- container amplified-link {
- when "../../amplified = 'true'";
- description
- "when amplified is set to true, rather than a simple OMS section
- we have an amplified link";
- uses link:amplified-link-attributes;
- }
- }
- }
-}
+++ /dev/null
-module org-openroadm-network-types {
- namespace "http://org/openroadm/network/types";
- prefix nt;
-
- import ietf-yang-types {
- prefix yang;
- revision-date 2013-07-15;
- }
- import org-openroadm-common-types {
- prefix org-openroadm-common-types;
- revision-date 2017-12-15;
- }
- import org-openroadm-port-types {
- prefix org-openroadm-port-types;
- revision-date 2017-12-15;
- }
-
- organization
- "OPEN ROADM MSA";
- contact
- "www.OpenROADM.org.";
- description
- "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-12-15 {
- description
- "Version 2.2";
- }
- revision 2017-09-29 {
- description
- "Version 2.1";
- }
- revision 2017-07-28 {
- description
- "Version 2.0.1 - added revision-date to imports";
- }
- revision 2017-06-26 {
- description
- "Version 2.0";
- }
-
- typedef openroadm-node-type {
- type enumeration {
- enum "ROADM" {
- value 1;
- }
- enum "DEGREE" {
- value 11;
- }
- enum "SRG" {
- value 12;
- }
- enum "XPONDER" {
- value 3;
- }
- enum "EXT-PLUGGABLE" {
- value 4;
- }
- enum "TPDR" {
- value 13;
- }
- enum "MUXPDR" {
- value 14;
- }
- enum "REGEN" {
- value 15;
- }
- enum "REGEN-UNI" {
- value 16;
- }
- enum "SWITCH" {
- value 17;
- }
- }
- }
-
- typedef openroadm-tp-type {
- type enumeration {
- enum "DEGREE-TX-TTP" {
- value 1;
- }
- enum "DEGREE-RX-TTP" {
- value 2;
- }
- enum "DEGREE-TX-CTP" {
- value 3;
- }
- enum "DEGREE-RX-CTP" {
- value 4;
- }
- enum "SRG-TX-CP" {
- value 5;
- }
- enum "SRG-RX-CP" {
- value 6;
- }
- enum "SRG-TXRX-PP" {
- value 7;
- }
- enum "SRG-RX-PP" {
- value 8;
- }
- enum "SRG-TX-PP" {
- value 9;
- }
- enum "XPONDER-NETWORK" {
- value 10;
- }
- enum "XPONDER-CLIENT" {
- value 11;
- }
- enum "EXT-PLUGGABLE-TP" {
- value 12;
- }
- enum "DEGREE-TXRX-TTP" {
- value 13;
- }
- enum "SRG-TXRX-CP" {
- value 14;
- }
- enum "XPONDER-PORT" {
- value 15;
- }
- enum "DEGREE-TXRX-CTP" {
- value 16;
- }
- }
- }
-
- typedef openroadm-link-type {
- type enumeration {
- enum "EXPRESS-LINK" {
- value 1;
- }
- enum "ADD-LINK" {
- value 2;
- }
- enum "DROP-LINK" {
- value 3;
- }
- enum "ROADM-TO-ROADM" {
- value 4;
- }
- enum "XPONDER-INPUT" {
- value 5;
- }
- enum "XPONDER-OUTPUT" {
- value 6;
- }
- enum "OTN-LINK" {
- value 7;
- }
- }
- }
-
- typedef openroadm-node-status {
- type enumeration {
- enum "PLANNED" {
- value 1;
- }
- enum "DEPLOYED" {
- value 2;
- }
- enum "MAINTENANCE" {
- value 3;
- }
- }
- }
-
- grouping wavelengths {
- leaf index {
- type uint32;
- }
- uses flex-wave;
- }
-
- grouping flex-wave {
- leaf frequency {
- type org-openroadm-common-types:frequency-THz;
- config true;
- description
- "Center Frequency in THz";
- }
- leaf width {
- type org-openroadm-common-types:frequency-GHz;
- config true;
- description
- "Frequency width in GHz.";
- }
- }
-
- grouping xpdr-tp-supported-interfaces {
- list supported-interface-capability {
- key "if-cap-type";
- description
- "Supported interface capability on the port.";
- leaf if-cap-type {
- type identityref {
- base org-openroadm-port-types:supported-if-capability;
- }
- description
- "Interface type/hierarchy/rate supported on this port";
- }
- }
- }
-
- grouping node-due-date-list {
- list due-dates {
- key "id";
- leaf id {
- type uint16;
- }
- leaf start-date {
- type yang:date-and-time;
- description
- "date and time node will begin maintenance status or date when node is planned";
- }
- leaf end-date {
- type yang:date-and-time;
- description
- "date and time node will end maintenance or date when node is deployed";
- }
- }
- }
-}
+++ /dev/null
-module org-openroadm-network {
- namespace "http://org/openroadm/network";
- prefix net;
-
- import ietf-network {
- prefix nd;
- revision-date 2015-06-08;
- }
- import org-openroadm-network-types {
- prefix nt;
- revision-date 2017-12-15;
- }
- import org-openroadm-roadm {
- prefix roadm;
- revision-date 2017-12-15;
- }
- import org-openroadm-external-pluggable {
- prefix plg;
- revision-date 2017-12-15;
- }
- import org-openroadm-xponder {
- prefix xpdr;
- revision-date 2017-12-15;
- }
- import ietf-inet-types {
- prefix inet;
- revision-date 2013-07-15;
- }
-
- organization
- "OPEN ROADM MSA";
- contact
- "www.OpenROADM.org.";
- description
- "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-12-15 {
- description
- "Version 2.2";
- }
- revision 2017-09-29 {
- description
- "Version 2.1";
- }
- revision 2017-07-28 {
- description
- "Version 2.0.1 - added revision-date to imports";
- }
- revision 2017-06-26 {
- description
- "Version 2.0";
- }
- revision 2016-10-14 {
- description
- "Version 1.2";
- }
-
- augment "/nd:network/nd:network-types" {
- description
- "Introduce new network type for the Open ROADM optical network";
- container openroadm-network {
- presence "indicates optical network of Open ROADMs";
- description
- "The presence of the container node indicates Open ROADM
- network";
- }
- }
- augment "/nd:network/nd:node" {
- when "../nd:network-types/openroadm-network";
- description
- "Augment the generic network node with Open ROADM attributes.";
- leaf node-type {
- type nt:openroadm-node-type;
- must "(../node-type = 'ROADM' or ../node-type = 'XPONDER' or ../node-type = 'EXT-PLUGGABLE')" {
- error-message "Invalid node type for openroadm-network";
- }
- description
- "A component of the network topology.
- Valid node types are XPONDER, EXT-PLUGGABLE and ROADM.
- Once the node-type is configured, it should not be modified.";
- }
- leaf software-version {
- type string;
- description
- "Vendor software version";
- }
- leaf openroadm-version {
- type string;
- description
- "OpenROADM software version";
- }
- leaf vendor {
- type string;
- description
- "Identifier of the supplier";
- }
- leaf model {
- type string;
- description
- "Identifier of the supplier's equipment";
- }
- leaf domain-subnetwork {
- type string;
- description
- "Specific Domain-Subnetwork in which the node resides";
- }
- leaf ip {
- type inet:ip-address;
- description
- "IP address assigned to the node";
- }
- leaf relay-rack {
- type string;
- description
- "Frame Identification Code (FIC)";
- }
- leaf shelf {
- type string;
- }
- leaf node-status {
- type nt:openroadm-node-status;
- }
- container roadm-attributes {
- when "../node-type = 'ROADM'";
- description
- "Attributes for the ROADM Node.";
- uses roadm:roadm-node-attributes;
- }
- container xpdr-attributes {
- when "../node-type = 'XPONDER'";
- uses xpdr:xpdr-node-attributes;
- }
- container pluggable-attributes {
- when "../node-type = 'EXT-PLUGGABLE'";
- uses plg:pluggable-node-attributes;
- }
- container plan-due-dates {
- uses nt:node-due-date-list;
- }
- container node-maintenance-schedule {
- uses nt:node-due-date-list;
- }
- }
-}
+++ /dev/null
-module org-openroadm-otn-network-topology {
- namespace "http://org/openroadm/otn/network/topology";
- prefix otn-topo;
-
- import ietf-network {
- prefix nd;
- revision-date 2015-06-08;
- }
- import ietf-network-topology {
- prefix nwt;
- revision-date 2015-06-08;
- }
- import org-openroadm-network-types {
- prefix org-openroadm-network-types;
- revision-date 2017-12-15;
- }
- import org-openroadm-network-topology-types {
- prefix org-openroadm-network-topology-types;
- revision-date 2017-12-15;
- }
- import org-openroadm-xponder {
- prefix xpdr;
- revision-date 2017-12-15;
- }
- import org-openroadm-common-types {
- prefix ct;
- revision-date 2017-12-15;
- }
-
- organization
- "OPEN ROADM MSA";
- contact
- "OpenROADM.org.";
- description
- "YANG definitions for network view of a ROADM
-
- 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-12-15 {
- description
- "Version 2.2";
- }
- revision 2017-09-29 {
- description
- "Version 2.1";
- }
-
- augment "/nd:network/nd:network-types" {
- description
- "Introduce new network type for the Open ROADM OTN
- ` network topology";
- container otn-topology {
- presence "indicates OTN topology for Muxponder, Switchponder and OTN-switch";
- }
- }
- augment "/nd:network/nd:node" {
- when "../nd:network-types/otn-topology";
- description
- "This augmentations adds the OTN Node type to the generic node
- definition and defines node-sepcific attributes for each node type
- in the OTN Topology.";
- leaf node-type {
- type org-openroadm-network-types:openroadm-node-type;
- must "(../node-type = 'SWITCH' or ../node-type = 'MUXPDR')" {
- error-message "Invalid node type for otn-topology";
- }
- description
- "The type of a node in the OTN topology. Valid node types are 'MUXPDR' and 'SWITCH'";
- }
- container tp-bandwidth-sharing {
- when "../node-type = 'MUXPDR' or ../node-type = 'SWITCH'";
- uses org-openroadm-network-topology-types:xpdr-tp-bandwidth-sharing;
- }
- container switching-pools {
- when "../node-type = 'MUXPDR' or ../node-type = 'SWITCH'";
- description
- "ODU Switching pool";
- uses org-openroadm-network-topology-types:xpdr-odu-switching-pools;
- }
- container xpdr-attributes {
- when "../node-type = 'MUXPDR' or ../node-type = 'SWITCH'";
- description
- "Topology-related attributes for Xponder nodes";
- uses xpdr:xpdr-topo-node-attributes;
- }
- }
- augment "/nd:network/nd:node/nwt:termination-point" {
- when "../../nd:network-types/otn-topology";
- description
- "Defines the type of a termination point in the OTN topology and
- TP-specific attributes for each termination point type.";
- leaf tp-type {
- type org-openroadm-network-types:openroadm-tp-type;
- must
- "(../../otn-topo:node-type != 'MUXPDR' and ../../otn-topo:node-type != 'SWITCH') or
- ((../../otn-topo:node-type = 'MUXPDR' or ../../otn-topo:node-type = 'SWITCH') and
- (../otn-topo:tp-type = 'XPONDER-NETWORK' or ../otn-topo:tp-type = 'XPONDER-CLIENT' or ../otn-topo:tp-type = 'XPONDER-PORT'))" {
- error-message "Invalid TP for node type Xponder";
- }
- description
- "The TP type; also defines which TP types can be instantiated
- on which Node types";
- }
- leaf eqpt-srg-id {
- type uint32;
- description
- "Shared Risk Group identifier. All ports in a circuit-pack will have same srg-id";
- }
- container tp-supported-interfaces {
- when "../tp-type = 'XPONDER-NETWORK' or ../tp-type = 'XPONDER-CLIENT' or ../tp-type = 'XPONDER-PORT'";
- description
- "Supported interface capability on the port.";
- uses org-openroadm-network-types:xpdr-tp-supported-interfaces;
- }
- container xpdr-tp-port-connection-attributes {
- when "../tp-type = 'XPONDER-NETWORK' or ../tp-type = 'XPONDER-CLIENT' or ../tp-type = 'XPONDER-PORT'";
- description
- "Topology-related attributes for Xpdr nodes";
- uses xpdr:xpdr-otn-tp-attributes;
- uses xpdr:xpdr-port-connection-attributes;
- uses org-openroadm-network-topology-types:xpdr-otn-tail-attributes;
- }
- }
- augment "/nd:network/nwt:link" {
- when "../nd:network-types/otn-topology";
- description
- "This augmentation defines Logical link types in the OTN topology connecting OTN elements";
- leaf link-type {
- type org-openroadm-network-types:openroadm-link-type;
- must "(../link-type = 'OTN-LINK')" {
- error-message "Invalid link type for otn-topology";
- }
- }
- leaf administrative-group {
- type uint32;
- description
- "according to RFC 3630 definition";
- }
- leaf operational-state {
- type ct:state;
- }
- leaf administrative-state {
- type ct:state;
- }
- leaf available-bandwidth {
- type uint32;
- description
- "Availabled bandwidth between OTN elements";
- }
- leaf used-bandwidth {
- type uint32;
- description
- "Used bandwidth between OTN elements";
- }
- leaf ODU-protected {
- type boolean;
- description
- "ODU protection flag";
- }
- }
-}
+++ /dev/null
-module org-openroadm-roadm {
- namespace "http://org/openroadm/roadm";
- prefix roadm;
-
- organization
- "OPEN ROADM MSA";
- contact
- "OpenROADM.org.";
- description
- "YANG definitions for network view of a ROADM
-
- 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-12-15 {
- description
- "Version 2.2";
- }
- revision 2017-09-29 {
- description
- "Version 2.1";
- }
- revision 2017-06-26 {
- description
- "Version 2.0";
- }
- revision 2016-10-14 {
- description
- "Version 1.2";
- }
-
- grouping roadm-node-attributes {
- leaf max-degrees {
- type uint16;
- description
- "Max no. of degrees supported by the node";
- }
- leaf max-srgs {
- type uint16;
- description
- "Max no. of SRGs supported by the node";
- }
- leaf current-degrees {
- type uint16;
- description
- "Current no. of degrees supported by the node";
- }
- leaf current-srgs {
- type uint16;
- description
- "Current no. of SRGs supported by the node";
- }
- }
-}
+++ /dev/null
-module org-openroadm-srg {
- namespace "http://org/openroadm/srg";
- prefix srg;
-
- import org-openroadm-network-types {
- prefix org-openroadm-network-types;
- revision-date 2017-12-15;
- }
- import org-openroadm-common-types {
- prefix org-openroadm-common-types;
- revision-date 2017-12-15;
- }
-
- organization
- "OPEN ROADM MSA";
- contact
- "OpenROADM.org.";
- description
- "YANG definitions for an Add/Drop group in Network Model
-
- 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-12-15 {
- description
- "Version 2.2";
- }
- revision 2017-09-29 {
- description
- "Version 2.1";
- }
- revision 2017-07-28 {
- description
- "Version 2.0.1 - added revision-date to imports";
- }
- revision 2017-06-26 {
- description
- "Version 2.0";
- }
- revision 2016-10-14 {
- description
- "Version 1.2";
- }
-
- grouping srg-node-attributes {
- leaf srg-number {
- type uint16;
- }
- leaf max-pp {
- type uint32;
- description
- "Maximum number of add/drop port pairs in an SRG";
- }
- leaf current-provisioned-pp {
- type uint32;
- description
- "current provisioned number of port pair in a given SRG";
- }
- list available-wavelengths {
- key "index";
- description
- "This list is created to accommodate fix grid (1.2.1) as well as flex grid (2.0 above). In case of fixed grid
- index number will refer to one of the 96 WL defined in the wavelength map file. In case of flex grid this
- will hold list of available spectrums";
- uses org-openroadm-network-types:wavelengths;
- }
- leaf wavelength-duplication {
- type org-openroadm-common-types:wavelength-duplication-type;
- }
- }
-}
+++ /dev/null
-module org-openroadm-xponder {
- namespace "http://org/openroadm/xponder";
- prefix xpndr;
-
- import org-openroadm-network-types {
- prefix org-openroadm-network-types;
- revision-date 2017-12-15;
- }
- import org-openroadm-common-types {
- prefix org-openroadm-common-types;
- revision-date 2017-12-15;
- }
- import org-openroadm-otn-common-types {
- prefix org-openroadm-otn-common-types;
- revision-date 2017-12-15;
- }
-
- organization
- "OPEN ROADM MSA";
- contact
- "OpenROADM.org.";
- description
- "YANG definitions for xponder
-
- 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-12-15 {
- description
- "Version 2.2";
- }
- revision 2017-09-29 {
- description
- "Version 2.1";
- }
- revision 2017-07-28 {
- description
- "Version 2.0.1 - added revision-date to imports";
- }
- revision 2017-06-26 {
- description
- "Version 2.0";
- }
- revision 2016-10-14 {
- description
- "Version 1.2";
- }
-
- grouping xpdr-node-attributes {
- leaf customer-code {
- type string;
- description
- "Owner of the xponder";
- }
- }
-
- grouping xpdr-topo-node-attributes {
- leaf xpdr-number {
- type uint16;
- }
- }
-
- grouping xpdr-connection-attributes {
- leaf local-lgx {
- type string;
- }
- leaf rate {
- type identityref {
- base org-openroadm-common-types:och-rate-identity;
- }
- description
- "rate";
- }
- leaf modulation-format {
- type org-openroadm-common-types:modulation-format;
- }
- leaf optic {
- type org-openroadm-common-types:optic-types;
- }
- leaf state {
- type org-openroadm-common-types:state;
- description
- "A xponder can be in one of the following
- states";
- }
- }
-
- grouping xpdr-port-connection-attributes {
- container wavelength {
- uses org-openroadm-network-types:wavelengths;
- }
- leaf tail-equipment {
- type string;
- }
- leaf tail-equipment-id {
- type string;
- }
- leaf tail-clfi {
- type string;
- }
- }
-
- grouping xpdr-otn-tp-attributes {
- leaf rate {
- type identityref {
- base org-openroadm-otn-common-types:odu-rate-identity;
- }
- description
- "rate identity of the ODU. 'identityref' is used
- to allow to extend for future higher rates";
- }
- list odtu-tpn-pool {
- key "odtu-type";
- leaf odtu-type {
- type identityref {
- base org-openroadm-otn-common-types:odtu-type-identity;
- }
- description
- "ODTU type, part of the MSI (Multiplex Structure Identifier)";
- }
- leaf-list tpn-pool {
- type uint16;
- description
- "Tributary Port Number (0-based), part of the MSI";
- }
- }
- leaf-list ts-pool {
- type uint16;
- description
- "Timeslots used by port";
- }
- }
-}
import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
import org.opendaylight.transportpce.common.NetworkUtils;
import org.opendaylight.transportpce.common.Timeouts;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.degree.rev171215.degree.node.attributes.AvailableWavelengthsKey;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.degree.rev171215.degree.used.wavelengths.UsedWavelengths;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.degree.rev171215.degree.used.wavelengths.UsedWavelengthsBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.degree.rev171215.degree.used.wavelengths.UsedWavelengthsKey;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev171215.Node1;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev171215.Node1Builder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev171215.TerminationPoint1;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev171215.TerminationPoint1Builder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev171215.network.node.DegreeAttributes;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev171215.network.node.DegreeAttributesBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev171215.network.node.SrgAttributes;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev171215.network.node.SrgAttributesBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev171215.network.node.termination.point.CpAttributes;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev171215.network.node.termination.point.CpAttributesBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev171215.network.node.termination.point.CtpAttributes;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev171215.network.node.termination.point.CtpAttributesBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev171215.network.node.termination.point.PpAttributes;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev171215.network.node.termination.point.PpAttributesBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev171215.network.node.termination.point.RxTtpAttributes;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev171215.network.node.termination.point.RxTtpAttributesBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev171215.network.node.termination.point.TxTtpAttributes;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev171215.network.node.termination.point.TxTtpAttributesBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev171215.network.node.termination.point.XpdrClientAttributes;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev171215.network.node.termination.point.XpdrClientAttributesBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev171215.network.node.termination.point.XpdrNetworkAttributes;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev171215.network.node.termination.point.XpdrNetworkAttributesBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev171215.network.node.termination.point.XpdrPortAttributes;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev171215.network.node.termination.point.XpdrPortAttributesBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev171215.network.node.termination.point.pp.attributes.UsedWavelength;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev171215.network.node.termination.point.pp.attributes.UsedWavelengthBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev171215.network.node.termination.point.pp.attributes.UsedWavelengthKey;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev171215.OpenroadmTpType;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.srg.rev171215.srg.node.attributes.AvailableWavelengthsBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.xponder.rev171215.xpdr.port.connection.attributes.Wavelength;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.xponder.rev171215.xpdr.port.connection.attributes.WavelengthBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.degree.rev170929.degree.node.attributes.AvailableWavelengthsKey;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.degree.rev170929.degree.used.wavelengths.UsedWavelengths;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.degree.rev170929.degree.used.wavelengths.UsedWavelengthsBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.degree.rev170929.degree.used.wavelengths.UsedWavelengthsKey;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev170929.Node1;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev170929.Node1Builder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev170929.TerminationPoint1;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev170929.TerminationPoint1Builder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev170929.network.node.DegreeAttributes;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev170929.network.node.DegreeAttributesBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev170929.network.node.SrgAttributes;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev170929.network.node.SrgAttributesBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev170929.network.node.termination.point.CpAttributes;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev170929.network.node.termination.point.CpAttributesBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev170929.network.node.termination.point.CtpAttributes;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev170929.network.node.termination.point.CtpAttributesBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev170929.network.node.termination.point.PpAttributes;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev170929.network.node.termination.point.PpAttributesBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev170929.network.node.termination.point.RxTtpAttributes;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev170929.network.node.termination.point.RxTtpAttributesBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev170929.network.node.termination.point.TxTtpAttributes;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev170929.network.node.termination.point.TxTtpAttributesBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev170929.network.node.termination.point.XpdrClientAttributes;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev170929.network.node.termination.point.XpdrClientAttributesBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev170929.network.node.termination.point.XpdrNetworkAttributes;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev170929.network.node.termination.point.XpdrNetworkAttributesBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev170929.network.node.termination.point.XpdrPortAttributes;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev170929.network.node.termination.point.XpdrPortAttributesBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev170929.network.node.termination.point.pp.attributes.UsedWavelength;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev170929.network.node.termination.point.pp.attributes.UsedWavelengthBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev170929.network.node.termination.point.pp.attributes.UsedWavelengthKey;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev170929.OpenroadmTpType;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.srg.rev170929.srg.node.attributes.AvailableWavelengthsBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.xponder.rev170929.xpdr.port.connection.attributes.Wavelength;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.xponder.rev170929.xpdr.port.connection.attributes.WavelengthBuilder;
import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev171017.PathDescription;
import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev171017.path.description.atoz.direction.AToZ;
import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev171017.path.description.ztoa.direction.ZToA;
} else {
degreeAttributesBuilder = new DegreeAttributesBuilder(degreeAttributes);
}
- List<org.opendaylight.yang.gen.v1.http.org.openroadm.degree.rev171215.degree.node.attributes
+ List<org.opendaylight.yang.gen.v1.http.org.openroadm.degree.rev170929.degree.node.attributes
.AvailableWavelengths> availableDegreeWLs =
degreeAttributesBuilder.getAvailableWavelengths();
if (availableDegreeWLs == null) {
availableDegreeWLs = new ArrayList<>();
degreeAttributesBuilder.setAvailableWavelengths(availableDegreeWLs);
}
- availableDegreeWLs.add(new org.opendaylight.yang.gen.v1.http.org.openroadm.degree.rev171215.degree
+ availableDegreeWLs.add(new org.opendaylight.yang.gen.v1.http.org.openroadm.degree.rev170929.degree
.node.attributes.AvailableWavelengthsBuilder().setIndex(wavelengthNumber).build());
node1Builder.setDegreeAttributes(degreeAttributesBuilder.build());
break;
} else {
srgAttributesBuilder = new SrgAttributesBuilder(srgAttributes);
}
- List<org.opendaylight.yang.gen.v1.http.org.openroadm.srg.rev171215.srg.node.attributes
+ List<org.opendaylight.yang.gen.v1.http.org.openroadm.srg.rev170929.srg.node.attributes
.AvailableWavelengths> availableSrgWLs = srgAttributesBuilder.getAvailableWavelengths();
if (availableSrgWLs == null) {
availableSrgWLs = new ArrayList<>();
switch (node.getNodeType()) {
case DEGREE:
availableWlIID = nodeIIDBuilder.child(DegreeAttributes.class)
- .child(org.opendaylight.yang.gen.v1.http.org.openroadm.degree.rev171215.degree.node
+ .child(org.opendaylight.yang.gen.v1.http.org.openroadm.degree.rev170929.degree.node
.attributes.AvailableWavelengths.class,
new AvailableWavelengthsKey(wavelengthNumber))
.build();
break;
case SRG:
availableWlIID = nodeIIDBuilder.child(SrgAttributes.class)
- .child(org.opendaylight.yang.gen.v1.http.org.openroadm.srg.rev171215.srg.node.attributes
+ .child(org.opendaylight.yang.gen.v1.http.org.openroadm.srg.rev170929.srg.node.attributes
.AvailableWavelengths.class,
- new org.opendaylight.yang.gen.v1.http.org.openroadm.srg.rev171215.srg.node
+ new org.opendaylight.yang.gen.v1.http.org.openroadm.srg.rev170929.srg.node
.attributes.AvailableWavelengthsKey(wavelengthNumber))
.build();
break;
case SRGRXCP:
case SRGTXRXCP:
usedWlIID = usedWlIIDBuilder.child(CpAttributes.class).child(org.opendaylight.yang.gen.v1.http.org
- .openroadm.network.topology.rev171215.network.node.termination.point.cp.attributes
+ .openroadm.network.topology.rev170929.network.node.termination.point.cp.attributes
.UsedWavelengths.class,
- new org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev171215.network.node
+ new org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev170929.network.node
.termination.point.cp.attributes.UsedWavelengthsKey(
wavelengthIndex)).build();
break;
} else {
cpAttributesBuilder = new CpAttributesBuilder(cpAttributes);
}
- List<org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev171215.network.node
+ List<org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev170929.network.node
.termination.point.cp.attributes.UsedWavelengths> usedDegreeCpWls =
cpAttributesBuilder.getUsedWavelengths();
if (usedDegreeCpWls == null) {
usedDegreeCpWls = new ArrayList<>();
cpAttributesBuilder.setUsedWavelengths(usedDegreeCpWls);
}
- usedDegreeCpWls.add(new org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev171215
+ usedDegreeCpWls.add(new org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev170929
.network.node.termination.point.cp.attributes.UsedWavelengthsBuilder()
.setIndex(wavelengthIndex).build());
tp1Builder.setCpAttributes(cpAttributesBuilder.build());
import org.opendaylight.transportpce.renderer.utils.ServiceDeleteDataUtils;
import org.opendaylight.transportpce.renderer.utils.WaveLengthServiceUtils;
import org.opendaylight.transportpce.test.AbstractTest;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.degree.rev171215.degree.used.wavelengths.UsedWavelengthsBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev171215.Node1;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev171215.Node1Builder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev171215.TerminationPoint1;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev171215.network.node.DegreeAttributes;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev171215.TerminationPoint1Builder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev171215.network.node.DegreeAttributesBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev171215.network.node.SrgAttributesBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev171215.network.node.termination.point.CpAttributesBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev171215.network.node.termination.point.CtpAttributesBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev171215.network.node.termination.point.PpAttributesBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev171215.network.node.termination.point.RxTtpAttributesBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev171215.network.node.termination.point.TxTtpAttributesBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev171215.network.node.termination.point.XpdrClientAttributesBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev171215.network.node.termination.point.XpdrNetworkAttributesBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev171215.network.node.termination.point.XpdrPortAttributesBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev171215.network.node.termination.point.pp.attributes.UsedWavelengthBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev171215.OpenroadmNodeType;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev171215.OpenroadmTpType;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.xponder.rev171215.xpdr.port.connection.attributes.WavelengthBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.degree.rev170929.degree.used.wavelengths.UsedWavelengthsBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev170929.Node1;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev170929.Node1Builder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev170929.TerminationPoint1;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev170929.network.node.DegreeAttributes;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev170929.TerminationPoint1Builder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev170929.network.node.DegreeAttributesBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev170929.network.node.SrgAttributesBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev170929.network.node.termination.point.CpAttributesBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev170929.network.node.termination.point.CtpAttributesBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev170929.network.node.termination.point.PpAttributesBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev170929.network.node.termination.point.RxTtpAttributesBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev170929.network.node.termination.point.TxTtpAttributesBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev170929.network.node.termination.point.XpdrClientAttributesBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev170929.network.node.termination.point.XpdrNetworkAttributesBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev170929.network.node.termination.point.XpdrPortAttributesBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev170929.network.node.termination.point.pp.attributes.UsedWavelengthBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev170929.OpenroadmNodeType;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev170929.OpenroadmTpType;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.xponder.rev170929.xpdr.port.connection.attributes.WavelengthBuilder;
import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev171017.PathDescription;
@RunWith(Parameterized.class)
terminationPoint1Builder.setCtpAttributes((new CtpAttributesBuilder()).setUsedWavelengths(Collections
.singletonList((new UsedWavelengthsBuilder()).setIndex(WAVE_LENGTH).build())).build());
terminationPoint1Builder.setCpAttributes((new CpAttributesBuilder()).setUsedWavelengths(Collections
- .singletonList((new org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev171215.network
+ .singletonList((new org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev170929.network
.node.termination.point.cp.attributes.UsedWavelengthsBuilder())
.setIndex(WAVE_LENGTH).build())).build());
terminationPoint1Builder.setTxTtpAttributes((new TxTtpAttributesBuilder()).setUsedWavelengths(Collections
import org.opendaylight.transportpce.renderer.utils.ServiceDeleteDataUtils;
import org.opendaylight.transportpce.renderer.utils.WaveLengthServiceUtils;
import org.opendaylight.transportpce.test.AbstractTest;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.degree.rev171215.degree.node.attributes.AvailableWavelengthsBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev171215.Node1;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev171215.Node1Builder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev171215.TerminationPoint1;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev171215.TerminationPoint1Builder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev171215.network.node.DegreeAttributesBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev171215.network.node.SrgAttributesBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev171215.network.node.termination.point.CpAttributesBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev171215.network.node.termination.point.CtpAttributesBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev171215.network.node.termination.point.PpAttributesBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev171215.network.node.termination.point.RxTtpAttributesBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev171215.network.node.termination.point.TxTtpAttributesBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev171215.network.node.termination.point.XpdrClientAttributesBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev171215.network.node.termination.point.XpdrNetworkAttributesBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev171215.network.node.termination.point.XpdrPortAttributesBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev171215.OpenroadmNodeType;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev171215.OpenroadmTpType;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.degree.rev170929.degree.node.attributes.AvailableWavelengthsBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev170929.Node1;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev170929.Node1Builder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev170929.TerminationPoint1;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev170929.TerminationPoint1Builder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev170929.network.node.DegreeAttributesBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev170929.network.node.SrgAttributesBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev170929.network.node.termination.point.CpAttributesBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev170929.network.node.termination.point.CtpAttributesBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev170929.network.node.termination.point.PpAttributesBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev170929.network.node.termination.point.RxTtpAttributesBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev170929.network.node.termination.point.TxTtpAttributesBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev170929.network.node.termination.point.XpdrClientAttributesBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev170929.network.node.termination.point.XpdrNetworkAttributesBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev170929.network.node.termination.point.XpdrPortAttributesBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev170929.OpenroadmNodeType;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev170929.OpenroadmTpType;
import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev171016.service.path.PathDescription;
@RunWith(Parameterized.class)
.setAvailableWavelengths(Collections.singletonList(new AvailableWavelengthsBuilder().setIndex(20L).build()))
.build());
node1Builder.setSrgAttributes((new SrgAttributesBuilder()).setAvailableWavelengths(Collections.singletonList(
- new org.opendaylight.yang.gen.v1.http.org.openroadm.srg.rev171215.srg.node.attributes
+ new org.opendaylight.yang.gen.v1.http.org.openroadm.srg.rev170929.srg.node.attributes
.AvailableWavelengthsBuilder().setIndex(20L).build())).build());
for (OpenroadmNodeType nodeType : Arrays
import org.opendaylight.transportpce.common.device.DeviceTransactionManager;
//import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev170929.Node1;
//import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev170929.TerminationPoint1;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev171215.Node1;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev171215.TerminationPoint1;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev171215.TerminationPoint1Builder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev170929.Node1;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev170929.TerminationPoint1;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev170929.TerminationPoint1Builder;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev150608.Network;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev150608.NetworkId;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev150608.NetworkKey;