Support of WG4 OpenFronthaul Management-Plane VES
[scp/oam/modeling.git] / data-model / yang / published / o-ran / ru-fh / o-ran-uplane-conf.yang
deleted file mode 100644 (file)
index 82efa4462ea39b188483fbc078a49ed2c2356583..0000000000000000000000000000000000000000
+++ /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;
-  }
-}
new file mode 120000 (symlink)
index 0000000000000000000000000000000000000000..237d5bc2d809bac7faedca6c9dc89684f2985703
--- /dev/null
@@ -0,0 +1 @@
+./o-ran-uplane-conf@2022-12-05.yang
\ No newline at end of file