--- /dev/null
+module org-openroadm-xponder {
+ yang-version 1.1;
+ namespace "http://org/openroadm/xponder";
+ prefix xpdr;
+
+ import org-openroadm-network-types {
+ prefix org-openroadm-network-types;
+ revision-date 2021-12-10;
+ }
+ import org-openroadm-common-equipment-types {
+ prefix org-openroadm-common-equipment-types;
+ revision-date 2019-11-29;
+ }
+ import org-openroadm-common-state-types {
+ prefix org-openroadm-common-state-types;
+ revision-date 2019-11-29;
+ }
+ import org-openroadm-common-optical-channel-types {
+ prefix org-openroadm-common-optical-channel-types;
+ revision-date 2021-12-10;
+ }
+ import org-openroadm-otn-common-types {
+ prefix org-openroadm-otn-common-types;
+ revision-date 2021-09-24;
+ }
+ import org-openroadm-service-format {
+ prefix org-openroadm-service-format;
+ revision-date 2019-11-29;
+ }
+
+ 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,
+ All other rights reserved.
+
+ Redistribution and use in source and binary forms, with or without modification,
+ are permitted provided that the following conditions are met:
+
+ * Redistributions of source code must retain the above copyright notice, this
+ list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimer in the documentation and/or
+ other materials provided with the distribution.
+ * Neither the Members of the Open ROADM MSA Agreement nor the names of its
+ contributors may be used to endorse or promote products derived from this software
+ without specific prior written permission.
+
+ THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT ''AS IS''
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT BE LIABLE FOR ANY DIRECT,
+ INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
+ OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ POSSIBILITY OF SUCH DAMAGE.";
+
+ revision 2021-12-10 {
+ description
+ "Version 10.1";
+ }
+ revision 2021-09-24 {
+ description
+ "Version 10.0";
+ }
+ revision 2021-03-26 {
+ description
+ "Version 9.0";
+ }
+ revision 2020-12-11 {
+ description
+ "Version 8.1";
+ }
+ revision 2020-05-29 {
+ description
+ "Version 7.1.0";
+ }
+ revision 2020-03-27 {
+ description
+ "Version 7.0.0";
+ }
+ revision 2019-11-29 {
+ description
+ "Version 6.1.0";
+ }
+ revision 2019-09-27 {
+ description
+ "Version 6.0.0";
+ }
+ revision 2019-05-31 {
+ description
+ "Version 5.1.0";
+ }
+ revision 2019-03-29 {
+ description
+ "Version 5.0.0";
+ }
+ revision 2018-11-30 {
+ description
+ "Version 4.1.0";
+ }
+ revision 2018-09-28 {
+ description
+ "Version 4.0.0";
+ }
+ revision 2018-05-30 {
+ description
+ "Version 3.1.0";
+ }
+ revision 2018-03-30 {
+ description
+ "Version 3.0.0";
+ }
+ 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-optical-channel-types:optical-rate-identity;
+ }
+ description
+ "rate";
+ }
+ leaf modulation-format {
+ type org-openroadm-common-optical-channel-types:modulation-format;
+ }
+ leaf optic {
+ type org-openroadm-common-equipment-types:optic-types;
+ }
+ leaf state {
+ type org-openroadm-common-state-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:flex-wave;
+ }
+ leaf tail-equipment {
+ type string;
+ description
+ "Type of equipment connected to the tail
+ for example packet box";
+ }
+ leaf tail-equipment-id {
+ type string;
+ description
+ "Identifier of equipment connected to the
+ tail for example client equipement ID";
+ }
+ 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
+ "List of available Tributary Port Number (0-based), part of the MSI";
+ }
+ }
+ leaf-list ts-pool {
+ type uint16;
+ description
+ "List of available Tributary Slots used by port";
+ }
+ leaf-list opucn-ts-pool {
+ type org-openroadm-otn-common-types:opucn-trib-slot-def;
+ description
+ "List of available OPUCn Tributary Slots used by port";
+ }
+ }
+
+ grouping xpdr-mode-attributes {
+ container supported-operational-modes {
+ list operational-mode {
+ key "mode-id";
+ description
+ "list of supported operational modes";
+ leaf mode-id {
+ type string;
+ description
+ "Optical profile operational mode identifier";
+ }
+ leaf spectral-width {
+ type org-openroadm-common-optical-channel-types:frequency-GHz;
+ units "GHz";
+ description
+ "The required minimum signal spectral width of signal at -22 dbm.";
+ }
+ }
+ }
+ leaf operational-mode {
+ type string;
+ config true;
+ description
+ "The provisioned operational-mode of the equipment.";
+ }
+ }
+
+ grouping supported-client-services {
+ container supported-client-services {
+ list supported-client-service {
+ key "service-format";
+ description
+ "Supported Client Services";
+ leaf service-format {
+ type org-openroadm-service-format:service-format;
+ description
+ "Format of the requested service: Ethernet, OTU, etc.";
+ }
+ leaf-list service-rate {
+ type uint32;
+ description
+ "Rate of the requested service in GBps. Not used when service-format=other.";
+ }
+ leaf-list other-service-format-and-rate {
+ type string;
+ description
+ "Used when service-format is set to other in the bookend xponder use case.
+ The use of other-service-format-and-rate is not standardized in the Open ROADM MSA
+ and intended to allow the controller to support non-Open ROADM service formats.
+ This value encodes both the service format and the rate supported.
+ This field should not be specified when service format != other.";
+ }
+ }
+ }
+ uses provisioned-client-service;
+ }
+
+ grouping provisioned-client-service {
+ leaf service-format {
+ type org-openroadm-service-format:service-format;
+ description
+ "Format of the provisioned service: Ethernet, OTU, etc.";
+ }
+ leaf service-rate {
+ type uint32;
+ description
+ "Provisioned rate of the requested service in GBps. Not used when service-format=other.";
+ }
+ leaf other-service-format-and-rate {
+ type string;
+ description
+ "Used when service-format is set to other in the bookend xponder use case.
+ The use of other-service-format-and-rate is not standardized in the Open ROADM MSA
+ and intended to allow the controller to support non-Open ROADM service formats.
+ This value encodes the provisioned service format and the rate supported.
+ This field should not be specified when service format != other.";
+ }
+ }
+}