Support of WG4 OpenFronthaul Management-Plane VES
[scp/oam/modeling.git] / data-model / yang / published / o-ran / ru-fh / o-ran-shared-cell@2020-04-17.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-04-17" {
49     description
50       "version 3.0.0
51
52       1) initial version for shared cell O-RU related yang module.";
53
54     reference "ORAN-WG4.M.0-v03.00";
55   }
56
57   feature FHM {
58     description
59       "Presence of feature indicates that O-RU acts as FHM and doesn't have
60        the capability of radio transmission and reception. Absence of feature
61        indicates that O-RU does not act as FHM and supports radio transmission
62        and reception function.";
63   }
64
65   // radio offsets
66   grouping radio-offset {
67     description
68       "shared cell FHM mode needs the configuration for radio related offset";
69     leaf downlink-radio-frame-offset {
70       type uint32 {
71         range 0..12288000;
72       }
73       mandatory true;
74
75       description
76         "This parameter is used for offsetting the starting position of
77          10ms radio frame.
78          Note: Unit is 1/1.2288e9 sec.";
79     }
80
81     leaf downlink-sfn-offset {
82       type int16 {
83         range -32768..32767;
84       }
85       mandatory true;
86
87       description
88         "This parameter is used for offsetting SFN value.
89         Unit is 10ms.";
90     }
91   }
92
93   // shared cell capability
94   grouping shared-cell-module-capability{
95     description
96       "shared cell related module capability of O-RU";
97     container shared-cell-module-cap {
98       config false;
99       description
100       "indicates shared cell specific module capability";
101
102       leaf t-copy {
103         type uint32;
104         units nanoseconds;
105         mandatory true;
106         description
107           "Corresponding to the maximum FHM or cascade O-RU processing delay
108            between receiving an IQ sample over the fronthaul interface from
109            the north-node, coping it and transmitting it over the fronthaul
110            interface to the south-node.";
111       }
112
113       leaf t-combine {
114         type uint32;
115         units nanoseconds;
116         mandatory true;
117         description
118           "Corresponding to the maximum FHM or cascade O-RU processing delay
119            between receiving an IQ sample over the fronthaul interface from
120            the south-node(s), combing them and transmitting it over the
121            fronthaul interface to the north-node.";
122       }
123
124       leaf ta3-prime-max-upper-range {
125         type uint32;
126         units nanoseconds;
127         mandatory true;
128         description
129           "The upper limit for the configurable ta3-prime-max value.
130            This is the capability information of O-RU that comes from
131            the O-RU internal memory for the combine operation.";
132       }
133
134       leaf max-number-node-copy-and-combine {
135         type uint8{
136           range "1..max";
137         }
138         mandatory true;
139         description
140           "Indicates the maximum number of south-node for the copy-and-combine
141            functions of cascade O-RU or FHM.
142            For cascade mode, this value is one. It means
143            O-RU copies the stream of eCPRI messages only once for the connected
144            south-node and copied stream are forwarded to the south-node.
145            Similarly, the cascade O-RU combines once for the streams of
146            eCPRI messages received from the south node and the streams of radio
147            reception function.
148            For FHM mode, FHM is able to copy the stream of eCPRI messages
149            according to this parameter and forward each copied stream
150            to each south-node. FHM is able to combine the streams of eCPRI
151            messages received from the multiple south-nodes corresponding to
152            this parameter at most.";
153       }
154
155       leaf max-number-eaxcid-copy {
156         type uint8{
157           range "1..max";
158         }
159         mandatory true;
160         description
161           "Indicates the maximum number of eaxc-ids for the copy functions
162            of cascade O-RU or FHM.
163            For Cascade, it is same number of static-low-level-tx-endpoints plus
164            static-low-level-rx-endpoints, for which low-level-tx(rx)-endpoints
165            are configured with eaxc-id in u-plane configuration.
166            For FHM, it is max configurable number of eaxc-ids in
167            tx-eaxc-id and rx-eaxc-id in shared-cell-copy-uplane-config.";
168       }
169
170       leaf max-number-eaxcid-combine {
171         type uint8{
172           range "1..max";
173         }
174         mandatory true;
175         description
176           "Indicates the maximum number of eaxc-ids for the combine functions
177            of cascade O-RU or FHM.
178            For Cascade, it is same number of static-low-level-rx-endpoints,
179            for which low-level-rx-endpoints are configured with eaxc-id in
180            u-plane configuration.
181            For FHM, it is max configurable number of eaxc-ids in rx-eaxc-id
182            in shared-cell-combine-uplane-config.";
183       }
184
185       list compression-method-supported {
186         if-feature FHM;
187         description
188           "List of supported compression methods for FHM";
189         uses cf:compression-details;
190       }
191     }
192   }
193
194   // shared cell mode configuration
195   grouping shared-cell-mode{
196     description
197       "A grouping defining the schema nodes for shared cell configuration";
198     choice shared-cell-copy-combine-mode {
199       case COMMON {
200         description
201          "all eCPRI payload are the target for copy and combine functions.
202           Common set of eaxc-ids are used in O-RU in the shared cell network.
203           For cascade mode, eaxc-ids of low-level-tx(rx)-links in
204           o-ran-uplane-configuration that has relation to the
205           processing-element are used.
206           For FHM mode, eaxc-ids of shared-cell-copy-uplane-config and
207           those of shared-cell-combine-config are used.";
208
209           uses shared-cell-copy-configuration;
210           uses shared-cell-combine-configuration;
211       }
212       case SELECTIVE {
213         description "for future use";
214       }
215       description
216        "configuration mode can be selected.
217         In this release, COMMON case is only supported.";
218     }
219   }
220
221   // processing elements set
222   grouping processing-element-set{
223     description
224       "shared-cell-copy/combine-configuration refers the pair of processing
225       element set of a north-node and a south-node.";
226
227     leaf north-node-processing-element{
228       type leafref {
229         path "/o-ran-pe:processing-elements/o-ran-pe:ru-elements/o-ran-pe:name";
230         }
231       description
232         "north-node processing element indicates the set of
233          'north-node-mac-address', 'ru-mac-address' and 'vlan-id' in case
234          north-eth-flow is selected for the transport flow.";
235     }
236
237     leaf-list south-node-processing-elements{
238       type leafref {
239         path "/o-ran-pe:processing-elements/o-ran-pe:ru-elements/o-ran-pe:name";
240       }
241       description
242         "south-node processing elements indicate the sets of
243          'south-node-mac-address', 'ru-mac-address' and 'vlan-id' in case
244           south-eth-flow is selected for the transport flow.";
245     }
246   } // processing-element-set
247
248   // shared cell copy and combine config
249   grouping shared-cell-copy-configuration{
250     description
251       "shared-cell-copy-configuration";
252     list shared-cell-copy-entities{
253       key name;
254       description
255         "copy entity. The north-node is an O-DU or an O-RU.
256          The south-nodes are O-RUs.
257          The number of south-nodes is at most one for cascade O-RU and
258          more than one for FHM";
259
260       leaf name{
261         type string;
262         description
263          "the name of shared-cell-copy-entity.";
264       }
265
266       uses processing-element-set;
267
268       container shared-cell-copy-uplane-config {
269         if-feature FHM;
270         description
271           "Container consists of uplane-info for copy-configuration for FHM.";
272
273         list tx-eaxc-id {
274           key eaxc-id;
275           description
276             "used for low-level-tx-endpoints to copy";
277
278           leaf eaxc-id {
279             type uint16;
280             description
281               "encoded value of eaxcid to be read by CU-Plane";
282           }
283       }
284         list rx-eaxc-id {
285           key eaxc-id;
286           description
287             "used for low-level-rx-endpoints to copy";
288
289           leaf eaxc-id {
290             type uint16;
291             description
292               "encoded value of eaxcid to be read by CU-Plane";
293           }
294         }
295         uses radio-offset;
296       }
297
298     } // shared-cell-copy-entities
299   } // shared-cell-copy-configuration (groupings)
300
301   grouping shared-cell-combine-configuration{
302     description
303       "shared-cell-combine-configuration";
304
305     list shared-cell-combine-entities{
306       key name;
307       description
308         "combine configuration. The north-node is O-DU or O-RU.
309          The south-nodes are O-RUs.
310          The number of south-nodes is at most one for cascade O-RU and
311          more than one for FHM";
312
313       leaf name{
314         type string;
315         description
316          "name of shared-cell-combine-entity";
317       }
318
319       uses processing-element-set;
320
321       leaf ta3-prime-max {
322         type uint32;
323         units nanoseconds;
324         description
325           "indicates the latest time that FHM or cascade O-RU is allowed to
326            send UL U-plane message to north-node relative to reception
327            timing at O-RU antenna.";
328       }
329
330       uses shared-cell-combine-uplane-config;
331     }
332   }
333
334   grouping shared-cell-combine-uplane-config{
335     description
336       "shared cell related uplane configuration applicable to O-RU which
337        doesn't have radio transmisison capability";
338     container shared-cell-combine-uplane-config {
339       if-feature FHM;
340       description
341         "when O-RU doesn't have radio transmisison availability for FHM mode,
342          the required u-plane configuration for copy and combine function
343          are defined, instead of the lists of o-ran-uplane-conf.yang";
344
345       list rx-eaxc-id {
346         key eaxc-id;
347         description
348           "used for low-level-rx-endpoints to combine";
349         leaf eaxc-id {
350           type uint16;
351           description
352             "encoded value of eaxc-id to be read by CU-Plane";
353         }
354         container comression-method {
355           description
356             "for combine mechanism, compression method per eaxc-id applied in
357              south-node is known to FHM ";
358           uses cf:compression-details;
359         }
360       }
361
362       uses radio-offset;
363
364       leaf n-ta-offset {
365         type uint32;
366         units Tc;
367         mandatory true;
368         description
369           "Value of configurable N-TA offset
370           units are Tc=~0.5ns=1/1.96608GHz";
371       }
372
373       leaf  number-of-prb {
374         type uint16;
375         mandatory true;
376         description
377           "Determines max number of PRBs that will be used in all sections
378           per one symbol.
379           This value is used only when uplink C-plane message indicates that
380           all PRB is used in the field of numPrbc";
381       }
382     }
383   }
384
385 // top level container
386   container shared-cell{
387     description
388       "This container for shared-cell consists of capability information and
389        configurable parameters";
390     uses shared-cell-module-capability;
391
392     container shared-cell-config {
393       description "configuration for shared cell.";
394       uses shared-cell-mode;
395     }
396   }
397 }