Support of WG4 OpenFronthaul Management-Plane VES
[scp/oam/modeling.git] / data-model / yang / published / o-ran / ru-fh / o-ran-delay-management@2022-08-15.yang
1 module o-ran-delay-management {
2   yang-version 1.1;
3   namespace "urn:o-ran:delay:1.0";
4   prefix "o-ran-delay";
5
6   organization "O-RAN Alliance";
7
8   contact
9     "www.o-ran.org";
10
11   description
12     "This module covers off aspects of O-DU to O-RU delay management,
13     including configuration data related to O-RU transmission and reception
14     windows.
15
16     Copyright 2020 the O-RAN Alliance.
17
18     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 'AS IS'
19     AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20     IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21     ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
22     LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
23     CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
24     SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
25     INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
26     CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
27     ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
28     POSSIBILITY OF SUCH DAMAGE.
29
30     Redistribution and use in source and binary forms, with or without
31     modification, are permitted provided that the following conditions are met:
32
33     * Redistributions of source code must retain the above copyright notice,
34     this list of conditions and the above disclaimer.
35     * Redistributions in binary form must reproduce the above copyright notice,
36     this list of conditions and the above disclaimer in the documentation
37     and/or other materials provided with the distribution.
38     * Neither the Members of the O-RAN Alliance nor the names of its
39     contributors may be used to endorse or promote products derived from
40     this software without specific prior written permission.";
41
42   revision "2022-08-15" {
43     description
44       "version 10.0.0
45
46       1) introducing new feature for ACK NACK feedback.";
47
48     reference "ORAN-WG4.M.0-v10.00";
49   }
50
51   revision "2021-12-01" {
52     description
53       "version 8.0.0
54
55       1) typographical corrections in descriptions.
56       2) add new schema node beam-context-gap-period.";
57
58     reference "ORAN-WG4.M.0-v08.00";
59   }
60
61   revision "2020-08-10" {
62     description
63       "version 4.0.0
64
65       1) introduction of new t1a-max-cp-dl leaf to enable decoupled timing between C- and U-Plane";
66
67     reference "ORAN-WG4.M.0-v04.00";
68   }
69
70   revision "2019-07-03" {
71     description
72       "version 1.1.0
73
74       1) fixing descriptions of ta3-min and ta3-max.
75       2) introducing grouping/uses to enable model re-use by WG5";
76
77     reference "ORAN-WG4.M.0-v01.00";
78   }
79
80   revision "2019-02-04" {
81     description
82       "version 1.0.0
83
84       1) imported model from xRAN
85       2) changed namespace and reference from xran to o-ran";
86
87     reference "ORAN-WG4.M.0-v01.00";
88   }
89
90
91   feature ADAPTIVE-RU-PROFILE {
92     description
93       "This feature indicates that the O-RU supports adaptive O-RU delay profile
94       based on information provided by the NETCONF client.";
95   }
96
97   typedef bandwidth {
98     type uint32 {
99       range "200 | 1400 | 3000 | 5000 | 10000 | 15000 | 20000 | 25000 |
100             30000 | 40000 | 50000 | 60000 | 70000 | 80000 | 90000 | 100000
101             | 200000 | 400000" ;
102     }
103     units kilohertz;
104     description
105       "transmission bandwidth configuration in units of kHz -
106       covering NBIoT through to New Radio - see 38.104";
107   }
108
109   grouping bandwidth-configuration {
110     description
111       "Grouping for bandwidth and SCS configuration";
112
113     leaf bandwidth {
114       type bandwidth;
115       description
116         "transmission bandwidth configuration in units of kHz -
117         covering NBIoT through to New Radio - see 38.104";
118     }
119     leaf subcarrier-spacing {
120       type uint32 {
121         range "0 .. 240000 ";
122       }
123       units Hertz;
124       description "sub-carrier spacing in Hz";
125     }
126   }
127
128   grouping t2a-up {
129     description
130       "configuration of t2a for uplink";
131
132     leaf t2a-min-up {
133       type uint32;
134       units nanoseconds;
135       mandatory true;
136       description
137         "the minimum O-RU data processing delay between receiving IQ data
138         message over the fronthaul interface and transmitting
139         the corresponding first IQ sample at the antenna";
140     }
141     leaf t2a-max-up {
142       type uint32;
143       units nanoseconds;
144       mandatory true;
145       description
146         "the earliest allowable time when a data packet is received before
147         the corresponding first IQ sample is transmitted at the antenna";
148     }
149   }
150
151   grouping t2a-cp-dl {
152     description
153       "Grouping for t2a CP for downlink";
154
155     leaf t2a-min-cp-dl {
156       type uint32;
157       units nanoseconds;
158       mandatory true;
159       description
160         "the minimum O-RU data processing delay between receiving downlink
161         real time control plane message over the fronthaul interface and
162         transmitting the corresponding first IQ sample at the antenna";
163     }
164     leaf t2a-max-cp-dl {
165       type uint32;
166       units nanoseconds;
167       mandatory true;
168       description
169         "the earliest allowable time when a downlink real time control message
170         is received before the corresponding first IQ sample is transmitted at
171         the antenna";
172     }
173   }
174
175   grouping ta3 {
176     description
177       "Grouping for ta3 configuration";
178
179     leaf ta3-min {
180       type uint32;
181       units nanoseconds;
182       mandatory true;
183       description
184         "the minimum O-RU data processing delay between receiving an IQ sample
185         at the antenna and transmitting the first data sample over the
186         fronthaul interface";
187     }
188     leaf ta3-max {
189       type uint32;
190       units nanoseconds;
191       mandatory true;
192       description
193         "the maximum O-RU data processing delay between receiving an IQ sample
194         at the antenna and transmitting the last data sample over the
195         fronthaul interface";
196     }
197   }
198
199   grouping t2a-cp-ul {
200     description
201       "Grouping for t2a CP uplink";
202
203     leaf t2a-min-cp-ul {
204       type uint32;
205       units nanoseconds;
206       mandatory true;
207       description
208         "the minimum O-RU data processing delay between receiving real time
209         up-link control plane message over the fronthaul interface and
210         receiving the first IQ sample at the antenna";
211     }
212     leaf t2a-max-cp-ul {
213       type uint32;
214       units nanoseconds;
215       mandatory true;
216       description
217         "the earliest allowable time when a real time up-link control message
218         is received before the corresponding first IQ sample is received  at
219         the antenna";
220     }
221   }
222
223   grouping ta3-ack {
224     description
225       "Grouping for ta3-ack configuration";
226     leaf ta3-min-ack {
227       type int32;
228       units nanoseconds;
229       description
230         "the minimum delay between the DL/UL air reference point (tDL=0 or tUL=0) of symbol M
231         and the time O-RU sends section type 8 (ACK/NACK feedback) to O-DU.
232         This value can be negative, which indicates it is in advance of the air reference point.
233         This leaf only exists if section extension 22 (ACK/NACK request) and section type 8 (ACK/NACK feedback)
234         are supported by at least one endpoint.";
235     }
236
237     leaf ta3-max-ack {
238       type int32;
239       units nanoseconds;
240       description
241         "the maximum delay between the DL/UL air reference point (tDL=0 or tUL=0) of symbol M
242         and the time O-RU sends section type 8 (ACK/NACK feedback) to O-DU.
243         This value can be negative, which indicates it is in advance of the air reference point.
244         This leaf only exists if section extension 22 (ACK/NACK request) and section type 8 (ACK/NACK feedback)
245         are supported by at least one endpoint.";
246     }
247   }
248
249   grouping ru-delay-profile {
250     description
251       "Grouping for RU delay profile";
252
253     uses t2a-up;
254     uses t2a-cp-dl;
255
256     leaf tcp-adv-dl {
257       type uint32;
258       units nanoseconds;
259       mandatory true;
260       description
261         "the time difference (advance) between the reception window for
262         downlink real time Control messages and reception window for the
263         corresponding IQ data messages.";
264     }
265
266     uses ta3;
267     uses t2a-cp-ul;
268     uses ta3-ack;
269   }
270
271   grouping o-du-delay-profile {
272     description
273       "Grouping for O-DU delay profile";
274
275     leaf t1a-max-up {
276       type uint32;
277       units nanoseconds;
278       description
279         "the earliest possible time which the O-DU can support transmitting
280         an IQ data message prior to transmission of the corresponding IQ
281         samples at the antenna";
282     }
283     leaf tx-max {
284       type uint32;
285       units nanoseconds;
286       description
287         "The maximum amount of time which the O-DU requires to transmit
288         all downlink user plane IQ data message for a symbol";
289     }
290     leaf ta4-max {
291       type uint32;
292       units nanoseconds;
293       description
294         "the latest possible time which the O-DU can support receiving the
295         last uplink user plane IQ data message for a symbol.";
296     }
297     leaf rx-max {
298       type uint32;
299       units nanoseconds;
300       description
301         "The maximum time difference the O-DU can support between
302         receiving the first user plane IQ data message for a symbol and
303         receiving the last user plane IQ data message for the same symbol";
304     }
305     leaf t1a-max-cp-dl {
306       type uint32;
307       units nanoseconds;
308       description
309         "The earliest possible time which the O-DU can support transmitting the
310         downlink real time control message prior to transmission of the
311         corresponding IQ samples at the antenna.";
312     }
313   }
314
315   grouping t12 {
316     description
317       "Grouping for t12";
318
319     leaf t12-min {
320       type uint32;
321       units nanoseconds;
322       description
323         "the minimum measured delay between DU port-ID and O-RU port-ID";
324     }
325 // additional leaf added by Samsung
326     leaf t12-max {
327       type uint32;
328       units nanoseconds;
329       description
330         "the maximum measured delay between CU port-ID and O-RU port-ID";
331     }
332   }
333
334   grouping t34 {
335     description
336       "Grouping for t34";
337
338     leaf t34-min {
339       type uint32;
340       units nanoseconds;
341       description
342         "the minimum measured delay between O-RU port-ID and CU port-ID";
343     }
344 // additional leaf added by Samsung
345     leaf t34-max {
346       type uint32;
347       units nanoseconds;
348       description
349         "the maximum measured delay between O-RU port-ID and CU port-ID";
350     }
351   }
352
353   grouping delay-management-group {
354     description "a delay management grouping";
355     list bandwidth-scs-delay-state {
356       key "bandwidth subcarrier-spacing";
357       description
358         "Array of structures containing sets of parameters for delay management.";
359
360       uses bandwidth-configuration;
361
362       container ru-delay-profile {
363         config false;
364         description "container for O-RU delay parameters";
365
366         uses ru-delay-profile;
367       }
368     }
369
370     container adaptive-delay-configuration {
371       if-feature ADAPTIVE-RU-PROFILE;
372       description "container for adaptive delay parameters";
373       list bandwidth-scs-delay-state {
374         key "bandwidth subcarrier-spacing";
375         description
376           "Array of structures containing sets of parameters for delay management.";
377
378         uses bandwidth-configuration;
379
380         container o-du-delay-profile {
381           description
382             "O-DU provided delay profile for adaptive delay configuration";
383
384           uses o-du-delay-profile;
385         }
386       }
387
388       container transport-delay {
389         description
390           "O-DU provided transport-delay parameters";
391         uses t12;
392         uses t34;
393       }
394     }
395
396     leaf beam-context-gap-period {
397       type uint16;
398       units microseconds;
399       description
400         "Time gap between the end of reception window of the C-Plane message(Msg-A) with new beam weights for a given beamId and end of the reception window
401         of the C-Plane message(Msg-B) that cites the same beamId without weights in the new context.
402         Note: Value of '0' indicates that the end of the Msg-A and Msg-B reception windows are perfectly aligned, which should allow Msg-B to use the new
403         beamforming weights with a '0' microsecond beam-context-gap-period. Value of '65535' implies infinite gap, which means a beamId may not be reused
404         at all in a different context (applicable only to weight-based dynamic beamforming). If O-DU chooses not to interpret/honor this value, behaviour
405         of O-RU is unpredictable if a beamId has new weights loaded in one context and is reused in a different context. Please refer the CUS-Plane spec
406         Section 'Weight-based dynamic beamforming' for detailed description";
407     }
408   }
409   container delay-management {
410     description "top-level tree covering off O-DU to O-RU delay management";
411
412     uses delay-management-group;
413   }
414 }