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 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-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 optical-rate-identity { description "base for otsi and och idenity"; } identity och-rate-identity { base optical-rate-identity; description "A unique och rate identification"; } identity otsi-rate-identity { base optical-rate-identity; description "A unique OTSi rate identification"; } identity foic-identity { description "A unique FOICx.k identification (G.709.3 FlexO-LR and G.709.1 FlexO-SR)"; } 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-otsi { base otsi-rate-identity; description "Applicable instance for otsi rate identity"; } identity R300G-otsi { base otsi-rate-identity; description "Applicable instance for otsi rate identity"; } identity R200G-otsi { base otsi-rate-identity; description "Applicable instance for otsi rate identity"; } identity R200G { base och-rate-identity; description "Identity for 200G Rate"; } identity R100G-otsi { base otsi-rate-identity; description "Applicable instance for otsi rate identity"; } identity R100G { base och-rate-identity; description "Identity for 100G Rate"; } identity R56G-foic-otsi { base otsi-rate-identity; description "Applicable instance for otsi rate identity"; } identity R28G-foic-otsi { base 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"; } }