+++ /dev/null
-module o-ran-uplane-conf {
- yang-version 1.1;
- namespace "urn:o-ran:uplane-conf:1.0";
- prefix "o-ran-uplane-conf";
-
- import o-ran-processing-element {
- prefix "o-ran-pe";
- }
-
- import ietf-interfaces {
- prefix "if";
- }
-
- import o-ran-module-cap {
- prefix "mcap";
- revision-date 2019-07-03;
- // need to align/update with final date of publication
- }
-
- import o-ran-compression-factors {
- prefix "cf";
- }
-
- organization "O-RAN Alliance";
-
- contact
- "www.o-ran.org";
-
- description
- "This module defines the module capabilities for
- the O-RAN Radio Unit U-Plane configuration.
-
- 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 leaf multiple-numerology-supported to enable O-RU to report
- whether it supports multiple numerologies.
-
- 2) fixing broken constraints (configuration cannot be dependent on
- operational state). This is a backwards incompatible revision.
-
- As these constraints only apply when the LAA feature is used, and also
- when considering the limited number of implementation that need to be
- taken into consideration for backwards compatibility, it has been
- agreed to NOT increment the namespace integer.
-
- 3) added frequency related capabilities for tx-arrays and rx-array
-
- 4) removed redundant LAA import";
-
- 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";
- }
-
- typedef polarisation_type {
- type enumeration {
- enum MINUS_45 {
- description "MINUS_45";
- }
- enum ZERO {
- description "ZERO";
- }
- enum PLUS_45 {
- description "PLUS_45";
- }
- enum PLUS_90 {
- description "PLUS_90";
- }
- }
- description "Type definition for polarisations";
- }
-
- grouping laa-carrier-config {
- description "Carrier Configuration for support of LAA. ";
- leaf ed-threshold-pdsch {
- type int8;
- units dBm;
- description
- "This value indicates Energy Detection(ED) threshold for LBT for PDSCH and for measurements in dBm.";
- }
-
- leaf ed-threshold-drs {
- type int8;
- units dBm;
- description
- "This value indicates Energy Detection(ED) threshold for LBT for DRS in dBm.";
- }
-
- leaf tx-antenna-ports {
- type uint8;
- description
- "This value indicates Tx antenna ports for DRS (1, 2, 4)";
- }
-
- leaf transmission-power-for-drs {
- type int8;
- units decibels;
- description
- "This value indicates offset of Cell specific reference Signal(CRS) power to reference signal power (dB).
- DRS signal consists of CRS, PSS, SSS, and optionally CSI-RS.";
- }
-
- leaf dmtc-period {
- type enumeration {
- enum FORTY {
- description
- "40 ms";
- }
- enum EIGHTY {
- description
- "80 ms";
- }
- enum ONE-HUNDRED-SIXTY {
- description
- "160 ms";
- }
- }
- units milliseconds;
- description
- "This value indicates DRS measurement timing configuration (DMTC) period in ms";
- }
-
- leaf dmtc-offset {
- type uint8;
- units subframes;
- description
- "This value indicates dmtc offset in Subframes.";
- }
-
- leaf lbt-timer {
- type uint16;
- units milliseconds;
- description
- "This value indicates LBT Timer in milliseconds.";
- }
-
- list max-cw-usage-counter {
- when "/mcap:module-capability/mcap:rw-sub-band-info/mcap:rw-self-configure = 'true'";
- key "priority";
- description "";
- leaf priority {
- type enumeration {
- enum P1 {
- description "priority 1";
- }
- enum P2 {
- description "priority 2";
- }
- enum P3 {
- description "priority 3";
- }
- enum P4 {
- description "priority 4";
- }
- }
- description "This value provides the priority class traffic for which the counter is calculated.";
- }
-
- leaf counter-value {
- type uint8 {
- range "1..8";
- }
- description "This value indicates the maximum value of counter
- which shows how many max congestion window value is used for backoff
- number of priority class traffic. This value is defined at 3GPP 36.213
- section 15.1.3 as K.";
- }
- }
- }
-
- 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:
- * O_DU_Port_ID: Used to differentiate processing units at O-DU
- * BandSector_ID: Aggregated cell identifier
- * CC_ID: distinguishes Carrier Components
- * RU_Port_ID: Used to differentiate spatial streams or beams on the O-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 o-du-port-bitmask {
- type uint16;
- mandatory true;
- description
- "mask for eaxc-id bits used to encode O-DU 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 O-RU Port ID";
- }
-
- leaf eaxc-id {
- type uint16;
- mandatory true;
- description
- "encoded value of eaxcid to be read by CU-Plane";
- }
- }
-
- grouping parameters {
- description
- "Grouping of all parameters common between UL and DL";
-
- leaf name {
- type string;
- mandatory true;
- description "Unique name of array antenna";
- }
-
- leaf number-of-rows {
- type uint16;
- mandatory true;
- description "Number of rows array elements are shaped into - M";
- }
-
- leaf number-of-columns {
- type uint16;
- mandatory true;
- description "Number of columns array elements are shaped into - N";
- }
-
- leaf number-of-array-layers {
- type uint8;
- mandatory true;
- description "Number of array layers array elements are shaped into - Q";
- }
-
- leaf horizontal-spacing {
- type decimal64 {
- fraction-digits 5;
- }
- units Meter;
-
- description "Average distance between centers of nearby AE in horizontal direction (in array coordinates system)";
- }
-
- leaf vertical-spacing{
- type decimal64 {
- fraction-digits 5;
- }
- units Meter;
-
- description "Average distance between centers of nearby AE in vertical direction (in array coordinates system)";
- }
-
- container normal-vector-direction {
- description
- "Counter-clockwise rotation around z and y axis.";
-
- leaf azimuth-angle{
- type decimal64 {
- fraction-digits 4;
- }
- units Degrees;
-
- description "Azimuth angle, counter-clockwise rotation around z-axis. Value 'zero' points to broad-side, value '90' points to y-axis";
- }
- leaf zenith-angle{
- type decimal64 {
- fraction-digits 4;
- }
- units Degrees;
-
- description "Zenith angle, counter-clockwise rotation around y-axis. Value 'zero' points to zenith, value '90' points to horizon";
- }
- }
-
- container leftmost-bottom-array-element-position {
- description "Structure describing position of leftmost, bottom array element.";
- leaf x {
- type decimal64 {
- fraction-digits 4;
- }
- units Meter;
-
- description "X dimension of position of leftmost, bottom array element";
- }
-
- leaf y {
- type decimal64 {
- fraction-digits 4;
- }
- units Meter;
-
- description "Y dimension of position of leftmost, bottom array element";
- }
-
- leaf z {
- type decimal64 {
- fraction-digits 4;
- }
- units Meter;
-
- description "Z dimension of position of leftmost, bottom array element";
- }
- }
- list polarisations {
- key "p";
- min-elements 1;
- max-elements 2;
-
- description
- "List of supported polarisations.";
-
- leaf p {
- type uint8;
- mandatory true;
- description
- "Polarisation index. See CUS-plane";
- }
-
- leaf polarisation {
- type polarisation_type;
- mandatory true;
- description "Type of polarisation supported by array.";
- }
- }
- leaf band-number {
- type leafref {
- path "/mcap:module-capability/mcap:band-capabilities/mcap:band-number";
- }
- mandatory true;
- description
- "This parameter informing which frequency band particular antenna
- array is serving for.
- Intended use is to deal with multiband solutions.";
- }
- }
-
- grouping array-choice {
- choice antenna-type {
- case tx {
- leaf tx-array-name {
- type leafref {
- path "/o-ran-uplane-conf:user-plane-configuration/o-ran-uplane-conf:tx-arrays/o-ran-uplane-conf:name";
- }
-
- description
- "Leafref to tx array if such is choosen";
- }
- }
- case rx {
- leaf rx-array-name {
- type leafref {
- path "/o-ran-uplane-conf:user-plane-configuration/o-ran-uplane-conf:rx-arrays/o-ran-uplane-conf:name";
- }
-
- description
- "Leafref to rx array if such is choosen";
- }
- }
- description
- "Choice for antenna type";
- }
- description
- "Elements which groups choice for antenna type";
- }
-
- grouping scs-config {
- description
- "It groups all parameters related to SCS configuration";
-
- leaf frame-structure {
- type uint8;
-
- description
- "This parameter defines the frame structure. The first 4 bits define the FFT/iFFT size
- being used for all IQ data processing related to this message.
- The second 4 bits define the sub carrier spacing as well as the number of slots per 1ms sub-frame
- according to 3GPP TS 38.211, taking for completeness also 3GPP TS 36.211 into account";
- }
-
- leaf cp-type {
- type enumeration {
- enum NORMAL {
- description
- "Normal cyclic prefix";
- }
-
- enum EXTENDED {
- description
- "Extended cyclic prefix";
- }
- }
-
- description
- "Provides type of CP (cyclic prefix) if section type 3 is not used or type of CP cannot be determined from cpLength.";
- }
-
- leaf cp-length {
- type uint16;
- units Ts;
- mandatory true;
- description
- "Used for symbol 0 for NR & LTE, and symbol 7*2u for NR.
- See CUS-plane";
- }
-
- leaf cp-length-other {
- type uint16;
- units Ts;
- mandatory true;
- description
- "Used for other symbols than by cp-length above";
- }
-
- leaf offset-to-absolute-frequency-center {
- type int32;
- mandatory true;
- description
- "This provides value of freqOffset to be used if section type 3 is not used. See freqOffset in CUS-plane.";
- }
-
- list number-of-prb-per-scs {
- key scs;
- description
- "List of configured for each SCS that will be used.";
-
- leaf scs {
- type mcap:scs-config-type;
- description
- "Value corresponds to SCS values defined for frameStructure in C-plane.
- Note: set of allowed values is restricted by SCS derived from values in supported-frame-structures.";
- }
-
- leaf number-of-prb {
- type uint16;
- mandatory true;
- description
- "Determines max number of PRBs that will be used in all sections per one symbol.
- This is affecting allocation of resources to endpoint. Value shall not exceed constrains
- defined by max-prb-per-symbol of endpoint type. In addition sum (over all used epoints
- within a group of endpoints sharing resources) of number-of-prb rounded up to
- nearest value from prb-capacity-allocation-granularity shall not exceed max-prb-per-symbol of the group.";
- }
- }
- }
-
- grouping tx-common-array-carrier-elements {
- description
- "This grouping containes all common parameters for tx-array-carriers and rx-array-carriers";
-
- leaf absolute-frequency-center {
- type uint32;
- mandatory true;
- description
- "Absolute Radio Frequency Channel Number - indirectly indicates RF center carrier frequency of signal.
- Reflected in arfcn.";
- }
-
- 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 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 array carriers. Note that Netconf server uses state parameter
- to indicate actual state of array carriers operation. When 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
- "array carrier is not active - transmission of signal is disabled.";
- }
- enum BUSY {
- description
- "array carrier is processing an operation requested by change of active parameter.
- When array carriers is BUSY the transmission of signal is not guaranteed.";
- }
- enum READY {
- description
- "array carrier had completed activation operation - is active and transmission of signal is ongoing.";
- }
- }
- config false;
- mandatory true;
- description
- "Indicates state of array carriers activation operation";
- }
-
- leaf type {
- type enumeration {
- enum NR {
- description
- "5G technology";
- }
- enum LTE {
- description
- "LTE technology";
- }
- }
- config false;
- mandatory true;
- description
- "Type of carrier. Indicates array-carrier technology.";
- }
- leaf duplex-scheme {
- type enumeration {
- enum TDD {
- description
- "TDD scheme";
- }
- enum FDD {
- description
- "FDD scheme";
- }
- }
- config false;
-
- description
- "Type of duplex scheme O-RU supports.";
- }
- leaf rw-duplex-scheme {
- type leafref {
- path "/user-plane-configuration/tx-array-carriers[name=current()/../name]" + "/duplex-scheme";
- require-instance false;
- }
- description
- "Config true type of duplex scheme.";
- }
- leaf rw-type {
- type leafref {
- path "/user-plane-configuration/tx-array-carriers[name=current()/../name]" + "/type";
- require-instance false;
- }
- description
- "Config true type of carrier.";
- }
- }
-
- grouping rx-common-array-carrier-elements {
- description
- "This grouping containes all common parameters for tx-array-carriers and rx-array-carriers";
-
- leaf absolute-frequency-center {
- type uint32;
- mandatory true;
- description
- "Absolute Radio Frequency Channel Number - indirectly indicates RF center carrier frequency of signal.
- Reflected in arfcn.";
- }
-
- 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 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 array carriers. Note that Netconf server uses state parameter
- to indicate actual state of array carriers operation. When 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
- "array carrier is not active - transmission of signal is disabled.";
- }
- enum BUSY {
- description
- "array carrier is processing an operation requested by change of active parameter.
- When array carriers is BUSY the transmission of signal is not guaranteed.";
- }
- enum READY {
- description
- "array carrier had completed activation operation - is active and transmission of signal is ongoing.";
- }
- }
- config false;
- mandatory true;
- description
- "Indicates state of array carriers activation operation";
- }
-
- leaf type {
- type enumeration {
- enum NR {
- description
- "5G technology";
- }
- enum LTE {
- description
- "LTE technology";
- }
- }
- config false;
- mandatory true;
- description
- "Type of carrier. Indicates array-carrier technology.";
- }
- leaf duplex-scheme {
- type enumeration {
- enum TDD {
- description
- "TDD scheme";
- }
- enum FDD {
- description
- "FDD scheme";
- }
- }
- config false;
-
- description
- "Type of duplex scheme O-RU supports.";
- }
- }
-
- grouping endpoint-section-capacity {
- leaf max-control-sections-per-data-section {
- type uint8 {
- range "1..12";
- }
- description
- "Max number of C-plane sections (C-plane section is part of C-plane message that carries 'section fields')
- referring to same U-plane section (U-plane section is part of U-plane message that carries
- 'section header fields' and 'PRB fields') that is supported by endpoint.
- Note that additional limitations specific for each section type apply on top of this number.";
- }
- leaf max-sections-per-symbol {
- type uint16;
- description
- "Max number of sections within one symbol that can be processed by endpoint
- or processed collectively by group of endpoints sharing capacity";
- }
- leaf max-sections-per-slot {
- type uint16;
- description
- "Max number of sections within one slot that can be processed by endpoint
- or processed collectively by group of endpoints sharing capacity.";
- }
-
- description
- "Parameters describing section capacity where section is undestood as number of different sectionId values";
- }
-
- grouping endpoint-beam-capacity {
- leaf max-beams-per-symbol {
- type uint16;
- description
- "Max number of beams within one symbol that can be processed by endpoint
- or processed collectively by group of endpoints sharing capacity";
- }
- leaf max-beams-per-slot {
- type uint16;
- description
- "Max number of beams within one slot that can be processed by endpoint
- or processed collectively by group of endpoints sharing capacity";
- }
-
- description
- "Parameters describing beam capacity where number of beams is understood as number of different beamId values";
- }
-
- grouping endpoint-prb-capacity {
- leaf max-prb-per-symbol {
- type uint16;
- description
- "Max number of prbs within one symbol that can be processed by endpoint
- or processed collectively by group of endpoints sharing capacity";
- }
-
- description
- "Attributes presenting processing capacity related to PRB.";
- }
-
- grouping endpoint-numerology-capacity {
- leaf max-numerologies-per-symbol {
- type uint16;
- description
- "Max number of numerologies within one symbol that can be processed by endpoint
- or processed collectively by group of endpoints sharing capacity";
- }
-
- description
- "Attributes presenting processing capacity related to numerology.
-
- This leaf contains valid data only when multiple-numerology-supported
- is set to true.";
- }
-
- grouping uplane-conf-group {
- description
- "Grouping for uplane configuration related parameters";
-
- 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 "/o-ran-pe:processing-elements/o-ran-pe:ru-elements/o-ran-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 leafref {
- path "/user-plane-configuration/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";
- }
- }
-
- 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 "/o-ran-pe:processing-elements/o-ran-pe:ru-elements/o-ran-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 leafref {
- path "/user-plane-configuration/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";
- }
-
- leaf user-plane-uplink-marking {
- type leafref {
- path "/o-ran-pe:processing-elements/o-ran-pe:enhanced-uplane-mapping/o-ran-pe:uplane-mapping/o-ran-pe:up-marking-name";
- }
- description
- "Parameter to set the non-default marking for user-plane";
- }
- }
-
- list endpoint-types {
- key "id";
- config false;
- description
- "Properties of endpoint that are common to multiple endpoints if such are identified";
-
- leaf id {
- type uint16;
- description
- "Identifies type of endpoints sharing same properties. Values shall start with 0 and shall be allocated without gaps.";
- }
-
- list supported-section-types {
- key "section-type";
- description
- "Indicates section types and extensions endpoints of this type support";
-
- leaf section-type {
- type uint8;
-
- description
- "This parameter determines the characteristics of U-plane data to be transferred or received from a beam with one pattern id.";
- }
-
- leaf-list supported-section-extensions {
- type uint8;
-
- description
- "This parameter provides the extension types supported by the O-RU
- which provides additional parameters specific to the subject data extension";
- }
- }
-
- leaf-list supported-frame-structures {
- type uint8;
-
- description
- "List of supported values of frame structure";
- }
-
- leaf managed-delay-support {
- type enumeration {
- enum MANAGED {
- description
- "Time managed delays are supported";
- }
-
- enum NON_MANAGED {
- description
- "Non time managed delays are not supported";
- }
-
- enum BOTH {
- description
- "Both time managed and non time managed delays are supported";
- }
- }
-
- description
- "Type of delay supported by the endpoint";
- }
-
- leaf multiple-numerology-supported {
- type boolean;
- default true;
- description
- "Indicates whether the endpoint type supports multiple numerologies";
- }
-
- leaf max-numerology-change-duration {
- type uint16 {
- range "0..10000";
- }
-
- units Ts;
- description
- "Maximum gap of endpoint operation that will be caused by changing of
- numerology.
-
- This time is required for reconfiguration and flushing of pipes.
-
- This leaf contains valid data only when multiple-numerology-supported
- is set to true.";
- }
-
- uses endpoint-section-capacity;
- uses endpoint-beam-capacity;
- uses endpoint-prb-capacity;
-
- leaf-list prb-capacity-allocation-granularity {
- type uint16;
-
- description
- "List of capacity allocation steps. O-RU allocates PRB capacity rounding it up to nearest value N
- from prb-capacity-allocation-granularity such that M >= number-of-prb-per-scs.
- See also number-of-prb-per-scs/number-of-prb.";
- }
-
- uses endpoint-numerology-capacity;
- }
-
- list endpoint-capacity-sharing-groups {
- key "id";
- config false;
- description
- "Represents groups of endpoints that share capacity. Depending on O-RU implementation,
- processing resources that handle CU-plane (e.g. memory to keep sections and beams)
- could be allocated per endpoint or shared between several endpoints.
- To address this O-RU shall reports own capability per endpoint (see endpoint-types)
- and per group of endpoints sharing capacity.
- If endpoint is in multiple groups then resulting constraint is minimum over all groups.
- Note: values of parameters representing capacity that is not shared between endpoints in a group shall be set to max value of specific parameter; this effectively removes related constraint.
-";
-
- leaf id {
- type uint16;
- description
- "Identifies group of endpoints sharing resources.
- Values shall start with 0 and shall be allocated without gaps.";
- }
- uses endpoint-section-capacity;
- uses endpoint-beam-capacity;
- uses endpoint-prb-capacity;
- uses endpoint-numerology-capacity;
-
- leaf max-endpoints {
- type uint16;
- description
- "Indicates how many endpoints in the group can be used4 simultaneously";
- }
- leaf max-managed-delay-endpoints {
- type uint16;
- description
- "Number of endpoints supporting managed delay that can be used (configured for use) at a time";
- }
- leaf max-non-managed-delay-endpoints {
- type uint16;
- description
- "Number of endpoints supporting non-managed delay that can be used (configured for use) at a time";
- }
- }
-
- 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-list restricted-interfaces {
- type leafref {
- path "/if:interfaces/if:interface/if:name";
- }
- description
- "Optionally used to indicate that a low-level link is constrained to operate only via a subset of the available interfaces.";
- }
-
- leaf array {
- type leafref {
- path "/user-plane-configuration/tx-arrays/name";
- }
- mandatory true;
- 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).";
- }
-
- leaf endpoint-type {
- type leafref {
- path "../../endpoint-types/id";
- }
-
- description
- "Reference to endpoint type capabilities list element supported by this endpoint";
- }
-
- leaf-list capacity-sharing-groups {
- type leafref {
- path "../../endpoint-capacity-sharing-groups/id";
- }
-
- description
- "Reference to capacities of sharing-groups supported by this endpoint";
- }
- }
-
- 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-list restricted-interfaces {
- type leafref {
- path "/if:interfaces/if:interface/if:name";
- }
- description
- "Optionally used to indicate that a low-level link is constrained to operate only via a subset of the available interfaces.";
- }
-
- leaf array {
- type leafref {
- path "/user-plane-configuration/rx-arrays/name";
- }
- mandatory true;
- 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).";
- }
-
- leaf endpoint-type {
- type leafref {
- path "../../endpoint-types/id";
- }
-
- description
- "Reference to endpoint type capabilities list element supported by this endpoint";
- }
-
- leaf-list capacity-sharing-groups {
- type leafref {
- path "../../endpoint-capacity-sharing-groups/id";
- }
-
- description
- "Reference to capacities of sharing-groups supported by this endpoint";
- }
- }
-
- 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 leafref {
- path "/user-plane-configuration/static-low-level-tx-endpoints/name";
- require-instance false;
- }
- mandatory true;
-
- description
- "Unique name of low-level-tx-endpoint object. Reference to static object";
- }
-
- container compression {
- presence
- "This container shall exists to avoid missaligned compression
- methods between devices";
-
- description
- "Container which consists of global configurable parameters for compression";
-
- uses cf:compression-details;
- }
-
- uses scs-config;
-
- container e-axcid {
- uses eaxc;
-
- 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 leafref {
- path "/user-plane-configuration/static-low-level-rx-endpoints/name";
- require-instance false;
- }
- mandatory true;
-
- description
- "Unique name of low-level-rx-endpoint object. Reference to static object";
- }
-
- container compression {
- description
- "Container which consists of global configurable parameters for compression";
-
- uses cf:compression-details;
- }
-
- uses scs-config;
-
- list ul-fft-sampling-offsets {
- key scs;
- description
- "List of FFT sampling offsets configured for each SCS that will be used.
- Client shall configure one element for each SCS that will be used.";
-
- leaf scs {
- type mcap:scs-config-type;
- description
- "Value corresponds to SCS values defined for frameStructure in C-plane
- Note: set of allowed values is restricted by SCS derived from values in supported-frame-structures.";
- }
-
- leaf ul-fft-sampling-offset {
- type uint16;
-
- units Ts;
- description
- "Determines time advance of capture window for FFT.
- Value represents time advance of capture window start in relation to the end of CP. Unit is Ts.
- Note: value of this parameter is usually set to '0' (zero) for PRACH channels.
- Any phase offset resulting from the non-zero value of this parameter is handled in O-DU.";
- }
- }
-
- container e-axcid {
- uses eaxc;
-
- description
- "Contains local address of low level RX endpoint offered by Netconf server.";
- }
-
- leaf non-time-managed-delay-enabled {
- type boolean;
- default false;
- description
- "Tells if non time managed delay shall be enabled";
- }
- }
-
- 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.";
- }
-
- uses tx-common-array-carrier-elements;
-
- leaf band-number {
- if-feature mcap:LAA;
- type leafref {
- path "/mcap:module-capability/mcap:band-capabilities/mcap:band-number";
- require-instance false;
- }
- description
- "This parameter informing which frequency band particular antenna
- array is serving for.
- Intended use is to deal with multiband solutions.";
- }
-
- container lte-tdd-frame {
- when "(/user-plane-configuration/tx-array-carriers/rw-type = 'LTE') and (/user-plane-configuration/tx-array-carriers/rw-duplex-scheme = 'TDD')";
- description
- "Container which consists of global configurable parameters for tdd Frame";
-
- leaf subframe-assignment {
- type enumeration {
- enum SAO {
- description "subframe assignment configuration 0";
- }
- enum SA1 {
- description "subframe assignment configuration 1";
- }
- enum SA2 {
- description "subframe assignment configuration 2";
- }
- enum SA3 {
- description "subframe assignment configuration 3";
- }
- enum SA4 {
- description "subframe assignment configuration 4";
- }
- enum SA5 {
- description "subframe assignment configuration 5";
- }
- enum SA6 {
- description "subframe assignment configuration 6";
- }
- }
- mandatory true;
- description
- "Indicates DL/UL subframe configuration as specified in
- 3GPP TS 36.211 [v15.3.0, table 4.2-2]";
- }
- leaf special-subframe-pattern {
- type enumeration {
- enum SPP0 {
- description "special subframe pattern configuration 0";
- }
- enum SPP1 {
- description "special subframe pattern configuration 1";
- }
- enum SPP2 {
- description "special subframe pattern configuration 2";
- }
- enum SPP3 {
- description "special subframe pattern configuration 3";
- }
- enum SPP4 {
- description "special subframe pattern configuration 4";
- }
- enum SPP5 {
- description "special subframe pattern configuration 5";
- }
- enum SPP6 {
- description "special subframe pattern configuration 6";
- }
- enum SPP7 {
- description "special subframe pattern configuration 7";
- }
- enum SPP8 {
- description "special subframe pattern configuration 8";
- }
- enum SPP9 {
- description "special subframe pattern configuration 9";
- }
- enum SPP10 {
- description "special subframe pattern configuration 10";
- }
- }
- mandatory true;
- description
- "Indicates TDD special subframe configuration as in TS 36.211
- [v15.3.0, table 4.2-1] ";
- }
- }
-
- container laa-carrier-configuration {
- when "../band-number = 46";
- if-feature mcap:LAA;
- description "Container to specify LAA feature related carrier configuration.";
- uses laa-carrier-config;
- }
-
- leaf gain {
- type decimal64 {
- fraction-digits 4;
- }
- units dB;
- mandatory true;
-
- description
- "Transmission gain in dB. Value applicable to each array element carrier belonging to array carrier.";
- }
-
- 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.";
- }
- }
-
- 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.";
- }
-
- uses rx-common-array-carrier-elements;
-
- 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 gain-correction {
- type decimal64 {
- fraction-digits 4;
-
- }
- units dB;
- mandatory true;
- description
- "Gain correction of RF path linked with array element or array layers";
- }
-
- leaf n-ta-offset {
- type uint32;
- units Tc;
- mandatory true;
- description
- "Value of configurable N-TA offset
- units are Tc=~0.5ns=1/1.96608GHz";
- }
- }
-
- list tx-arrays {
- key "name";
- config false;
- description
- "Structure describing TX array parameters";
-
- uses parameters;
-
- leaf max-gain {
- type decimal64 {
- fraction-digits 4;
-
- }
- units dB;
- mandatory true;
- description
- "Max gain of RF path linked with array element (minimum over elements of array) or array layers";
- }
-
- leaf independent-power-budget {
- type boolean;
- mandatory true;
- description
- "If true then every element of array has own, power budget independent from power budget of other elements.
- Else all elements of array that are at same row and column and have same polarization share power budget";
- }
-
- list capabilities {
- description
- "List of capabilities related to this tx-array";
- uses mcap:support-for-dl;
- }
- }
-
- list rx-arrays {
- key "name";
- config false;
- description "Structure describing RX array parameters";
-
- uses parameters;
- container gain-correction-range {
- leaf max {
- type decimal64 {
- fraction-digits 4;
- }
- units dB;
- mandatory true;
- description "Array gain correction factor - maximum allowed value";
- }
- leaf min {
- type decimal64 {
- fraction-digits 4;
- }
- units dB;
- mandatory true;
- description "Array gain correction factor - minimum allowed value";
- }
-
- description
- "Array gain correction factor";
- }
-
- list capabilities {
- description
- "List of capabilities related to this rx-array";
- uses mcap:support-for-ul;
- }
- }
-
- list relations {
- key "entity";
- config false;
- description "Structure describing relations between array elements";
-
- leaf entity {
- type uint16;
-
- description
- "Relation entity. Used as a key for list of relations.";
- }
-
- container array1 {
- uses array-choice;
-
- description
- "Defnes name for first array";
- }
- container array2 {
- uses array-choice;
-
- description
- "Defnes name for second array";
- }
- list types {
- key "relation-type";
- description
- "Defines relation type and pairs for array elements for given arrays";
-
- leaf relation-type {
- type enumeration {
- enum SHARED {
- description "SHARED";
- }
- enum COALOCATED {
- description "COALOCATED";
- }
- }
- description "Type of relation between array elements";
- }
- list pairs {
- key "element-array1";
- description
- "defines related array elements";
-
- leaf element-array1 {
- type uint16;
-
- description
- "Tells about id of element from array1";
- }
- leaf element-array2 {
- type uint16;
-
- description
- "Tells about id of element from array2";
- }
- }
- }
- }
- }
-
- grouping tx-array-notification-group {
- description
- "Grouping for tx-array for notification";
-
- list tx-array-carriers{
- key name;
- description "notification of state change for tx-array-carriers";
-
- leaf name{
- type leafref{
- path "/user-plane-configuration/tx-array-carriers/name";
- }
- description
- "name of tx-array-carriers is notified at state change";
- }
- leaf state{
- type leafref{
- path "/user-plane-configuration/tx-array-carriers/state";
- }
- description
- "state of tx-array-carriers is notified at state change";
- }
- }
- }
-
- grouping rx-array-notification-group {
- description
- "Grouping for rx-array for notification";
-
- list rx-array-carriers{
- key name;
- description
- "Notification used to inform about state change of rx-array-carriers";
- leaf name{
- type leafref{
- path "/user-plane-configuration/rx-array-carriers/name";
- }
- description
- "name of rx-array-carriers is notified at state change";
- }
- leaf state{
- type leafref{
- path "/user-plane-configuration/rx-array-carriers/state";
- }
- description
- "state of rx-array-carriers is notified at state change";
- }
- }
- }
-
-// top level container
-
- container user-plane-configuration {
- description "top level container for user plane configuration";
-
- uses uplane-conf-group;
-
- }
-
- //notification statement
- notification tx-array-carriers-state-change {
- description
- "Notification used to inform about state change of tx-array-carriers";
- uses tx-array-notification-group;
- }
- notification rx-array-carriers-state-change {
- description
- "Notification used to inform about state change of tx-array-carriers";
-
- uses rx-array-notification-group;
- }
-}