-module xran-uplane-conf {
- yang-version 1.1;
- namespace "urn:xran:uplane-conf:1.0";
- prefix "xran-uplane-conf";
-
- import xran-processing-element {
- prefix "xran-pe";
- }
-
- import ietf-interfaces {
- prefix "if";
- }
-
- import xran-module-cap {
- prefix "mcap";
- }
-
- organization "xRAN Forum";
-
- contact
- "www.xran.org";
-
- description
- "This module defines the module capabilities for
- the xRAN Radio Unit U-Plane configuration.
-
- Copyright 2018 the xRAN Forum.
-
- 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 xRAN Forum nor the names of its
- contributors may be used to endorse or promote products derived from
- this software without specific prior written permission.";
-
- revision "2018-07-20" {
- description
- "version 1.0.0 - First release of the xRAN YANG M-Plane models.
-
- This version of the model supports v01.00 of the corrsponding xRAN
- M-Plane Specification.";
- reference "XRAN-FH.MP.0-v01.00";
- }
-
- grouping eaxc {
- description
- "One eAxC identifier (eAxC ID) comprises a band and sector
- identifier (BandSector_ID), a component-carrier identifier (CC_ID) and a
- spatial stream identifier (RU_Port_ID).
-
- In this version of the specification, one eAxC contains only one spatial
- stream (i.e. one beam per subcarrier) at a time.
-
- Bit allocation is subdivided as follows:
- * CU_Port_ID: Used to differentiate processing units at lls-CU
- * BandSector_ID: Aggregated cell identifier
- * CC_ID: distinguishes Carrier Components
- * RU_Port_ID: Used to differentiate spatial streams or beams on the RU
-
- The bitwidth of each of the above fields is variable this model is supposed to check
- if we are occpying bits continuously but we do not have to occupy all 16 bits";
-
-
- leaf cu-port-bitmask {
- type uint16;
- mandatory true;
- description
- "mask for eaxc-id bits used to encode CU Port ID";
- }
-
- leaf band-sector-bitmask {
- type uint16;
- mandatory true;
- description
- "mask for eaxc-id bits used to encode the band sector ID";
- }
-
- leaf ccid-bitmask {
- type uint16;
- mandatory true;
- description
- "mask for eaxc-id bits used to encode the component carrier id";
- }
-
- leaf ru-port-bitmask {
- type uint16;
- mandatory true;
- description
- "mask for eaxc-id bits used to encode the RU Port ID";
- }
-
- leaf eaxc-id {
- type uint16;
- mandatory true;
- description
- "encoded value of eaxcid to be read by CU-Plane";
- }
- }
-
- container user-plane-configuration {
- description "top level container for user plane configuration";
-
- container compression {
- description
- "Container which consists of global configurable parameters for compression";
-
- leaf compression-type {
- type enumeration {
- enum STATIC {
- description
- "Indicates that static compression method will be used (both compression and IQ bitwidth)";
- }
-
- enum DYNAMIC {
- description
- "Indicates that dynamic compresion method will be used";
- }
- }
- description
- "Compression type that lls-CU wants to be supported";
- }
-
- leaf bitwidth {
- when "./../compression-type = 'STATIC'";
- type uint8;
- description
- "Bitwidth to be used in compression";
- }
-
- leaf compression-method {
- when "./../compression-type = 'STATIC'";
- type enumeration {
- enum BLOCK_FLOATING_POINT {
- description
- "Block floating point compression and decompression will be used";
- }
-
- enum BLOCK_SCALING {
- description
- "Block scaling compression and decompresion will be used";
- }
-
- enum U_LAW {
- description
- "u-Law compression and decompresion method will be used";
- }
-
- enum BEAMSPACE {
- description
- "Beamspace compression and decompression will be used";
- }
-
- enum MODULATION {
- description
- "Modulation compression and decompression will be used";
- }
- }
- description
- "Compresion method which can be supported by the RU";
- }
- }
-
- list low-level-tx-links {
- key name;
- description
- "Object model for low-level-tx-link configuration";
-
- leaf name {
- type string;
- description
- "Unique name of low-level-tx-link object.";
- }
-
- leaf processing-element {
- type leafref {
- path "/xran-pe:processing-elements/xran-pe:ru-elements/xran-pe:name";
- }
- mandatory true;
- description
- "Contains name of processing-element to be used as transport by low-level-tx-link";
- }
-
- leaf tx-array-carrier {
- type leafref {
- path "/user-plane-configuration/tx-array-carriers/name";
- }
- mandatory true;
- description
- "Contains name of tx-array-carriers MO to be used as transport by low-level-tx-link";
- }
-
- leaf low-level-tx-endpoint {
- type string;
- must "boolean(../../low-level-tx-endpoints[name = current()])" {
- error-message "low-level-tx-endpoint you want to set does not exists in /low-level-tx-endpoints/name";
- }
- mandatory true;
- description
- "Contains name of low-level-tx-endpoints MO to be used as transport by low-level-tx-link";
- }
-
- container remote-address {
- uses eaxc;
-
- must "( cu-port-bitmask + band-sector-bitmask + ccid-bitmask + ru-port-bitmask ) =
- '(0 | 1 | 3 | 7 | 15 | 31 | 63 | 127 | 255 | 511 | 1023 | 2047 | 4095 | 8191 | 16383 | 32767 | 65535)'" {
- error-message "Bitmasks for eaxc-id is badly formatted";
- }
-
- description
- "Contains address of remote TX endpoint served by NETCONF client.";
- }
- }
-
- list low-level-rx-links {
- key name;
- description
- "Object model for low-level-rx-links configuration";
-
- leaf name {
- type string;
-
- description
- "Unique name of low-level-rx-links object.";
- }
-
- leaf processing-element {
- type leafref {
- path "/xran-pe:processing-elements/xran-pe:ru-elements/xran-pe:name";
- }
- mandatory true;
- description
- "Contains name of processing-element to be used as transport by LowLevelTxLink";
- }
-
- leaf rx-array-carrier {
- type leafref {
- path "/user-plane-configuration/rx-array-carriers/name";
- }
- mandatory true;
-
- description
- "Contains name of rx-array-carriers MO to be used as transport by low-level-rx-links";
- }
-
- leaf low-level-rx-endpoint {
- type string;
- must "boolean(../../low-level-rx-endpoints[name = current()])" {
- error-message "low-level-rx-endpoint you want to set does not exists in /low-level-rx-endpoints/name";
- }
- mandatory true;
-
- description
- "Contains name of low-level-rx-endpoints MO to be used as transport by low-level-rx-links";
- }
-
- container remote-address {
- uses eaxc;
-
- must "( cu-port-bitmask + band-sector-bitmask +ccid-bitmask + ru-port-bitmask ) =
- '(0 | 1 | 3 | 7 | 15 | 31 | 63 | 127 | 255 | 511 | 1023 | 2047 | 4095 | 8191 | 16383 | 32767 | 65535)'" {
- error-message "Bitmasks for eaxc-id is badly formatted";
- }
-
- description
- "Contains address of remote RX endpoint served by Netconf client.";
- }
-
- leaf priority {
- type enumeration {
- enum HIGH {
- description
- "Means high priority for link";
- }
- enum LOW {
- description
- "Means low priority for link";
- }
- }
-
- description
- "Parameter to set priority for this link";
- }
- }
-
- list static-low-level-tx-endpoints {
- key name;
- config false;
- description
- "Object model for static-low-level-tx-endpoints configuration";
-
- leaf name {
- type string;
-
- description
- "Unique name of static-low-level-tx-endpoints object.";
- }
-
- leaf interface {
- type string;
- must "boolean(/if:interfaces/if:interface[if:name = current()])" {
- error-message "ethernet-interface you want to set does not exists in /interfaces/interface/name";
- }
-
- description
- "Contains name of ietf:interface to be used as transport by low-level-tx-endpoints";
- }
-
- leaf array {
- type leafref {
- path "/user-plane-configuration/tx-arrays/name";
- }
- description
- "Contains distname of tx-arrays, particular low-level-tx-endpoints is in hardware dependency with.
- Note: single instance of tx-arrays can be referenced by many instances of low-level-tx-endpoints
- (e.g. to allow DU to handle multiple fronthauls and multiple component carriers).";
- }
- }
-
- list static-low-level-rx-endpoints {
- key name;
- config false;
- description
- "Object model for static-low-level-rx-endpoints configuration";
-
- leaf name {
- type string;
-
- description
- "Unique name of static-low-level-rx-endpoints object.";
- }
-
- leaf interface {
- type string;
- must "boolean(/if:interfaces/if:interface[if:name = current()])" {
- error-message "interface you want to set does not exists in /interfaces/interface/name";
- }
-
- description
- "Contains name of ietf:interface to be used as transport by low-level-rx-endpoints";
- }
-
- leaf array {
- type leafref {
- path "/user-plane-configuration/rx-arrays/name";
- }
- description
- "Contains distname of rx-arrays, particular low-level-rx-endpoints is in hardware dependency with.
- Note: single instance of rx-arrays can be referenced by many instances of low-level-rx-endpoints
- (e.g. to allow DU to handle multiple fronthauls and multiple component carriers).";
- }
- }
-
- list low-level-tx-endpoints {
- key name;
- description
- "Object model for low-level-tx-endpoints configuration - augmented static-low-level-tx-endpoints by local-address
- which cannot be added to static low-level-tx-endpoints as we cannot have modificable element in static object";
-
- leaf name {
- type string;
- must "boolean(../../static-low-level-tx-endpoints[name = current()])" {
- error-message "name you want to set does not exist in /static-low-level-tx-endpoints/name";
- }
-
- description
- "Unique name of low-level-tx-endpoint object.";
- }
-
- container local-address {
- uses eaxc;
-
- must "( cu-port-bitmask + band-sector-bitmask + ccid-bitmask + ru-port-bitmask ) =
- '(0 | 1 | 3 | 7 | 15 | 31 | 63 | 127 | 255 | 511 | 1023 | 2047 | 4095 | 8191 | 16383 | 32767 | 65535)'" {
- error-message "Bitmasks for eaxc-id is badly formatted";
- }
- description
- "Contains local address of low level TX endpoint offered by Netconf server.";
- }
- }
-
-
- list low-level-rx-endpoints {
- key name;
- description
- "Object model for low-level-rx-endpoint configuration - augmented static-low-level-rx-endpoints by local-address
- which cannot be added to static low-level-rx-endpoints as we cannot have modificable element in static object";
-
- leaf name {
- type string;
- must "boolean(../../static-low-level-rx-endpoints[name = current()])" {
- error-message "name you want to set does not exist in /static-low-level-rx-endpoints/name";
- }
-
- description
- "Unique name of low-level-rx-endpoint object.";
- }
-
- container local-address {
- uses eaxc;
-
- must "( cu-port-bitmask + band-sector-bitmask + ccid-bitmask + ru-port-bitmask ) =
- '(0 | 1 | 3 | 7 | 15 | 31 | 63 | 127 | 255 | 511 | 1023 | 2047 | 4095 | 8191 | 16383 | 32767 | 65535)'" {
- error-message "Bitmasks for eaxc-id is badly formatted";
- }
-
- description
- "Contains local address of low level RX endpoint offered by Netconf server.";
- }
- }
-
- list tx-array-carriers {
- key name;
- description
- "Object model for tx-array-carriers configuration";
-
- leaf name {
- type string;
-
- description
- "Unique name of tx-array-carriers object.";
- }
-
- leaf absolute-frequency-center {
- type uint32;
- mandatory true;
- description
- "Absolute Radio Frequency Channel Number - indirectly indicates RF center carrier frequency of downlink signal.";
- }
-
- leaf center-of-channel-bandwidth {
- type uint64;
- units Hz;
- mandatory true;
- description
- "Center frequency of channel bandwidth in Hz. Common for all numerologies.";
- }
-
- leaf channel-bandwidth {
- type uint64;
- units Hz;
- mandatory true;
-
- description
- "Width of carrier given in Hertz";
- }
-
-
- leaf power {
- type decimal64 {
- fraction-digits 4;
- }
- mandatory true;
-
- description
- "Transmission power in dBm. Value applicable to each array element carrier belonging to array carrier.";
- }
-
- leaf active {
- type enumeration {
- enum INACTIVE {
- description
- "carrier does not provide signal - transmission is disabled";
- }
- enum SLEEP{
- description
- "carrier is fully configured and was active but is energy saving mode";
- }
- enum ACTIVE{
- description
- "carrier is fully configured and properly providing the signal";
- }
- }
- default INACTIVE;
-
- description
- "Indicates if transmission is enabled for this tx-array-carriers. Note that Netconf server uses state parameter
- to indicate actual state of tx-array-carriers operation. When tx-array-carriers is in sleep status,
- Netconf server rejects all other operation request to tx-array-carriers object except either request to change from sleep
- to active status or delete MO operation (see 4.8) to the object.";
- }
-
- leaf state {
- type enumeration {
- enum DISABLED {
- description
- "tx-array-carrier is not active - transmission of signal is disabled.";
- }
- enum BUSY {
- description
- "tx-array-carrier is processing an operation requested by change of active parameter.
- When tx-array-carriers is BUSY the transmission of signal is not guaranteed.";
- }
- enum READY {
- description
- "tx-array-carrier had completed activation operation - is active and transmission of signal is ongoing.";
- }
- }
- config false;
-
- description
- "Indicates state of tx-array-carriers activation operation";
- }
-
- leaf type {
- type enumeration {
- enum NR {
- description
- "5G technology";
- }
- }
- config false;
-
- description
- "Type of carrier. Indicates array-carrier technology.";
- }
-
- leaf fft-size {
- type uint32;
-
- description
- "The FFT size defines the number of bins used for dividing the window into equal strips, or bins.
- Hence, a bin is a spectrum sample, and defines the frequency resolution of the window.";
- }
-
- leaf downlink-radio-frame-offset {
- type uint32 {
- range 0..12288000;
- }
- mandatory true;
-
- description
- "This parameter is used for offsetting the starting position of 10ms radio frame.
- Note: The value should have same value within DU to all tx-array-carrierss that have same frequency and bandwidth.
- Note2: Unit is 1/1.2288e9 Hz and accuracy is 1/4 Tc. Then, its range is calculated 0..12288000.";
- }
-
- leaf downlink-sfn-offset {
- type int16 {
- range -32768..32767;
- }
- mandatory true;
-
- description
- "This parameter is used for offsetting SFN value.
- Unit is in 10ms.
- Note: The value should have same value within DU to all tx-array-carrierss that have same frequency and bandwidth.";
- }
-
- leaf default-scs {
- type enumeration {
- enum KHZ_15 {
- value 0;
- description
- "15kHz sub carrier spacing";
- }
- enum KHZ_30 {
- value 1;
- description
- "30kHz sub carrier spacing";
- }
- enum KHZ_60 {
- value 2;
- description
- "60kHz sub carrier spacing";
- }
- enum KHZ_120 {
- value 3;
- description
- "120kHz sub carrier spacing";
- }
- enum KHZ_240 {
- value 4;
- description
- "240kHz sub carrier spacing";
- }
- enum KHZ_1_25 {
- value 12;
- description
- "1,25kHz sub carrier spacing";
- }
- enum KHZ_5 {
- value 14;
- description
- "5kHz sub carrier spacing";
- }
- }
-
- mandatory true;
-
- description
- "Sub-carrier spacing configuration";
- }
-
- list scs-specific-config {
- key scs;
- description
- "List of scs-specific configurations";
- uses scs-config;
- }
- leaf cp-length {
- type uint32;
- description
- "CP length woud be determined by deployment types that has different
- delay spread requirements, and/or determined by frequency bands, service type
- or determined by whether beam forming technology is used or not";
- }
- }
-
- list rx-array-carriers {
- key name;
- description
- "Object model for rx-array-carriers configuration";
-
- leaf name {
- type string;
- description
- "Unique name of rx-array-carriers object.";
- }
-
-
- leaf absolute-frequency-center {
- type uint32;
- mandatory true;
- description
- "Absolute Radio Frequency Channel Number - indirectly indicates RF center carrier frequency of downlink signal.";
- }
- leaf center-of-channel-bandwidth {
- type uint64;
- units Hz;
- mandatory true;
- description
- "Center frequency of channel bandwidth. Common for all numerologies.";
- }
- leaf channel-bandwidth {
- type uint64;
- units Hz;
- mandatory true;
- description
- "Width of carrier given in Hertz";
- }
-
-
- leaf active {
- type enumeration {
- enum INACTIVE {
- description
- "carrier does not provide signal - transmission is disabled";
- }
- enum SLEEP{
- description
- "carrier is fully configured and was active but is energy saving mode";
- }
- enum ACTIVE{
- description
- "carrier is fully configured and properly providing the signal";
- }
- }
- default INACTIVE;
- description
- "Indicates if transmission is enabled for this rx-array-carriers. Note that Netconf server uses state parameter
- to indicate actual state of rx-array-carriers operation. When rx-array-carriers is in sleep status,
- Netconf server rejects all other operation request to rx-array-carriers object except either request to change from sleep
- to active status or delete MO operation (see 4.8) to the object.";
- }
-
- leaf state {
- type enumeration {
- enum DISABLED {
- description
- "rx-array-carrier is not active - transmission of signal is disabled.";
- }
- enum BUSY {
- description
- "rx-array-carrier is processing an operation requested by change of active parameter.
- When tx-array-carriers is BUSY the transmission of signal is not guaranteed.";
- }
- enum READY {
- description
- "rx-array-carrier had completed activation operation - is active and transmission of signal is ongoing.";
- }
- }
- config false;
-
- description
- "Indicates state of rx-array-carriers activation operation";
- }
-
- leaf type {
- type enumeration {
- enum NR {
- description
- "5G technology";
- }
- }
- config false;
-
- description
- "Type of carrier. Indicates array-carrier technology.";
- }
-
- leaf fft-size {
- type uint32;
- description
- "FFT size";
- }
-
- leaf ul-fft-sampling-offset {
- type uint32;
- description
- "uplink FFT sampling offset";
- }
-
- leaf n-ta-offset {
- type uint32;
- description
- "Value of configurable N-TA offset";
- }
- leaf default-scs {
- type enumeration {
- enum KHZ_15 {
- value 0;
- description
- "15kHz sub carrier spacing";
- }
- enum KHZ_30 {
- value 1;
- description
- "30kHz sub carrier spacing";
- }
- enum KHZ_60 {
- value 2;
- description
- "60kHz sub carrier spacing";
- }
- enum KHZ_120 {
- value 3;
- description
- "120kHz sub carrier spacing";
- }
- enum KHZ_240 {
- value 4;
- description
- "240kHz sub carrier spacing";
- }
- enum KHZ_1_25 {
- value 12;
- description
- "1,25kHz sub carrier spacing";
- }
- enum KHZ_5 {
- value 14;
- description
- "5kHz sub carrier spacing";
- }
- }
- mandatory true;
-
- description
- "Sub-carrier spacing configuration";
- }
-
- list scs-specific-config {
- key scs;
- description
- "List of static scs-specific configurations";
- uses scs-config;
- }
-
-
- leaf cp-length {
- type uint32;
- description
- "CP length woud be determined by deployment types that has different
- delay spread requirements, and/or determined by frequency bands, service type
- or determined by whether beam forming technology is used or not";
- }
-
- }
-
- list tx-arrays {
- key name;
- config false;
- description
- "Object model for tx-arrays configuration";
-
- leaf name {
- type string;
- description
- "Unique name of tx-arrays object.";
- }
-
- leaf polarisation {
- type int8 {
- range "-45 | 0 | 45 | 90";
- }
- description
- "This parameter informing which polarization is served by particular antenna array
- as per HW design. Expected values are +45 deg, -45 deg, 0 deg and 90 deg.
- Note: In case of multi-band RU orthogonality is assumed to exist per band, meaning:
- either pair of +45 deg and -45 deg or pair of 0 deg and 90 deg are expected per band.
- Non-orthogonal pairs like e.g 0 deg and +45 deg are not expected.";
- }
-
- leaf panel-id {
- type uint8;
- description
- "This parameter informing panel particular antenna array is built into.
- Intended use is to indicate if two orthogonal arrays occupy the same physical panel (e.g. as cross-polarized
- radiators) or if arrays of different polarizations are built into physically separated panels.";
- }
-
- leaf band-number {
- type leafref {
- path "/mcap:module-capability/mcap:band-capabilities/mcap:band-number";
- }
- description
- "This parameter informing which frequency band particular antenna
- array is serving for.
- Intended use is to deal with multiband solutions.";
- }
- }
-
- list rx-arrays {
- key name;
- config false;
- description
- "Object model for rx-arrays configuration";
-
- leaf name {
- type string;
- description
- "Unique name of rx-arrays object.";
- }
-
- leaf polarisation {
- type int8 {
- range "-45 | 0 | 45 | 90";
- }
- description
- "This parameter informing which polarization is served by particular antenna array
- as per HW design. Expected values are +45 deg, -45 deg, 0 deg and 90 deg.
- Note: In case of multi-band RU orthogonality is assumed to exist per band, meaning:
- either pair of +45 deg and -45 deg or pair of 0 deg and 90 deg are expected per band.
- Non-orthogonal pairs like e.g 0 deg and +45 deg are not expected.";
- }
-
- leaf panel-id {
- type uint8;
- description
- "This parameter informing panel particular antenna array is built
- into.
- Intended use is to indicate if two orthogonal arrays occupy the same
- physical panel (e.g. as cross-polarized radiators) or if arrays of
- different polarizations are built into physically separated panels.";
- }
-
- leaf band-number {
- type leafref {
- path "/mcap:module-capability/mcap:band-capabilities/mcap:band-number";
- }
- description
- "This parameter informing which frequency band particular antenna
- array is serving for.
- Intended use is to deal with multiband solutions.";
- }
- }
- }
-
- grouping scs-config {
- description
- "It groups all parameters related to SCS configuration";
-
- leaf scs {
- type enumeration {
- enum KHZ_15 {
- value 0;
- description
- "15kHz sub carrier spacing";
- }
- enum KHZ_30 {
- value 1;
- description
- "30kHz sub carrier spacing";
- }
- enum KHZ_60 {
- value 2;
- description
- "60kHz sub carrier spacing";
- }
- enum KHZ_120 {
- value 3;
- description
- "120kHz sub carrier spacing";
- }
- enum KHZ_240 {
- value 4;
- description
- "240kHz sub carrier spacing";
- }
- enum KHZ_1_25 {
- value 12;
- description
- "1,25kHz sub carrier spacing";
- }
- enum KHZ_5 {
- value 14;
- description
- "5kHz sub carrier spacing";
- }
- }
- description
- "Sub-carrier spacing configuration";
- }
- leaf offset-to-absolute-frequency-center {
- type int32;
- mandatory true;
- description
- "Offset to center-of-carrier-bandwidth. Mostly negative value. Granularity of this parameter is 0.5 SCS";
- }
-
- leaf number-of-prbs {
- type uint32;
- mandatory true;
- description
- "Number of physical resource blocks.";
- }
- }
-
-
-}