module org-openroadm-common-optical-channel-types { namespace "http://org/openroadm/common-optical-channel-types"; prefix org-openroadm-common-optical-channel-types; organization "Open ROADM MSA"; contact "OpenROADM.org"; description "YANG definitions of common optical channel types. 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 2019-03-29 { description "Version 5.0.0"; } revision 2018-11-30 { description "Version 4.1.0"; } revision 2018-05-30 { description "Version 3.1.0"; } revision 2018-03-30 { description "Version 3.0.0"; } identity och-rate-identity { description "A unique och rate identification"; } identity otsi-rate-identity { description "A unique OTSi rate identification"; } identity fec-identity { description "A unique FEC identification"; } identity sc-fec { base fec-identity; description "Staircase FEC identification"; } identity rs-fec { base fec-identity; description "Reed Solomon FEC identification"; } identity o-fec { base fec-identity; description "OpenROADM FEC identification"; } identity foic-identity { description "A unique FOICx.k identification (G.709.3 FlexO-LR and G.709.1 FlexO-SR)"; } identity flexo-otsi-rate-identity { description "A unique rate identification. Applicable to specify OTSi rate. Also applicable to FOIC rate when associated with FlexO processing (G.709.3 FlexO-LR Table 11-2, G.709.1 FlexO-SR clause 9.2.2 Table 11-1, 12-1, 13-1) and G.Sup58."; } identity foic1.2 { base foic-identity; description "Applicable to the FlexO type defined in G.Sup58"; } identity foic1.4 { base foic-identity; description "Applicable to the FlexO type defined in G.709.1 and G.709.3"; } identity foic2.4 { base foic-identity; description "Applicable to the FlexO type defined in G.709.1"; } identity foic2.8 { base foic-identity; description "Applicable to the FlexO type defined in G.Sup58"; } identity foic3.6 { base foic-identity; description "Applicable to the FlexO type defined in future"; } identity foic4.8 { base foic-identity; description "Applicable to the FlexO type defined in G.709.1"; } identity foic4.16 { base foic-identity; description "Applicable to the FlexO type defined in G.Sup58"; } identity R400G-flexo-otsi { base flexo-otsi-rate-identity; description "Applicable instance for flexo/otsi rate identity"; } identity R200G-flexo-otsi { base flexo-otsi-rate-identity; description "Applicable instance for flexo/otsi rate identity"; } identity R200G { base och-rate-identity; description "Identity for 200G Rate"; } identity R100G-flexo-otsi { base flexo-otsi-rate-identity; description "Applicable instance for otsi/flexo rate identity"; } identity R100G { base och-rate-identity; description "Identity for 100G Rate"; } identity R56G-foic-otsi { base flexo-otsi-rate-identity; description "Applicable instance for otsi rate identity"; } identity R28G-foic-otsi { base flexo-otsi-rate-identity; description "Applicable instance for otsi rate identity"; } identity R10.7G { base och-rate-identity; description "Identity for 10.7G Rate"; } identity R11.1G { base och-rate-identity; description "Identity for 11.1G Rate"; } typedef frequency-THz { type decimal64 { fraction-digits 8; } units "THz"; description "Frequency value in THz."; } typedef frequency-GHz { type decimal64 { fraction-digits 5; } units "GHz"; description "Frequency value in GHz."; } typedef wavelength-duplication-type { type enumeration { enum "one-per-srg" { value 1; description "The SRG cannot handle wavelength duplication. Attempting to provision a connection on this SRG that uses the same wavelength as an existing service will result in failure."; } enum "one-per-degree" { value 2; description "The SRG can handle wavelength duplication, but only one per degree. Attempting to provision a connection on this SRG that uses the same wavelength as an existing service will succeed, so long as the connections are not using the same degree."; } } description "One per srg is applied to C/D add/drop group one per degree is applied to C/D/C add drop group"; } typedef modulation-format { type enumeration { enum "bpsk" { value 0; description "binary phase-shift keying"; } enum "dc-dp-bpsk" { value 1; description "DC dual-polarization binary phase-shift keying"; } enum "qpsk" { value 2; description "quadrature phase-shift keying"; } enum "dp-qpsk" { value 3; description "dual-polarization binary phase-shift keying"; } enum "qam16" { value 4; description "quadrature amplitude modulation 16"; } enum "dp-qam16" { value 5; description "dual-polarization quadrature amplitude modulation 16"; } enum "dc-dp-qam16" { value 6; description "DC dual-polarization quadrature amplitude modulation 16"; } enum "qam8" { value 7; description "quadrature amplitude modulation 8"; } enum "dp-qam8" { value 8; description "dual-polarization quadrature amplitude modulation 8"; } enum "dc-dp-qam8" { value 9; description "DC dual-polarization quadrature amplitude modulation 8"; } } description "Modulation format"; } typedef provision-mode-type { type enumeration { enum "explicit"; enum "profile"; } description "Provision Mode Type On Optical Channel"; } }