Add supoprt for D release use-case.
[sim/o1-interface.git] / ntsimulator / deploy / o-ran-ru-fh / yang / o-ran-shared-cell@2020-12-10.yang
1 module o-ran-shared-cell {
2   yang-version 1.1;
3   namespace "urn:o-ran:shared-cell:1.0";
4   prefix "o-ran-sc";
5
6   import o-ran-compression-factors {
7     prefix "cf";
8   }
9   import o-ran-processing-element {
10     prefix "o-ran-pe";
11     revision-date 2020-04-17;
12   }
13
14   organization "O-RAN Alliance";
15
16   contact
17     "www.o-ran.org";
18
19   description
20     "This module defines the YANG definitions for shared cell capable O-RU (Cascade and FHM).
21
22     Copyright 2020 the O-RAN Alliance.
23
24     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 'AS IS'
25     AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
26     IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
27     ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
28     LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
29     CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
30     SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
31     INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
32     CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
33     ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
34     POSSIBILITY OF SUCH DAMAGE.
35
36     Redistribution and use in source and binary forms, with or without
37     modification, are permitted provided that the following conditions are met:
38
39     * Redistributions of source code must retain the above copyright notice,
40     this list of conditions and the above disclaimer.
41     * Redistributions in binary form must reproduce the above copyright notice,
42     this list of conditions and the above disclaimer in the documentation
43     and/or other materials provided with the distribution.
44     * Neither the Members of the O-RAN Alliance nor the names of its
45     contributors may be used to endorse or promote products derived from
46     this software without specific prior written permission.";
47
48   revision "2020-12-10" {
49     description
50       "version 5.0.0
51
52       1) added selective combining using beamId.";
53
54     reference "ORAN-WG4.M.0-v05.00";
55   }
56
57   revision "2020-04-17" {
58     description
59       "version 3.0.0
60
61       1) initial version for shared cell O-RU related yang module.";
62
63     reference "ORAN-WG4.M.0-v03.00";
64   }
65
66   feature FHM {
67     description
68       "Presence of feature indicates that O-RU acts as FHM and doesn't have
69        the capability of radio transmission and reception. Absence of feature
70        indicates that O-RU does not act as FHM and supports radio transmission
71        and reception function.";
72   }
73
74   feature SELECTIVE-BEAM-ID {
75     description
76       "Presence of feature indicates that FHM supports the selective combining
77       function by using beamId";
78   }
79
80   // radio offsets
81   grouping radio-offset {
82     description
83       "shared cell FHM mode needs the configuration for radio related offset";
84     leaf downlink-radio-frame-offset {
85       type uint32 {
86         range 0..12288000;
87       }
88       mandatory true;
89
90       description
91         "This parameter is used for offsetting the starting position of
92          10ms radio frame.
93          Note: Unit is 1/1.2288e9 sec.";
94     }
95
96     leaf downlink-sfn-offset {
97       type int16 {
98         range -32768..32767;
99       }
100       mandatory true;
101
102       description
103         "This parameter is used for offsetting SFN value.
104         Unit is 10ms.";
105     }
106   }
107
108   // shared cell capability
109   grouping shared-cell-module-capability{
110     description
111       "shared cell related module capability of O-RU";
112     container shared-cell-module-cap {
113       config false;
114       description
115       "indicates shared cell specific module capability";
116
117       leaf t-copy {
118         type uint32;
119         units nanoseconds;
120         mandatory true;
121         description
122           "Corresponding to the maximum FHM or cascade O-RU processing delay
123            between receiving an IQ sample over the fronthaul interface from
124            the north-node, coping it and transmitting it over the fronthaul
125            interface to the south-node.";
126       }
127
128       leaf t-combine {
129         type uint32;
130         units nanoseconds;
131         mandatory true;
132         description
133           "Corresponding to the maximum FHM or cascade O-RU processing delay
134            between receiving an IQ sample over the fronthaul interface from
135            the south-node(s), combing them and transmitting it over the
136            fronthaul interface to the north-node.";
137       }
138
139       leaf ta3-prime-max-upper-range {
140         type uint32;
141         units nanoseconds;
142         mandatory true;
143         description
144           "The upper limit for the configurable ta3-prime-max value.
145            This is the capability information of O-RU that comes from
146            the O-RU internal memory for the combine operation.";
147       }
148
149       leaf max-number-node-copy-and-combine {
150         type uint8{
151           range "1..max";
152         }
153         mandatory true;
154         description
155           "Indicates the maximum number of south-node for the copy-and-combine
156            functions of cascade O-RU or FHM.
157            For cascade mode, this value is one. It means
158            O-RU copies the stream of eCPRI messages only once for the connected
159            south-node and copied stream are forwarded to the south-node.
160            Similarly, the cascade O-RU combines once for the streams of
161            eCPRI messages received from the south node and the streams of radio
162            reception function.
163            For FHM mode, FHM is able to copy the stream of eCPRI messages
164            according to this parameter and forward each copied stream
165            to each south-node. FHM is able to combine the streams of eCPRI
166            messages received from the multiple south-nodes corresponding to
167            this parameter at most.";
168       }
169
170       leaf max-number-eaxcid-copy {
171         type uint8{
172           range "1..max";
173         }
174         mandatory true;
175         description
176           "Indicates the maximum number of eaxc-ids for the copy functions
177            of cascade O-RU or FHM.
178            For Cascade, it is same number of static-low-level-tx-endpoints plus
179            static-low-level-rx-endpoints, for which low-level-tx(rx)-endpoints
180            are configured with eaxc-id in u-plane configuration.
181            For FHM, it is max configurable number of eaxc-ids in
182            tx-eaxc-id and rx-eaxc-id in shared-cell-copy-uplane-config.";
183       }
184
185       leaf max-number-eaxcid-combine {
186         type uint8{
187           range "1..max";
188         }
189         mandatory true;
190         description
191           "Indicates the maximum number of eaxc-ids for the combine functions
192            of cascade O-RU or FHM.
193            For Cascade, it is same number of static-low-level-rx-endpoints,
194            for which low-level-rx-endpoints are configured with eaxc-id in
195            u-plane configuration.
196            For FHM, it is max configurable number of eaxc-ids in rx-eaxc-id
197            in shared-cell-combine-uplane-config.";
198       }
199
200       list compression-method-supported {
201         if-feature FHM;
202         description
203           "List of supported compression methods for FHM";
204         uses cf:compression-details;
205       }
206     }
207   }
208
209   // shared cell mode configuration
210   grouping shared-cell-mode{
211     description
212       "A grouping defining the schema nodes for shared cell configuration";
213     choice shared-cell-copy-combine-mode {
214       case COMMON {
215         description
216          "all eCPRI payload are the target for copy and combine functions.
217           Common set of eaxc-ids are used in O-RU in the shared cell network.
218           For cascade mode, eaxc-ids of low-level-tx(rx)-links in
219           o-ran-uplane-configuration that has relation to the
220           processing-element are used.
221           For FHM mode, eaxc-ids of shared-cell-copy-uplane-config and
222           those of shared-cell-combine-config are used.";
223
224           uses shared-cell-copy-configuration;
225           uses shared-cell-combine-configuration;
226       }
227       case SELECTIVE-BEAM-ID {
228         if-feature "FHM and SELECTIVE-BEAM-ID";
229         description
230         "Case that FHM has selective transmission and reception fucntion
231          by using beamId";
232
233          uses shared-cell-copy-configuration-for-selective-beam-id;
234          uses shared-cell-combine-configuration-for-selective-beam-id;
235       }
236       case SELECTIVE {
237         description "for future use";
238       }
239       description
240        "configuration mode can be selected.";
241     }
242   }
243
244   // processing elements set
245   grouping processing-element-set{
246     description
247       "shared-cell-copy/combine-configuration refers the pair of processing
248       element set of a north-node and a south-node.";
249
250     leaf north-node-processing-element{
251       type leafref {
252         path "/o-ran-pe:processing-elements/o-ran-pe:ru-elements/o-ran-pe:name";
253         }
254       description
255         "north-node processing element indicates the set of
256          'north-node-mac-address', 'ru-mac-address' and 'vlan-id' in case
257          north-eth-flow is selected for the transport flow.";
258     }
259
260     leaf-list south-node-processing-elements{
261       type leafref {
262         path "/o-ran-pe:processing-elements/o-ran-pe:ru-elements/o-ran-pe:name";
263       }
264       description
265         "south-node processing elements indicate the sets of
266          'south-node-mac-address', 'ru-mac-address' and 'vlan-id' in case
267           south-eth-flow is selected for the transport flow.";
268     }
269   } // processing-element-set
270
271   // processing elements set for SELECTIVE-BEAM-ID
272   grouping processing-element-set-for-selective-beam-id{
273     description
274       "shared-cell-copy/combine-configuration refers the pair of processing
275       element set of a north-node and a south-node.";
276
277     leaf north-node-processing-element{
278       type leafref {
279         path "/o-ran-pe:processing-elements/o-ran-pe:ru-elements/o-ran-pe:name";
280         }
281       description
282         "north-node processing element indicates the set of
283          'north-node-mac-address', 'ru-mac-address' and 'vlan-id' in case
284          north-eth-flow is selected for the transport flow.";
285     }
286
287     leaf-list south-node-processing-elements{
288       type leafref {
289         path "/o-ran-pe:processing-elements/o-ran-pe:ru-elements/o-ran-pe:name";
290       }
291       description
292         "south-node processing elements indicate the sets of
293          'south-node-mac-address', 'ru-mac-address' and 'vlan-id' in case
294           south-eth-flow is selected for the transport flow.";
295     }
296
297     list mapping-table-for-selective-beam-id {
298       key "global-beam-id south-node-processing-elements";
299       description "the mapping information between global-beam-id and local-beam-id";
300
301       leaf global-beam-id{
302       type uint16;
303       description
304       "This parameter indicates the beam ID to be applied to the U-Plane data
305       on O-DU as same as existing beamId. One global beamId can be mapped
306       to one or multiple local beamId.
307       The mapping information between each global beamId, O-RU(s),
308       and local beamId is configured to the FHM during M-Plane start-up procedure.";
309     }
310     leaf south-node-processing-elements {
311       type leafref {
312         path "/o-ran-pe:processing-elements/o-ran-pe:ru-elements/o-ran-pe:name";
313       }
314       description
315         "south-node processing elements indicate the sets of
316          'south-node-mac-address', 'ru-mac-address' and 'vlan-id' in case
317           south-eth-flow is selected for the transport flow.";
318     }
319     leaf local-beam-id {
320       type uint16;
321       description "This parameter indicates the beam ID to be applied to
322       the U-Plane data on O-RU as same as existing beamId.
323       In one O-RU, different beams can not map to one global beamId.
324       Local beamId shall be unique within O-RU.";
325     }
326   }
327   } // processing-element-set for SELECTIVE-BEAM-ID
328
329   // shared cell copy and combine config
330   grouping shared-cell-copy-configuration{
331     description
332       "shared-cell-copy-configuration";
333     list shared-cell-copy-entities{
334       key name;
335       description
336         "copy entity. The north-node is an O-DU or an O-RU.
337          The south-nodes are O-RUs.
338          The number of south-nodes is at most one for cascade O-RU and
339          more than one for FHM";
340
341       leaf name{
342         type string;
343         description
344          "the name of shared-cell-copy-entity.";
345       }
346
347       uses processing-element-set;
348
349       container shared-cell-copy-uplane-config {
350         if-feature FHM;
351         description
352           "Container consists of uplane-info for copy-configuration for FHM.";
353
354         list tx-eaxc-id {
355           key eaxc-id;
356           description
357             "used for low-level-tx-endpoints to copy";
358
359           leaf eaxc-id {
360             type uint16;
361             description
362               "encoded value of eaxcid to be read by CU-Plane";
363           }
364       }
365         list rx-eaxc-id {
366           key eaxc-id;
367           description
368             "used for low-level-rx-endpoints to copy";
369
370           leaf eaxc-id {
371             type uint16;
372             description
373               "encoded value of eaxcid to be read by CU-Plane";
374           }
375         }
376         uses radio-offset;
377       }
378
379     } // shared-cell-copy-entities
380   } // shared-cell-copy-configuration (groupings)
381
382   grouping shared-cell-copy-configuration-for-selective-beam-id{
383     description
384       "shared-cell-copy-configuration for selective function by beam id";
385     list shared-cell-copy-entities-selective-beam-id{
386       key name;
387       description
388         "copy entity. The north-node is an O-DU or an O-RU.
389          The south-nodes are O-RUs.
390          The number of south-nodes is at most one for cascade O-RU and
391          more than one for FHM";
392
393       leaf name{
394         type string;
395         description
396          "the name of shared-cell-copy-entity.";
397       }
398
399       uses processing-element-set-for-selective-beam-id;
400
401       container shared-cell-copy-uplane-config {
402         if-feature FHM;
403         description
404           "Container consists of uplane-info for copy-configuration for FHM.";
405
406         list tx-eaxc-id {
407           key eaxc-id;
408           description
409             "used for low-level-tx-endpoints to copy";
410
411           leaf eaxc-id {
412             type uint16;
413             description
414               "encoded value of eaxcid to be read by CU-Plane";
415           }
416       }
417         list rx-eaxc-id {
418           key eaxc-id;
419           description
420             "used for low-level-rx-endpoints to copy";
421
422           leaf eaxc-id {
423             type uint16;
424             description
425               "encoded value of eaxcid to be read by CU-Plane";
426           }
427         }
428         uses radio-offset;
429       }
430
431     } // shared-cell-copy-entities for SELECTIVE-BEAM-ID
432   } // shared-cell-copy-configuration (groupings) for SELECTIVE-BEAM-ID
433
434   grouping shared-cell-combine-configuration{
435     description
436       "shared-cell-combine-configuration";
437
438     list shared-cell-combine-entities{
439       key name;
440       description
441         "combine configuration. The north-node is O-DU or O-RU.
442          The south-nodes are O-RUs.
443          The number of south-nodes is at most one for cascade O-RU and
444          more than one for FHM";
445
446       leaf name{
447         type string;
448         description
449          "name of shared-cell-combine-entity";
450       }
451
452       uses processing-element-set;
453
454       leaf ta3-prime-max {
455         type uint32;
456         units nanoseconds;
457         description
458           "indicates the latest time that FHM or cascade O-RU is allowed to
459            send UL U-plane message to north-node relative to reception
460            timing at O-RU antenna.";
461       }
462
463       uses shared-cell-combine-uplane-config;
464     }
465   }
466
467   grouping shared-cell-combine-configuration-for-selective-beam-id{
468     description
469       "shared-cell-combine-configuration for selective function by beam id";
470
471     list shared-cell-combine-entities-for-selective-beam-id{
472       key name;
473       description
474         "combine configuration. The north-node is O-DU or O-RU.
475          The south-nodes are O-RUs.
476          The number of south-nodes is at most one for cascade O-RU and
477          more than one for FHM";
478
479       leaf name{
480         type string;
481         description
482          "name of shared-cell-combine-entity";
483       }
484
485       uses processing-element-set;
486
487       leaf ta3-prime-max {
488         type uint32;
489         units nanoseconds;
490         description
491           "indicates the latest time that FHM or cascade O-RU is allowed to
492            send UL U-plane message to north-node relative to reception
493            timing at O-RU antenna.";
494       }
495
496       uses shared-cell-combine-uplane-config;
497     }
498   }
499
500
501   grouping shared-cell-combine-uplane-config{
502     description
503       "shared cell related uplane configuration applicable to O-RU which
504        doesn't have radio transmisison capability";
505     container shared-cell-combine-uplane-config {
506       if-feature FHM;
507       description
508         "when O-RU doesn't have radio transmisison availability for FHM mode,
509          the required u-plane configuration for copy and combine function
510          are defined, instead of the lists of o-ran-uplane-conf.yang";
511
512       list rx-eaxc-id {
513         key eaxc-id;
514         description
515           "used for low-level-rx-endpoints to combine";
516         leaf eaxc-id {
517           type uint16;
518           description
519             "encoded value of eaxc-id to be read by CU-Plane";
520         }
521         container comression-method {
522           description
523             "for combine mechanism, compression method per eaxc-id applied in
524              south-node is known to FHM ";
525           uses cf:compression-details;
526         }
527       }
528
529       uses radio-offset;
530
531       leaf n-ta-offset {
532         type uint32;
533         units Tc;
534         mandatory true;
535         description
536           "Value of configurable N-TA offset
537           units are Tc=~0.5ns=1/1.96608GHz";
538       }
539
540       leaf  number-of-prb {
541         type uint16;
542         mandatory true;
543         description
544           "Determines max number of PRBs that will be used in all sections
545           per one symbol.
546           This value is used only when uplink C-plane message indicates that
547           all PRB is used in the field of numPrbc";
548       }
549     }
550   }
551
552 // top level container
553   container shared-cell{
554     description
555       "This container for shared-cell consists of capability information and
556        configurable parameters";
557     uses shared-cell-module-capability;
558
559     container shared-cell-config {
560       description "configuration for shared cell.";
561       uses shared-cell-mode;
562     }
563   }
564 }