1 module xran-uplane-conf {
3 namespace "urn:xran:uplane-conf:1.0";
4 prefix "xran-uplane-conf";
6 import xran-processing-element {
10 import ietf-interfaces {
14 import xran-module-cap {
18 organization "xRAN Forum";
24 "This module defines the module capabilities for
25 the xRAN Radio Unit U-Plane configuration.
27 Copyright 2018 the xRAN Forum.
29 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 'AS IS'
30 AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
31 IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
32 ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
33 LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
34 CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
35 SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
36 INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
37 CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
38 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
39 POSSIBILITY OF SUCH DAMAGE.
41 Redistribution and use in source and binary forms, with or without
42 modification, are permitted provided that the following conditions are met:
44 * Redistributions of source code must retain the above copyright notice,
45 this list of conditions and the above disclaimer.
46 * Redistributions in binary form must reproduce the above copyright notice,
47 this list of conditions and the above disclaimer in the documentation
48 and/or other materials provided with the distribution.
49 * Neither the Members of the xRAN Forum nor the names of its
50 contributors may be used to endorse or promote products derived from
51 this software without specific prior written permission.";
53 revision "2018-07-20" {
55 "version 1.0.0 - First release of the xRAN YANG M-Plane models.
57 This version of the model supports v01.00 of the corrsponding xRAN
58 M-Plane Specification.";
59 reference "XRAN-FH.MP.0-v01.00";
64 "One eAxC identifier (eAxC ID) comprises a band and sector
65 identifier (BandSector_ID), a component-carrier identifier (CC_ID) and a
66 spatial stream identifier (RU_Port_ID).
68 In this version of the specification, one eAxC contains only one spatial
69 stream (i.e. one beam per subcarrier) at a time.
71 Bit allocation is subdivided as follows:
72 * CU_Port_ID: Used to differentiate processing units at lls-CU
73 * BandSector_ID: Aggregated cell identifier
74 * CC_ID: distinguishes Carrier Components
75 * RU_Port_ID: Used to differentiate spatial streams or beams on the RU
77 The bitwidth of each of the above fields is variable this model is supposed to check
78 if we are occpying bits continuously but we do not have to occupy all 16 bits";
81 leaf cu-port-bitmask {
85 "mask for eaxc-id bits used to encode CU Port ID";
88 leaf band-sector-bitmask {
92 "mask for eaxc-id bits used to encode the band sector ID";
99 "mask for eaxc-id bits used to encode the component carrier id";
102 leaf ru-port-bitmask {
106 "mask for eaxc-id bits used to encode the RU Port ID";
113 "encoded value of eaxcid to be read by CU-Plane";
117 container user-plane-configuration {
118 description "top level container for user plane configuration";
120 container compression {
122 "Container which consists of global configurable parameters for compression";
124 leaf compression-type {
128 "Indicates that static compression method will be used (both compression and IQ bitwidth)";
133 "Indicates that dynamic compresion method will be used";
137 "Compression type that lls-CU wants to be supported";
141 when "./../compression-type = 'STATIC'";
144 "Bitwidth to be used in compression";
147 leaf compression-method {
148 when "./../compression-type = 'STATIC'";
150 enum BLOCK_FLOATING_POINT {
152 "Block floating point compression and decompression will be used";
157 "Block scaling compression and decompresion will be used";
162 "u-Law compression and decompresion method will be used";
167 "Beamspace compression and decompression will be used";
172 "Modulation compression and decompression will be used";
176 "Compresion method which can be supported by the RU";
180 list low-level-tx-links {
183 "Object model for low-level-tx-link configuration";
188 "Unique name of low-level-tx-link object.";
191 leaf processing-element {
193 path "/xran-pe:processing-elements/xran-pe:ru-elements/xran-pe:name";
197 "Contains name of processing-element to be used as transport by low-level-tx-link";
200 leaf tx-array-carrier {
202 path "/user-plane-configuration/tx-array-carriers/name";
206 "Contains name of tx-array-carriers MO to be used as transport by low-level-tx-link";
209 leaf low-level-tx-endpoint {
211 must "boolean(../../low-level-tx-endpoints[name = current()])" {
212 error-message "low-level-tx-endpoint you want to set does not exists in /low-level-tx-endpoints/name";
216 "Contains name of low-level-tx-endpoints MO to be used as transport by low-level-tx-link";
219 container remote-address {
222 must "( cu-port-bitmask + band-sector-bitmask + ccid-bitmask + ru-port-bitmask ) =
223 '(0 | 1 | 3 | 7 | 15 | 31 | 63 | 127 | 255 | 511 | 1023 | 2047 | 4095 | 8191 | 16383 | 32767 | 65535)'" {
224 error-message "Bitmasks for eaxc-id is badly formatted";
228 "Contains address of remote TX endpoint served by NETCONF client.";
232 list low-level-rx-links {
235 "Object model for low-level-rx-links configuration";
241 "Unique name of low-level-rx-links object.";
244 leaf processing-element {
246 path "/xran-pe:processing-elements/xran-pe:ru-elements/xran-pe:name";
250 "Contains name of processing-element to be used as transport by LowLevelTxLink";
253 leaf rx-array-carrier {
255 path "/user-plane-configuration/rx-array-carriers/name";
260 "Contains name of rx-array-carriers MO to be used as transport by low-level-rx-links";
263 leaf low-level-rx-endpoint {
265 must "boolean(../../low-level-rx-endpoints[name = current()])" {
266 error-message "low-level-rx-endpoint you want to set does not exists in /low-level-rx-endpoints/name";
271 "Contains name of low-level-rx-endpoints MO to be used as transport by low-level-rx-links";
274 container remote-address {
277 must "( cu-port-bitmask + band-sector-bitmask +ccid-bitmask + ru-port-bitmask ) =
278 '(0 | 1 | 3 | 7 | 15 | 31 | 63 | 127 | 255 | 511 | 1023 | 2047 | 4095 | 8191 | 16383 | 32767 | 65535)'" {
279 error-message "Bitmasks for eaxc-id is badly formatted";
283 "Contains address of remote RX endpoint served by Netconf client.";
290 "Means high priority for link";
294 "Means low priority for link";
299 "Parameter to set priority for this link";
303 list static-low-level-tx-endpoints {
307 "Object model for static-low-level-tx-endpoints configuration";
313 "Unique name of static-low-level-tx-endpoints object.";
318 must "boolean(/if:interfaces/if:interface[if:name = current()])" {
319 error-message "ethernet-interface you want to set does not exists in /interfaces/interface/name";
323 "Contains name of ietf:interface to be used as transport by low-level-tx-endpoints";
328 path "/user-plane-configuration/tx-arrays/name";
331 "Contains distname of tx-arrays, particular low-level-tx-endpoints is in hardware dependency with.
332 Note: single instance of tx-arrays can be referenced by many instances of low-level-tx-endpoints
333 (e.g. to allow DU to handle multiple fronthauls and multiple component carriers).";
337 list static-low-level-rx-endpoints {
341 "Object model for static-low-level-rx-endpoints configuration";
347 "Unique name of static-low-level-rx-endpoints object.";
352 must "boolean(/if:interfaces/if:interface[if:name = current()])" {
353 error-message "interface you want to set does not exists in /interfaces/interface/name";
357 "Contains name of ietf:interface to be used as transport by low-level-rx-endpoints";
362 path "/user-plane-configuration/rx-arrays/name";
365 "Contains distname of rx-arrays, particular low-level-rx-endpoints is in hardware dependency with.
366 Note: single instance of rx-arrays can be referenced by many instances of low-level-rx-endpoints
367 (e.g. to allow DU to handle multiple fronthauls and multiple component carriers).";
371 list low-level-tx-endpoints {
374 "Object model for low-level-tx-endpoints configuration - augmented static-low-level-tx-endpoints by local-address
375 which cannot be added to static low-level-tx-endpoints as we cannot have modificable element in static object";
379 must "boolean(../../static-low-level-tx-endpoints[name = current()])" {
380 error-message "name you want to set does not exist in /static-low-level-tx-endpoints/name";
384 "Unique name of low-level-tx-endpoint object.";
387 container local-address {
390 must "( cu-port-bitmask + band-sector-bitmask + ccid-bitmask + ru-port-bitmask ) =
391 '(0 | 1 | 3 | 7 | 15 | 31 | 63 | 127 | 255 | 511 | 1023 | 2047 | 4095 | 8191 | 16383 | 32767 | 65535)'" {
392 error-message "Bitmasks for eaxc-id is badly formatted";
395 "Contains local address of low level TX endpoint offered by Netconf server.";
400 list low-level-rx-endpoints {
403 "Object model for low-level-rx-endpoint configuration - augmented static-low-level-rx-endpoints by local-address
404 which cannot be added to static low-level-rx-endpoints as we cannot have modificable element in static object";
408 must "boolean(../../static-low-level-rx-endpoints[name = current()])" {
409 error-message "name you want to set does not exist in /static-low-level-rx-endpoints/name";
413 "Unique name of low-level-rx-endpoint object.";
416 container local-address {
419 must "( cu-port-bitmask + band-sector-bitmask + ccid-bitmask + ru-port-bitmask ) =
420 '(0 | 1 | 3 | 7 | 15 | 31 | 63 | 127 | 255 | 511 | 1023 | 2047 | 4095 | 8191 | 16383 | 32767 | 65535)'" {
421 error-message "Bitmasks for eaxc-id is badly formatted";
425 "Contains local address of low level RX endpoint offered by Netconf server.";
429 list tx-array-carriers {
432 "Object model for tx-array-carriers configuration";
438 "Unique name of tx-array-carriers object.";
441 leaf absolute-frequency-center {
445 "Absolute Radio Frequency Channel Number - indirectly indicates RF center carrier frequency of downlink signal.";
448 leaf center-of-channel-bandwidth {
453 "Center frequency of channel bandwidth in Hz. Common for all numerologies.";
456 leaf channel-bandwidth {
462 "Width of carrier given in Hertz";
473 "Transmission power in dBm. Value applicable to each array element carrier belonging to array carrier.";
480 "carrier does not provide signal - transmission is disabled";
484 "carrier is fully configured and was active but is energy saving mode";
488 "carrier is fully configured and properly providing the signal";
494 "Indicates if transmission is enabled for this tx-array-carriers. Note that Netconf server uses state parameter
495 to indicate actual state of tx-array-carriers operation. When tx-array-carriers is in sleep status,
496 Netconf server rejects all other operation request to tx-array-carriers object except either request to change from sleep
497 to active status or delete MO operation (see 4.8) to the object.";
504 "tx-array-carrier is not active - transmission of signal is disabled.";
508 "tx-array-carrier is processing an operation requested by change of active parameter.
509 When tx-array-carriers is BUSY the transmission of signal is not guaranteed.";
513 "tx-array-carrier had completed activation operation - is active and transmission of signal is ongoing.";
519 "Indicates state of tx-array-carriers activation operation";
532 "Type of carrier. Indicates array-carrier technology.";
539 "The FFT size defines the number of bins used for dividing the window into equal strips, or bins.
540 Hence, a bin is a spectrum sample, and defines the frequency resolution of the window.";
543 leaf downlink-radio-frame-offset {
550 "This parameter is used for offsetting the starting position of 10ms radio frame.
551 Note: The value should have same value within DU to all tx-array-carrierss that have same frequency and bandwidth.
552 Note2: Unit is 1/1.2288e9 Hz and accuracy is 1/4 Tc. Then, its range is calculated 0..12288000.";
555 leaf downlink-sfn-offset {
562 "This parameter is used for offsetting SFN value.
564 Note: The value should have same value within DU to all tx-array-carrierss that have same frequency and bandwidth.";
572 "15kHz sub carrier spacing";
577 "30kHz sub carrier spacing";
582 "60kHz sub carrier spacing";
587 "120kHz sub carrier spacing";
592 "240kHz sub carrier spacing";
597 "1,25kHz sub carrier spacing";
602 "5kHz sub carrier spacing";
609 "Sub-carrier spacing configuration";
612 list scs-specific-config {
615 "List of scs-specific configurations";
621 "CP length woud be determined by deployment types that has different
622 delay spread requirements, and/or determined by frequency bands, service type
623 or determined by whether beam forming technology is used or not";
627 list rx-array-carriers {
630 "Object model for rx-array-carriers configuration";
635 "Unique name of rx-array-carriers object.";
639 leaf absolute-frequency-center {
643 "Absolute Radio Frequency Channel Number - indirectly indicates RF center carrier frequency of downlink signal.";
645 leaf center-of-channel-bandwidth {
650 "Center frequency of channel bandwidth. Common for all numerologies.";
652 leaf channel-bandwidth {
657 "Width of carrier given in Hertz";
665 "carrier does not provide signal - transmission is disabled";
669 "carrier is fully configured and was active but is energy saving mode";
673 "carrier is fully configured and properly providing the signal";
678 "Indicates if transmission is enabled for this rx-array-carriers. Note that Netconf server uses state parameter
679 to indicate actual state of rx-array-carriers operation. When rx-array-carriers is in sleep status,
680 Netconf server rejects all other operation request to rx-array-carriers object except either request to change from sleep
681 to active status or delete MO operation (see 4.8) to the object.";
688 "rx-array-carrier is not active - transmission of signal is disabled.";
692 "rx-array-carrier is processing an operation requested by change of active parameter.
693 When tx-array-carriers is BUSY the transmission of signal is not guaranteed.";
697 "rx-array-carrier had completed activation operation - is active and transmission of signal is ongoing.";
703 "Indicates state of rx-array-carriers activation operation";
716 "Type of carrier. Indicates array-carrier technology.";
725 leaf ul-fft-sampling-offset {
728 "uplink FFT sampling offset";
734 "Value of configurable N-TA offset";
741 "15kHz sub carrier spacing";
746 "30kHz sub carrier spacing";
751 "60kHz sub carrier spacing";
756 "120kHz sub carrier spacing";
761 "240kHz sub carrier spacing";
766 "1,25kHz sub carrier spacing";
771 "5kHz sub carrier spacing";
777 "Sub-carrier spacing configuration";
780 list scs-specific-config {
783 "List of static scs-specific configurations";
791 "CP length woud be determined by deployment types that has different
792 delay spread requirements, and/or determined by frequency bands, service type
793 or determined by whether beam forming technology is used or not";
802 "Object model for tx-arrays configuration";
807 "Unique name of tx-arrays object.";
812 range "-45 | 0 | 45 | 90";
815 "This parameter informing which polarization is served by particular antenna array
816 as per HW design. Expected values are +45 deg, -45 deg, 0 deg and 90 deg.
817 Note: In case of multi-band RU orthogonality is assumed to exist per band, meaning:
818 either pair of +45 deg and -45 deg or pair of 0 deg and 90 deg are expected per band.
819 Non-orthogonal pairs like e.g 0 deg and +45 deg are not expected.";
825 "This parameter informing panel particular antenna array is built into.
826 Intended use is to indicate if two orthogonal arrays occupy the same physical panel (e.g. as cross-polarized
827 radiators) or if arrays of different polarizations are built into physically separated panels.";
832 path "/mcap:module-capability/mcap:band-capabilities/mcap:band-number";
835 "This parameter informing which frequency band particular antenna
836 array is serving for.
837 Intended use is to deal with multiband solutions.";
845 "Object model for rx-arrays configuration";
850 "Unique name of rx-arrays object.";
855 range "-45 | 0 | 45 | 90";
858 "This parameter informing which polarization is served by particular antenna array
859 as per HW design. Expected values are +45 deg, -45 deg, 0 deg and 90 deg.
860 Note: In case of multi-band RU orthogonality is assumed to exist per band, meaning:
861 either pair of +45 deg and -45 deg or pair of 0 deg and 90 deg are expected per band.
862 Non-orthogonal pairs like e.g 0 deg and +45 deg are not expected.";
868 "This parameter informing panel particular antenna array is built
870 Intended use is to indicate if two orthogonal arrays occupy the same
871 physical panel (e.g. as cross-polarized radiators) or if arrays of
872 different polarizations are built into physically separated panels.";
877 path "/mcap:module-capability/mcap:band-capabilities/mcap:band-number";
880 "This parameter informing which frequency band particular antenna
881 array is serving for.
882 Intended use is to deal with multiband solutions.";
887 grouping scs-config {
889 "It groups all parameters related to SCS configuration";
896 "15kHz sub carrier spacing";
901 "30kHz sub carrier spacing";
906 "60kHz sub carrier spacing";
911 "120kHz sub carrier spacing";
916 "240kHz sub carrier spacing";
921 "1,25kHz sub carrier spacing";
926 "5kHz sub carrier spacing";
930 "Sub-carrier spacing configuration";
932 leaf offset-to-absolute-frequency-center {
936 "Offset to center-of-carrier-bandwidth. Mostly negative value. Granularity of this parameter is 0.5 SCS";
939 leaf number-of-prbs {
943 "Number of physical resource blocks.";