module o-ran-hardware { yang-version 1.1; namespace "urn:o-ran:hardware:1.0"; prefix "o-ran-hw"; import ietf-hardware { prefix hw; } import iana-hardware { prefix ianahw; } organization "O-RAN Alliance"; contact "www.o-ran.org"; description "This module defines the YANG definitions for managng the O-RAN hardware. Copyright 2019 the O-RAN Alliance. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS '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 SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS 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. 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 above disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the above disclaimer in the documentation and/or other materials provided with the distribution. * Neither the Members of the O-RAN Alliance nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission."; revision "2019-07-03" { description "version 1.1.0 1) added new identities to accommodate cross working group use of o-ran-hardware and assoicated set of augmentations that are backwards compatible to version 1.0.0"; reference "ORAN-WG4.M.0-v01.00"; } revision "2019-02-04" { description "version 1.0.0 1) imported model from xRAN 2) changed namespace and reference from xran to o-ran"; reference "ORAN-WG4.M.0-v01.00"; } feature ENERGYSAVING { description "Indicates that the Radio Unit supports energy saving state."; } // identity statements identity O-RAN-RADIO { base ianahw:module; description "Module used as it represents a self-contained sub-system used in /hw:/hardware/hw:component/hw:class to represent an O-RAN RU"; } identity O-RAN-HW-COMPONENT { base ianahw:module; description "Module used as it represents a self-contained sub-system used in /hw:/hardware/hw:component/hw:class to represent any O-RAN hardware component"; } identity O-DU-COMPONENT { base O-RAN-HW-COMPONENT; description "Used in /hw:/hardware/hw:component/hw:class to represent any O-RAN defined O-DU hardware component"; } identity O-RU-COMPONENT { base O-RAN-HW-COMPONENT; description "Used in /hw:/hardware/hw:component/hw:class to represent any O-RAN defined O-RU hardware component, including a stand-alone O-RU or an O-RU component integrated into a multi-module system."; } // typedef statements typedef energysaving-state { type enumeration { enum UNKNOWN { description "The Radio Unit is unable to report energy saving state."; } enum SLEEPING { description "The Radio Unit is in a sleep state. The NETCONF management plane connection is functioning. Other functions and hardware which are not needed for management plane may be in energy saving mode."; } enum AWAKE { description "The Radio Unit is not in an energy saving state."; } } description "new typedef since ietf-hardware only covers pwer-state for redundancy purposes and not power saving operations."; } typedef availability-type { type enumeration { enum UNKNOWN { description "The Radio Unit is unable to report its availability state."; } enum NORMAL { description "The equipment is functioning correctly."; } enum DEGRADED { description "The equipment may be reporting a major alarm or may be reporting a critical alarm that is only impacting one or more subcomponent, but where the equipment's implementation permit it to continue operation (server traffic) in a degraded state. Used for example, when the equipment has M identical sub-components and when a critical alarm is imapcting only N subcomponents, where N