--- /dev/null
+module org-openroadm-xponder {
+ namespace "http://org/openroadm/xponder";
+ prefix xpndr;
+
+ 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-09-29;
+ }
+ import org-openroadm-common-types {
+ prefix org-openroadm-common-types;
+ revision-date 2017-09-29;
+ }
+ import org-openroadm-otn-common-types {
+ prefix org-openroadm-otn-common-types;
+ revision-date 2017-09-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,
+ 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-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-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.";
+ }
+ }
+
+ 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 uint8;
+ description
+ "Tributary Port Number (0-based), part of the MSI";
+ }
+ }
+ leaf-list ts-pool {
+ type uint16;
+ description
+ "Timeslots used by port";
+ }
+ }
+
+}