--- /dev/null
+module o-ran-delay-management {
+ yang-version 1.1;
+ namespace "urn:o-ran:delay:1.0";
+ prefix "o-ran-delay";
+
+ organization "O-RAN Alliance";
+
+ contact
+ "www.o-ran.org";
+
+ description
+ "This module covers off aspects of O-DU to O-RU delay management,
+ including config data related to O-RU transmission and reception
+ windows.
+
+ 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) fixing descriptions of ta3-min and ta3-max.
+ 2) introducing grouping/uses to enable model re-use by WG5";
+
+ reference "ORAN-WG4.M.0-v01.00";
+ }
+
+ revision "2019-02-04" {
+ description
+ "version 1.0.0
+
+ 1) imported model from xRAN
+ 2) changed namespace and reference from xran to o-ran";
+
+ reference "ORAN-WG4.M.0-v01.00";
+ }
+
+
+ feature ADAPTIVE-RU-PROFILE {
+ description
+ "This feature indicates that the O-RU supports adaptive O-RU delay profile
+ based on information provided by the NETCONF client.";
+ }
+
+ typedef bandwidth {
+ type uint32 {
+ range "200 | 1400 | 3000 | 5000 | 10000 | 15000 | 20000 | 25000 |
+ 30000 | 40000 | 50000 | 60000 | 70000 | 80000 | 90000 | 100000
+ | 200000 | 400000" ;
+ }
+ units kilohertz;
+ description
+ "transmission bandwidth configuration in units of kHz -
+ covering NBIoT through to New Radio - see 38.104";
+ }
+
+ grouping bandwidth-configuration {
+ description
+ "Grouping for bandwidth and scs configuration";
+
+ leaf bandwidth {
+ type bandwidth;
+ description
+ "transmission bandwidth configuration in units of kHz -
+ covering NBIoT through to New Radio - see 38.104";
+ }
+ leaf subcarrier-spacing {
+ type uint32 {
+ range "0 .. 240000 ";
+ }
+ units Hertz;
+ description "subcarrier spacing in Hz";
+ }
+ }
+
+ grouping t2a-up {
+ description
+ "configuration of t2a for uplink";
+
+ leaf t2a-min-up {
+ type uint32;
+ units nanoseconds;
+ mandatory true;
+ description
+ "the minimum O-RU data processing delay between receiving IQ data
+ message over the fronthaul interface and transmitting
+ the corresponding first IQ sample at the antenna";
+ }
+ leaf t2a-max-up {
+ type uint32;
+ units nanoseconds;
+ mandatory true;
+ description
+ "the earliest allowable time when a data packet is received before
+ the corresponding first IQ sample is transmitted at the antenna";
+ }
+ }
+
+ grouping t2a-cp-dl {
+ description
+ "Grouping for t2a CP for downlink";
+
+ leaf t2a-min-cp-dl {
+ type uint32;
+ units nanoseconds;
+ mandatory true;
+ description
+ "the minimum O-RU data processing delay between receiving downlink
+ real time control plane message over the fronthaul interface and
+ transmitting the corresponding first IQ sample at the antenna";
+ }
+ leaf t2a-max-cp-dl {
+ type uint32;
+ units nanoseconds;
+ mandatory true;
+ description
+ "the earliest allowable time when a downlink real time control message
+ is received before the corresponding first IQ sample is transmitted at
+ the antenna";
+ }
+ }
+
+ grouping ta3 {
+ description
+ "Grouping for ta3 configuration";
+
+ leaf ta3-min {
+ type uint32;
+ units nanoseconds;
+ mandatory true;
+ description
+ "the minimum O-RU data processing delay between receiving an IQ sample
+ at the antenna and transmitting the first data sample over the
+ fronthaul interface";
+ }
+ leaf ta3-max {
+ type uint32;
+ units nanoseconds;
+ mandatory true;
+ description
+ "the maximum O-RU data processing delay between receiving an IQ sample
+ at the antenna and transmitting the last data sample over the
+ fronthaul interface";
+ }
+ }
+
+ grouping t2a-cp-ul {
+ description
+ "Grouping for t2a CP uplink";
+
+ leaf t2a-min-cp-ul {
+ type uint32;
+ units nanoseconds;
+ mandatory true;
+ description
+ "the minimum O-RU data processing delay between receiving real time
+ up-link control plane message over the fronthaul interface and
+ recieving the first IQ sample at the antenna";
+ }
+ leaf t2a-max-cp-ul {
+ type uint32;
+ units nanoseconds;
+ mandatory true;
+ description
+ "the earliest allowable time when a real time up-link control message
+ is received before the corresponding first IQ sample is received at
+ the antenna";
+ }
+ }
+
+ grouping ru-delay-profile {
+ description
+ "Grouping for ru delay profile";
+
+ uses t2a-up;
+ uses t2a-cp-dl;
+
+ leaf tcp-adv-dl {
+ type uint32;
+ units nanoseconds;
+ mandatory true;
+ description
+ "the time difference (advance) between the reception window for
+ downlink real time Control messages and reception window for the
+ corresponding IQ data messages.";
+ }
+
+ uses ta3;
+ uses t2a-cp-ul;
+ }
+
+ grouping o-du-delay-profile {
+ description
+ "Grouping for O-DU delay profile";
+
+ leaf t1a-max-up {
+ type uint32;
+ units nanoseconds;
+ description
+ "the earliest possible time which the O-DU can support transmiting
+ an IQ data message prior to transmission of the corresponding IQ
+ samples at the antenna";
+ }
+ leaf tx-max {
+ type uint32;
+ units nanoseconds;
+ description
+ "The maximum amount of time which the O-DU requires to transmit
+ all downlink user plane IQ data message for a symbol";
+ }
+ leaf ta4-max {
+ type uint32;
+ units nanoseconds;
+ description
+ "the latest possible time which the O-DU can support receiving the
+ last uplink user plane IQ data message for a symbol.";
+ }
+ leaf rx-max {
+ type uint32;
+ units nanoseconds;
+ description
+ "The maximum time difference the O-DU can support between
+ receiving the first user plane IQ data message for a symbol and
+ receiving the last user plane IQ data message for the same symbol";
+ }
+ }
+
+ grouping t12 {
+ description
+ "Grouping for t12";
+
+ leaf t12-min {
+ type uint32;
+ units nanoseconds;
+ description
+ "the minimum measured delay between DU port-ID and O-RU port-ID";
+ }
+// additional leaf added by Samsung
+ leaf t12-max {
+ type uint32;
+ units nanoseconds;
+ description
+ "the maximum measured delay between CU port-ID and O-RU port-ID";
+ }
+ }
+
+ grouping t34 {
+ description
+ "Grouping for t34";
+
+ leaf t34-min {
+ type uint32;
+ units nanoseconds;
+ description
+ "the minimum measured delay between O-RU port-ID and CU port-ID";
+ }
+// additional leaf added by Samsung
+ leaf t34-max {
+ type uint32;
+ units nanoseconds;
+ description
+ "the maximum measured delay between O-RU port-ID and CU port-ID";
+ }
+ }
+
+ grouping delay-management-group {
+ list bandwidth-scs-delay-state {
+ key "bandwidth subcarrier-spacing";
+ description
+ "Array of structures containing sets of parameters for delay management.";
+
+ uses bandwidth-configuration;
+
+ container ru-delay-profile {
+ config false;
+ description "container for O-RU delay parameters";
+
+ uses ru-delay-profile;
+ }
+ }
+
+ container adaptive-delay-configuration {
+ if-feature ADAPTIVE-RU-PROFILE;
+ description "container for adaptive delay parameters";
+ list bandwidth-scs-delay-state {
+ key "bandwidth subcarrier-spacing";
+ description
+ "Array of structures containing sets of parameters for delay management.";
+
+ uses bandwidth-configuration;
+
+ container o-du-delay-profile {
+ description
+ "O-DU provided delay profile for adaptive delay configuration";
+
+ uses o-du-delay-profile;
+ }
+ }
+
+ container transport-delay {
+ description
+ "O-DU provided transport-delay parameters";
+ uses t12;
+ uses t34;
+ }
+ }
+ }
+ container delay-management {
+ description "top level tree covering off O-DU to O-RU delay management";
+
+ uses delay-management-group;
+ }
+}