1 module o-ran-performance-management {
3 namespace "urn:o-ran:performance-management:1.0";
6 import ietf-yang-types {
8 revision-date 2013-07-15;
11 // import identifier for O-RU
12 import ietf-hardware {
16 // import ietf-interface
17 import ietf-interfaces {
21 // import ietf-inet-type
22 import ietf-inet-types {
27 import o-ran-interfaces {
31 // import ru-mac-address, o-du-mac-address and vlan-id
32 import o-ran-processing-element {
33 prefix "o-ran-elements";
36 import o-ran-file-management {
37 prefix "o-ran-file-mgmt";
40 import iana-hardware {
44 import o-ran-uplane-conf {
48 import o-ran-wg4-features {
52 organization "O-RAN Alliance";
58 "This module defines the configuration for performance measurement for
59 transceiver and rx-window measurement objects.
61 NOTE, whereas this YANG model may define support of schema nodes associated
62 with O-RU measurements as optional, the CU-Plane specification may further
63 specify whether, according to a particular version of the CU plane
64 specification, which specific measurements are mandatory to support
65 from an O-RU perspective. In such a situation, the definition of mandatory
66 performance counters in sub-section 7.1 of the CU-plane specification shall
69 Copyright 2021 the O-RAN Alliance.
71 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 'AS IS'
72 AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
73 IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
74 ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
75 LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
76 CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
77 SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
78 INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
79 CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
80 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
81 POSSIBILITY OF SUCH DAMAGE.
83 Redistribution and use in source and binary forms, with or without
84 modification, are permitted provided that the following conditions are met:
86 * Redistributions of source code must retain the above copyright notice,
87 this list of conditions and the above disclaimer.
88 * Redistributions in binary form must reproduce the above copyright notice,
89 this list of conditions and the above disclaimer in the documentation
90 and/or other materials provided with the distribution.
91 * Neither the Members of the O-RAN Alliance nor the names of its
92 contributors may be used to endorse or promote products derived from
93 this software without specific prior written permission.";
99 1) style guide corrections.
100 2) changed import prefix for o-ran-file-management.";
102 reference "ORAN-WG4.M.0-v07.00";
105 revision 2021-12-01 {
109 1) typographical corrections in descriptions.
110 2) deprecating leaf-list frequency-table and replacing with frequency-bin-table
111 3) Add support for multiple transport-session-type per O-RU";
113 reference "ORAN-WG4.M.0-v07.00";
116 revision 2021-07-26 {
120 1) added new EPE measurements - VOLTAGE and CURRENT
121 2) added data-direction to rx-window measurements
122 3) added ability to report multiple measurements in notifications
123 4) added new symbol TD-RSSI measurements
124 5) added FTPES file upload support ";
126 reference "ORAN-WG4.M.0-v07.00";
129 revision 2021-03-22 {
133 1) typographical corrections in descriptions";
135 reference "ORAN-WG4.M.0-v05.00";
138 revision 2020-12-10 {
142 1) container epe-stats is changed deprecated
143 2) New list epe-statistics and measurement-object is added as key
144 3) bug fix by pyang --lint";
146 reference "ORAN-WG4.M.0-v05.00";
149 revision "2020-04-17" {
153 1) updated top-level model description concerning optionality of measurements
154 2) added new rx window counters
155 3) added new TX stats measurements
156 4) added new EPE measurements
157 5) fixed typo in enumeration - TX_POPWER
158 6) introduced config false data indicating which type of measurements are supported";
160 reference "ORAN-WG4.M.0-v03.00";
163 revision "2019-07-03" {
167 1) added new measurement objects for QSFP
168 2) backward compatible changes to correct sFTP Server Authentication.
169 3) simplifying file management and authentication to reuse from o-ran-file-management module
170 4) minor fixes according to lack of descriptions and reference
171 5) added to descriptions to indicate applicability of leafs and Containers
172 to separate O-RAN use cases
173 6) backward compatible changes to introduce groupings.";
175 reference "ORAN-WG4.M.0-v02.00";
178 revision "2019-02-04" {
182 1) imported model from xRAN
183 2) changed namespace and reference from xran to o-ran";
185 reference "ORAN-WG4.M.0-v01.00";
189 feature GRANULARITY-TRANSPORT-MEASUREMENT {
191 "This feature indicates that the O-RU supports an optional object-unit TRANSPORT in rx-window-measurement.";
194 feature GRANULARITY-EAXC-ID-MEASUREMENT {
196 "This feature indicates that the O-RU supports an optional object-unit EAXC_ID in rx-window-measurement.";
199 grouping start-and-end-time {
201 "Definition for start and end time for an event";
204 type yang-types:date-and-time;
206 "Start time for measurement of object stats";
209 type yang-types:date-and-time;
211 "End time for measurement of object stats";
215 grouping epe-measurement-result-grouping {
217 "energy, power and environmental measurement-result are listed for O-RU";
219 list epe-measurement-result {
220 key "object-unit-id";
222 description "energy power and environmental measurement results";
223 leaf object-unit-id {
225 path "/hw:hardware/hw:component/hw:class";
229 "the hardware component type is used for the object-unit-id for the
230 EPE measurements. For example, the object-unit-id will be set to
231 or-hw:O-RAN-RADIO if the measurement applies to the complete O-RU
232 self-contained sub-system.
234 Other hardware-classes include: or-hw:O-RU-POWER-AMPLIFIER,
235 ianahw:power-supply, ianahw:fan, ianahw:cpu";
243 "minimum value for the measurement-object";
250 "maximum value for the measurement-object";
257 "average value of the measurement-object";
262 grouping transceiver-measurement-result-grouping {
264 "transceiver-measurement-result are listed per port-number";
266 list transceiver-measurement-result {
267 key "object-unit-id";
269 leaf object-unit-id {
271 path "/if:interfaces/if:interface/o-ran-int:port-reference/o-ran-int:port-number";
275 "port-number is used for the object-unit-id for the
276 transceiver-measurement-result, for which object-unit is
281 "minimum value with recorded time are included for the
290 "minimum value for the measurement-object";
293 type yang-types:date-and-time;
296 "recorded time for the minimum value";
301 "maximum value with recorded time are included for the
310 "maximum value for the measurement-object";
313 type yang-types:date-and-time;
316 "recorded time for the maximum value";
321 "first value with the recorded time are included for the
330 "first value of the measurement-object";
333 type yang-types:date-and-time;
336 "recorded time for the first value";
341 "latest value with the recorded time are included for the
350 "latest value of the measurement-object";
353 type yang-types:date-and-time;
356 "recorded time for the latest value";
359 leaf-list frequeny-table {
363 "frequency-table for the measurement-object are included per bin.
364 The configuration parameters for this frequency-table are defined
365 by bin-count, lower-bound and upper-bound";
367 list frequency-bin-table {
371 description "Sequence number of the bin";
375 description "count corresponding to the bin";
378 "frequency-table for the measurement-object are included per bin.
379 The configuration parameters for this frequency-table are defined
380 by bin-count, lower-bound and upper-bound";
383 "List of transceiver measurement results";
387 grouping rx-window-measurement-result-grouping{
389 "Group of measurement results for rx window measurements";
391 choice object-unit-id {
396 path "/hw:hardware/hw:component/hw:name";
400 "the name of O-RU module or one of its child ports
401 in ietf-hardware/component is used when O-RU is selected as
402 object-unit for the reception window stats.";
409 "the number of data packet are counted for the reception
410 window stats per O-RU.";
415 list tr-measured-result{
418 path "/o-ran-elements:processing-elements/o-ran-elements:ru-elements/o-ran-elements:name";
422 "the name of ru-elements in o-ran-processing-elements
423 when TRANSPORT is selected as object-unit for the reception
427 leaf transport-session-type {
428 if-feature "feat:MULTIPLE-TRANSPORT-SESSION-TYPE";
431 description "VLAN based CUS Transport ";
433 enum UDPIP-INTERFACE {
434 description "UDP/IP based CUS Transport ";
436 enum ALIASMAC-INTERFACE{
437 description "Alias MAC address based CUS Transport ";
441 "transport session type used when an O-RU is configured with multiple processing elements of different transport session types,
442 in which case it is used for referencing a processing element in 'transport-qualified-name'";
445 leaf transport-qualified-name {
446 if-feature "feat:MULTIPLE-TRANSPORT-SESSION-TYPE";
448 path "/o-ran-elements:processing-elements/o-ran-elements:additional-transport-session-type-elements[o-ran-elements:transport-session-type = current()/../transport-session-type]/o-ran-elements:ru-elements/o-ran-elements:name";
451 "the name of ru-elements in o-ran-processing-elements
452 when TRANSPORT is selected as object-unit for the reception
453 window stats. Used when the processing element is configured
454 by the list 'additional-transport-session-type-elements'";
462 "the number of data packet are counted for the reception
467 "the number of data packet are counted for the reception
468 window stats per TRANSPORT.";
473 list eaxc-measured-result {
479 when EAXC_ID is selected as object-unit for the reception
481 EAXC_ID consists of DU-Port-Id, Band-Selector, CC-id and
482 RU-Port-Id to be used in header of C/U-plane data packet.";
489 "the number of data packet are counted for the reception
492 leaf data-direction {
496 "reported measurement refers to control plane messages with dataDirection bit = 1.";
500 "reported measurement refers to control plane messages with dataDirection bit = 0.";
504 "reported measurement refers to control plane messages irrespective of dataDirection bit setting.";
508 "An optional leaf used when reporting rx window measurement associated with
509 control plane messages. See CUS-Plane Specification for more details of the dataDirection bit.
511 When not present and reporting rx window measurement associated with control plane messages,
512 the receiving entity can assume that the reported control plane rx window measurement refers
513 to control plane messages irrespective of dataDirection bit setting.
515 Can be ignored when received in rx window measurements not corresponding to control plane messages.";
517 leaf transport-name {
519 path "/o-ran-elements:processing-elements/o-ran-elements:ru-elements/o-ran-elements:name";
523 "the name of ru-elements in o-ran-processing-elements for the
524 transport information corresponding to this eaxc-id";
527 leaf transport-session-type {
528 if-feature "feat:MULTIPLE-TRANSPORT-SESSION-TYPE";
531 description "VLAN based CUS Transport ";
533 enum UDPIP-INTERFACE {
534 description "UDP/IP based CUS Transport ";
536 enum ALIASMAC-INTERFACE{
537 description "Alias MAC address based CUS Transport ";
541 "transport session type used when an O-RU is configured with multiple processing elements of different transport session types,
542 in which case it is used for referencing a processing element in 'transport-qualified-name'";
545 leaf transport-qualified-name {
546 if-feature "feat:MULTIPLE-TRANSPORT-SESSION-TYPE";
548 path "/o-ran-elements:processing-elements/o-ran-elements:additional-transport-session-type-elements[o-ran-elements:transport-session-type = current()/../transport-session-type]/o-ran-elements:ru-elements/o-ran-elements:name";
551 "the name of ru-elements in o-ran-processing-elements for the
552 transport information corresponding to this eaxc-id.
553 Used when the processing element is configured
554 by the list 'additional-transport-session-type-elements'";
558 "the number of data packet are counted for the reception
559 window stats per EAXC-ID.";
564 "measurement-result for the reception window stats depends on the
565 configured object-unit, RU, TRANSPORT or EAXC_ID";
569 grouping tx-measurement-result-grouping{
571 "Group of measurement results for tx stats";
573 choice object-unit-id {
578 path "/hw:hardware/hw:component/hw:name";
582 "the name of O-RU module or one of its child ports
583 in ietf-hardware/component is used when O-RU is selected as
584 object-unit for the reception window stats.";
591 "the number of data packet are counted for the tx stats per O-RU.";
596 list tr-measured-result{
599 path "/o-ran-elements:processing-elements/o-ran-elements:ru-elements/o-ran-elements:name";
603 "the name of ru-elements in o-ran-processing-elements
604 when TRANSPORT is selected as object-unit for the tx stats.";
607 leaf transport-session-type {
608 if-feature "feat:MULTIPLE-TRANSPORT-SESSION-TYPE";
611 description "VLAN based CUS Transport ";
613 enum UDPIP-INTERFACE {
614 description "UDP/IP based CUS Transport ";
616 enum ALIASMAC-INTERFACE{
617 description "Alias MAC address based CUS Transport ";
621 "transport session type used when an O-RU is configured with multiple processing elements of different transport session types,
622 in which case it is used for referencing a processing element in 'transport-qualified-name'";
625 leaf transport-qualified-name {
626 if-feature "feat:MULTIPLE-TRANSPORT-SESSION-TYPE";
628 path "/o-ran-elements:processing-elements/o-ran-elements:additional-transport-session-type-elements[o-ran-elements:transport-session-type = current()/../transport-session-type]/o-ran-elements:ru-elements/o-ran-elements:name";
631 "the name of ru-elements in o-ran-processing-elements
632 when TRANSPORT is selected as object-unit for the tx stats.
633 Used when the processing element is configured
634 by the list 'additional-transport-session-type-elements'";
642 "the number of data packet are counted for the tx stats.";
646 "the number of data packet are counted for the tx stats per TRANSPORT.";
651 list eaxc-measured-result {
657 when EAXC_ID is selected as object-unit for the tx stats.
658 EAXC_ID consists of DU-Port-Id, Band-Selector, CC-id and
659 RU-Port-Id to be used in header of C/U-plane data packet.";
666 "the number of data packet are counted for the tx stats.";
668 leaf transport-name {
670 path "/o-ran-elements:processing-elements/o-ran-elements:ru-elements/o-ran-elements:name";
674 "the name of ru-elements in o-ran-processing-elements for the
675 transport information corresponding to this eaxc-id";
678 leaf transport-session-type {
679 if-feature "feat:MULTIPLE-TRANSPORT-SESSION-TYPE";
682 description "VLAN based CUS Transport ";
684 enum UDPIP-INTERFACE {
685 description "UDP/IP based CUS Transport ";
687 enum ALIASMAC-INTERFACE{
688 description "Alias MAC address based CUS Transport ";
692 "transport session type used when an O-RU is configured with multiple processing elements of different transport session types,
693 in which case it is used for referencing a processing element in 'transport-qualified-name'";
696 leaf transport-qualified-name {
697 if-feature "feat:MULTIPLE-TRANSPORT-SESSION-TYPE";
699 path "/o-ran-elements:processing-elements/o-ran-elements:additional-transport-session-type-elements[o-ran-elements:transport-session-type = current()/../transport-session-type]/o-ran-elements:ru-elements/o-ran-elements:name";
702 "the name of ru-elements in o-ran-processing-elements for the
703 transport information corresponding to this eaxc-id.
704 Used when the processing element is configured
705 by the list 'additional-transport-session-type-elements'";
709 "the number of data packet are counted for the tx stats per EAXC-ID.";
714 "measurement-result for the tx stats depends on the
715 configured object-unit, RU, TRANSPORT or EAXC_ID";
719 grouping symbol-rssi-measurement-result-grouping {
722 "symbol-rssi-measurement-result is the time domain RSSI per symbol,
723 the reference point for the TD-RSSI shall be the antenna connector of the O-RU.
724 The value of Received Signal Strength Indicator(RSSI) per rx-array-carrier per configured OFDM symbol is measured.
725 the RSSI shall be calculated as the linear average of the total received power observed in the configured
726 OFDM symbol in the measurement bandwidth from all sources including co-channel serving and non-serving cells,
727 adjacent channel interference, thermal noise etc., over the total number of antenna elements of the array.
728 The unit of the reported RSSI is dBm.
729 If analogue or hybrid beamforming is enabled, the beamId used for RSSI measurement is:
730 - When there is allocation of a beamId in this symbol, O-RU use that beamId for RSSI measurement;
731 - When there is no allocation of a beamId in this symbol, it is up to O-RU implementation, for example,
732 the O-RU can choose to use a common beamId or use a previous allocated beamId";
734 list symbol-rssi-measurement-result {
735 key "object-unit-id";
737 leaf object-unit-id {
739 path "/up:user-plane-configuration/up:rx-array-carriers/up:name";
743 "rx-array-carrier is used for the object-unit-id for the
744 symbol-rssi-measurement-result, for which object-unit is RX-ARRAY-CARRIER only.
745 this measurement is only supported by the rx-array-carriers which are configured with single numerology.
746 an O-RU shall reject any configuration for an object-unit-id that references a mixed numerology array carrier.";
749 list per-symbol-index-result {
752 "the symbol index for the measurement result";
758 "symbol-index is the symbol indexes within a configured 'period', These symbols include
759 - all UL symbols within a configured number of slots if measurement-object is ALL-UL-SYMBOLS,
760 and the UL symbols are decided by 'configurable-tdd-pattern', 'static-srs-configuration', 'static-prach-configuration',
761 and 'dataDirection' in the C-plane messages.
762 - configured symbols by 'symbol-index' within a configured 'period' if measurement-object is CONFIGURED-SYMBOLS,
763 If a c-plane message indicates a symbol within the 'symbol-index' list to be a DL symbol,
764 O-RU shall not measure RSSI on this symbol";
769 "minimum value with recorded time are included for the
778 "minimum value for the TD-RSSI measurement in dBm";
784 "maximum value with recorded time are included for the
793 "maximum value for the TD-RSSI measurement in dBm";
799 "average value with recorded time are included for the
808 "the dBm value of the linear average of TD-RSSI [Watt] value across the symbols with same symbol-index
809 if same symbol-index occurs multiple times within a given measurement interval.";
813 leaf-list frequency-table {
817 "frequency-table for the measurment-object are included per bin.
818 The configuration parameters for this frequency-table are defined
819 by bin-count, lower-bound and upper-bound";
822 list frequency-bin-table {
826 description "Sequence number of the bin";
830 description "count corresponding to the bin";
833 "frequency-table for the measurement-object are included per bin.
834 The configuration parameters for this frequency-table are defined
835 by bin-count, lower-bound and upper-bound";
839 "measurement-result for the symbol-wise TD-RSSI depends on the
840 configured object-unit, RX-ARRAY-CARRIER";
844 grouping measurement-group {
846 "Group of measurement results";
848 uses measurement-capabilities;
849 leaf enable-SFTP-upload {
854 "Flag to enable upload of performance measurement result files.";
857 leaf enable-file-upload {
861 "Flag to enable upload of performance measurement result files.
862 A single schema node is used to enable/disable file uploads
863 over either SFTP or FTPES with the format of the upload
864 path being used to signal which protocol to use.
866 An O-RU receiving this schema node should ignore the deprecated
867 enable-SFTP-upload schema node, if received.";
870 leaf enable-random-file-upload {
874 "Flag to enable upload of performance measurement result files at
875 random within file-upload-interval.";
878 list remote-SFTP-uploads {
879 key remote-SFTP-upload-path;
882 "SFTP upload can be done to one or more than one SFTP servers";
884 leaf remote-SFTP-upload-path {
887 "URI specifying the remote location where the files are to be uploaded.
888 The following format is possible:
889 sftp://<username>@<host>[:<port>]/path";
892 uses o-ran-file-mgmt:credential-information;
895 list remote-file-uploads {
896 key remote-file-upload-path;
898 "file upload can be done to one or more than one file servers
900 An O-RU receiving this list should ignore the deprecated
901 remote-SFTP-uploads list, if received";
903 leaf remote-file-upload-path {
906 "URI specifying the remote location where the files are to be uploaded.
908 When upload is via SFTP, the format shall be of the form
909 sftp://<username>@<host>[:port]/path
910 When upload is via FTPES, the format shall be of the form
911 ftpes://<username>@<host>[:port]/path
913 Note, ftpes is not an IANA registered URI scheme, but used here to signal
914 that a file transfer should be performed over FTPES";
917 uses o-ran-file-mgmt:credential-information;
920 // transceiver measurements applicable to all O-RAN HW functions
922 leaf transceiver-measurement-interval {
926 "measurement interval to measure the performance of transceiver
927 measurement objects periodically.";
930 // EPE measurements applicable to all O-RAN HW functions
932 leaf epe-measurement-interval {
936 "measurement interval to measure the energy, power and environmental
937 measurement objects periodically.";
940 // RX Window measurements applicable to O-RAN WG4 defined functions
942 leaf rx-window-measurement-interval {
946 "measurement interval to measure the performance of reception
947 window measurement objects periodically.";
950 leaf tx-measurement-interval {
954 "measurement interval to measure the tx (outbound)
955 window measurement objects periodically.";
958 leaf symbol-rssi-measurement-interval {
962 "measurement interval to measure the symbol-wise TD-RSSI measurement objects periodically.";
965 leaf notification-interval {
969 "notification interval for the measurement result to be notified
973 leaf file-upload-interval {
977 "file upload interval for the measurement result file to be
978 uploaded periodically.";
986 "indicates the maximum value of configurable bin-count for frequency
987 table in transceiver-measurement-objects as one of module
991 list transceiver-measurement-objects {
992 key "measurement-object";
994 "optional list used to report transceiver measurements
995 applicable to any O-RAN defined hardware function";
996 leaf measurement-object {
1000 "Measured Rx input power in mW for SFP or lane 1 of QSFP";
1002 enum RX_POWER_LANE_2 {
1004 "Measured Rx input power in mW for lane 2 of QSFP";
1006 enum RX_POWER_LANE_3 {
1008 "Measured Rx input power in mW for lane 3 of QSFP";
1010 enum RX_POWER_LANE_4 {
1012 "Measured Rx input power in mW for lane 4 of QSFP";
1017 "Measured Tx input power in mW.";
1021 "Measured Tx input power in mW.";
1023 enum TX_POWER_LANE_2 {
1025 "Measured Tx input power in mW for lane 2 of QSFP";
1027 enum TX_POWER_LANE_3 {
1029 "Measured Tx input power in mW for lane 3 of QSFP";
1031 enum TX_POWER_LANE_4 {
1033 "Measured Tx input power in mW for lane 4 of QSFP";
1035 enum TX_BIAS_COUNT {
1037 "Internally measured Tx Bias Current in mA for SFP or lane 1 of QSFP";
1039 enum TX_BIAS_COUNT_LANE_2 {
1041 "Internally measured Tx Bias Current in mA for lane 2 of QSFP";
1043 enum TX_BIAS_COUNT_LANE_3 {
1045 "Internally measured Tx Bias Current in mA for lane 3 of QSFP";
1047 enum TX_BIAS_COUNT_LANE_4 {
1049 "Internally measured Tx Bias Current in mA for lane 4 of QSFP";
1053 "Internally measured transceiver supply voltage in mV";
1057 "Internally measured optional laser temperature in degrees Celsius.";
1060 description "Target metric to measure the performance";
1067 "Enable/disable the performance measurement per Object";
1070 leaf-list report-info {
1074 "to report maximum value and its recorded time within the
1075 measurement-interval for the measurement-object.";
1079 "to report minimum value and its recorded time within the
1080 measurement-interval for the measurement-object.";
1084 "to report first value and its recorded time within the
1085 measurement-interval for the measurement-object.";
1089 "to report latest value and its recorded time within the
1090 measurement-interval for the measurement-object.";
1092 enum FREQUENCY_TABLE {
1094 "to report frequency bin table within the
1095 measurement-interval for the measurement-object.";
1098 description "The reporting info to the measurement object.";
1105 "unit to measure the performance per object-id";
1109 description "unit to measure the performance per object-id.";
1116 "the value is expressed by real value.";
1120 "the value is expressed by logarithm with base 10.";
1125 "the value to be recorded for transceiver-measurement
1126 by real value or log 10.";
1133 "the number of bin for the frequency table.
1134 This value shall be less than max-bin-count";
1143 "the lower value of the first bin of frequency table.";
1152 "the upper value of the last bin of frequency table.";
1154 uses transceiver-measurement-result-grouping;
1155 // configuration and measurement result for the transceiver-measurement
1159 list rx-window-measurement-objects {
1160 key "measurement-object";
1162 "optional list used to report RX Window measurements
1163 applicable to O-RAN WG4 define O-RU functions";
1164 leaf measurement-object {
1168 "the number of data packets, received on time within
1169 the reception window.";
1173 "the number of data packets, received before
1174 the reception window.";
1178 "the number of data packets, received after
1179 the reception window.";
1183 "the number of data packets, which are corrupt or whose header
1189 "the number of data packets, which is duplicated with other packets,
1190 received within the measurement period.";
1194 "the total number of received packets (data and control) within the measurement period.";
1198 "the number of control packets, received on time within
1199 the reception window.";
1203 "the number of control packets, received before
1204 the reception window.";
1208 "the number of control packets, received after
1209 the reception window.";
1213 "the number of data packets, received with an erroneous sequence ID.";
1215 enum RX_SEQID_ERR_C {
1217 "the number of control packets, received with an erroneous sequence ID.";
1221 "The total number of inbound messages which are discarded by the receiving
1222 O-RAN entity for any reason.";
1226 "target reception window metric to measure the performance.";
1233 "Enable/disable the performance measurement per reception window
1234 measurement object.";
1241 "the reception window stats are counted per hardware component.
1242 This may be the parent 'module' or child 'port' component.";
1245 if-feature GRANULARITY-TRANSPORT-MEASUREMENT;
1247 "the reception window stats are counted per transport flow.
1248 When there are multiple transport flows between O-DU and O-RU,
1249 e.g. multiple sets of o-du-mac-address, ru-mac-address and
1250 vlan-id, the reception window stats per transport flow
1251 are counted in this case.
1252 This configuration is allowed only when O-RU supports
1253 a feature GRANULARITY-TRANSPORT-MEASUREMENT.";
1256 if-feature GRANULARITY-EAXC-ID-MEASUREMENT;
1259 "the reception window stats are counted per eAxC ID, which is
1260 used in the header of received data packet.
1261 This configuration is allowed only when O-RU supports
1262 a feature GRANULARITY-EAXC-ID-MEASUREMENT.";
1266 "unit to measure the performance per object-id.";
1273 "the number of data packet are counted for the reception
1278 "The reporting info to the measurement object.";
1281 uses rx-window-measurement-result-grouping;
1282 // configuration and measurement result for the reception window stats
1287 list tx-measurement-objects {
1288 key "measurement-object";
1290 "optional list used to report TX measurements
1291 applicable to O-RAN WG4 define O-RU functions";
1292 leaf measurement-object {
1296 "the number of outbound packets (data and control), transmitted within
1297 the measurement period";
1301 "the number of outbound control packets, transmitted within
1302 the measurement period.
1303 This counter is required only if RU supports LAA/LBT capabilities.";
1307 "CU-plane transmission counters";
1314 "Enable/disable the measurement per measurement object.";
1321 "the transmission stats are counted per hardware component.
1322 This may be the parent 'module' or child 'port' component.";
1325 if-feature GRANULARITY-TRANSPORT-MEASUREMENT;
1327 "the transmission stats are counted per transport flow.
1328 When there are multiple transport flows between O-DU and O-RU,
1329 e.g. multiple sets of o-du-mac-address, ru-mac-address and
1330 vlan-id, the transmission stats per transport flow
1331 are counted in this case.
1332 This configuration is allowed only when O-RU supports
1333 a feature GRANULARITY-TRANSPORT-MEASUREMENT.";
1336 if-feature GRANULARITY-EAXC-ID-MEASUREMENT;
1339 "the transmission stats are counted per eAxC ID, which is
1340 used in the header of received data packet.
1341 This configuration is allowed only when O-RU supports
1342 a feature GRANULARITY-EAXC-ID-MEASUREMENT.";
1346 "unit to measure the performance per object-id.";
1353 "the number of data packet are counted for the reception
1358 "The reporting info to the measurement object.";
1361 uses tx-measurement-result-grouping;
1362 // configuration and measurement result for the tx stats
1366 list epe-measurement-objects {
1367 key "measurement-object";
1369 "optional list used to report energy, power and environmental
1370 measurements applicable to any O-RAN defined hardware function";
1371 leaf measurement-object {
1375 "Measured temperature in degrees Celsius";
1379 "Measured power consumed, in watts (W)";
1383 "Measured voltage, in volts (V)";
1387 "Measured current consumption, in amperes (A)";
1390 description "Target metric to measure the performance";
1397 "Enable/disable the performance measurement per Object";
1400 leaf-list report-info {
1404 "to report maximum value and its recorded time within the
1405 measurement-interval for the measurement-object.";
1409 "to report minimum value and its recorded time within the
1410 measurement-interval for the measurement-object.";
1414 "to report average value within the
1415 measurement-interval for the measurement-object.";
1418 description "The reporting info to the measurement object.";
1422 uses epe-measurement-result-grouping;
1423 // configuration and measurement result for the epe-measurement
1427 list symbol-rssi-measurement-objects {
1428 key "measurement-object";
1430 "optional list used to measure and report symbol-wise time domain RSSI for all UL symbols or configured symbols";
1432 leaf measurement-object {
1434 enum ALL-UL-SYMBOLS {
1436 "Measure and report symbol-rssi separately for all UL symbols in every configured number of slots (as defined by 'period' in 'symbol-rssi-measurement-objects'.
1437 And the UL symbols are decided by 'configurable-tdd-pattern', 'static-srs-configuration', 'static-prach-configuration',
1438 and 'dataDirection' in the C-plane messages.
1439 This option is recommended for static TDD case. If this option is used in dynamic TDD case, then O-RU measures
1440 only the allocates UL symbols because O-RU may not know 'candidate UL symbols' which are not allocated. ";
1443 enum CONFIGURED-SYMBOLS {
1445 "Measure and report symbol-rssi separately for all configured symbols as defined by the leaf-list 'symbol-index',
1446 This can be used for non-dynamic TDD as well as dynamic TDD cases,
1447 the O-RU should measure all configured symbols, irrespective of whether the UL symbol is allocated or not,
1448 If a c-plane message indicates a symbol within this 'symbol-index' list to be a DL symbol,
1449 O-RU shall not measure RSSI on this symbol.";
1452 description "Target metric to measure the symbol-rssi";
1457 enum RX-ARRAY-CARRIER {
1459 "unit to measure the performance per object-id,
1460 only the rx-array-carriers which are not configured with mixed numerology will be measured";
1464 description "unit to measure the performance per object-id.";
1467 list per-rx-array-carrier-configuration {
1468 key "rx-array-carrier";
1470 "measurement configuration per rx-array-carrier to accommodate different Subcarrier Spacing
1471 and TDD pattern per rx-array-carrier, and only the symbol-wise TD-RSSI of the rx-array-carriers
1472 included in per-rx-array-carrier-configuration will be measured and reported";
1474 leaf rx-array-carrier {
1476 path "/up:user-plane-configuration/up:rx-array-carriers/up:name";
1478 description "reference to the name of rx-array-carriers";
1485 "the number of slots that correspond to the period of a TDD-Configuration,
1486 and the start point of the 1st period is subframe#0, slot#0 of the 1st even number radio frame after this configuration is received,
1487 here even number radio frame is used because according to 3GPP TS 38.213, A UE expects that P1 + P2 divides 20 msec";
1490 leaf-list symbol-index {
1494 "the index of the symbols within 'period'. The first symbol within the 'period is symbol-index=0, next symbol is symbol-index =1 etc.
1495 This symbol-index is different from how symbolId is defined in CUS plane spec.
1496 These symbols are configured for O-RU to measure and report symbol-wise rssi,
1497 used only when 'measurement-object' = 'CONFIGURED-SYMBOLS'.
1498 If a c-plane message indicates a symbol within this 'symbol-index' list to be a DL symbol,
1499 O-RU shall not measure rssi on this symbol";
1506 "Enable/disable the symbol-rssi measurement per Object";
1509 leaf-list report-info {
1513 "to report maximum value and its recorded time within the
1514 measurement-interval for the measurement-object.";
1518 "to report minimum value and its recorded time within the
1519 measurement-interval for the measurement-object.";
1523 "to report average value within the
1524 measurement-interval for the measurement-object.";
1526 enum FREQUENCY_TABLE {
1528 "to report frequency bin table within the
1529 measurement-interval for the measurement-object.";
1532 description "The reporting info to the measurement object.";
1539 "the number of bin for the frequency table.
1540 This value shall be less than max-bin-count";
1547 "the lower value of the first bin of frequency table.";
1554 "the upper value of the last bin of frequency table.";
1558 uses symbol-rssi-measurement-result-grouping;
1559 // configuration and measurement result for the symbol-rssi-measurement
1564 grouping measurement-capabilities {
1565 description "a measurement capabilities grouping";
1566 container measurement-capabilitites {
1568 description "the type of measurement objects supported by the O-RU";
1570 list transceiver-objects {
1571 key measurement-object;
1572 description "list of transceiver objects";
1573 leaf measurement-object {
1575 path "/performance-measurement-objects/transceiver-measurement-objects/measurement-object";
1577 description "a measurement object";
1580 list rx-window-objects {
1581 key measurement-object;
1582 description "list of rx window objects";
1583 leaf measurement-object {
1585 path "/performance-measurement-objects/rx-window-measurement-objects/measurement-object";
1587 description "a measurement object";
1590 list tx-stats-objects {
1591 key measurement-object;
1592 description "list of tx stats objects";
1593 leaf measurement-object {
1595 path "/performance-measurement-objects/tx-measurement-objects/measurement-object";
1597 description "a measurement object";
1600 list epe-stats-objects {
1601 key "measurement-object";
1603 "An optional list describing the energy, power and environmental measurements supported
1604 by the O-RU. Measurements are defined per hardware component.";
1605 leaf measurement-object {
1607 path "/performance-measurement-objects/epe-measurement-objects/measurement-object";
1609 description "a measurement object";
1611 leaf-list component-class {
1613 base ianahw:hardware-class;
1616 "An indication of the general hardware type of the
1617 component for which EPE measurements are supported.";
1622 list symbol-rssi-stats-objects {
1623 key measurement-object;
1624 description "list of symbol-wise TD-RSSI stats objects";
1625 leaf measurement-object {
1627 path "/performance-measurement-objects/symbol-rssi-measurement-objects/measurement-object";
1629 description "a measurement object";
1635 grouping measurement-notification {
1638 "notification may contain measurement result for transceiver-stats
1639 and/or rx-window-stats and/or tx-stats and/or epe-stats";
1640 list transceiver-stats {
1641 key "measurement-object";
1644 "measurement result of transceiver-measurement per measurement-object";
1645 leaf measurement-object {
1647 path "/performance-measurement-objects/transceiver-measurement-objects/measurement-object";
1651 "measurement-object for the transceiver-measurement";
1654 uses start-and-end-time;
1655 uses transceiver-measurement-result-grouping;
1657 list multiple-transceiver-measurement-result {
1660 "Multiple measurement results of transceiver-measurement.
1662 The O-RU shall use this list to report one or more measurements per measurement-object in a single notification.
1664 In addition, the O-RU shall always use the
1666 measurement-result-stats/transceiver-stats[measurement-object]/transceiver-measurement-result
1668 schema-node to report a single transceiver measurement-object. The O-RU should report its latest
1669 transceiver measurements available. This ensures O-DUs supporting earlier versions
1670 of this specification can recover the measurement.";
1672 uses start-and-end-time;
1673 uses transceiver-measurement-result-grouping;
1678 list rx-window-stats {
1679 key "measurement-object";
1682 "measurement result for the reception window measurement per
1683 measurement-object";
1684 leaf measurement-object {
1686 path "/performance-measurement-objects/rx-window-measurement-objects/measurement-object";
1690 "measurement-object for the reception window measurement";
1692 uses start-and-end-time;
1693 uses rx-window-measurement-result-grouping;
1695 list multiple-rx-window-measurement-result {
1698 "Multiple measurement results of rx-window-measurement.
1700 The O-RU shall use this list to report one or more measurements per measurement-object in a single notification.
1702 In addition, the O-RU shall always use one of the
1704 measurement-result-stats/rx-window-stats[measurement-object]/count or
1705 measurement-result-stats/rx-window-stats[measurement-object]/tr-measured-result/count or
1706 measurement-result-stats/rx-window-stats[measurement-object]/eaxc-measured-result/count
1708 schema-nodes to report a single rx-window measurement-object. The O-RU should report its latest
1709 rx-window measurement available. This ensures O-DUs supporting earlier versions
1710 of this specification can recover the measurement.";
1712 uses start-and-end-time;
1713 uses rx-window-measurement-result-grouping;
1719 key "measurement-object";
1722 "measurement result for the tx stats measurement per
1723 measurement-object";
1724 leaf measurement-object {
1726 path "/performance-measurement-objects/tx-measurement-objects/measurement-object";
1730 "measurement-object for the tx stats measurement";
1732 uses start-and-end-time;
1733 uses tx-measurement-result-grouping;
1735 list multiple-tx-measurement-result {
1738 "Multiple measurement results of tx-measurement.
1740 The O-RU shall use this list to report one or more measurements per measurement-object in a single notification.
1742 In addition, the O-RU shall always use one of the
1744 measurement-result-stats/tx-stats[measurement-object]/count or
1745 measurement-result-stats/tx-stats[measurement-object]/tr-measured-result/count or
1746 measurement-result-stats/tx-stats[measurement-object]/eaxc-measured-result/count
1748 schema-nodes to report a single tx-measurement. The O-RU should report its latest
1749 tx-measurement available. This ensures O-DUs supporting earlier versions
1750 of this specification can recover the measurement.";
1752 uses start-and-end-time;
1753 uses tx-measurement-result-grouping;
1758 container epe-stats {
1761 "container for the EPE stats measurement - deprecated because measurement object
1764 uses start-and-end-time;
1765 uses epe-measurement-result-grouping;
1770 list epe-statistics {
1771 key "measurement-object";
1774 "measurement result for the EPE stats measurement per
1775 measurement-object";
1776 leaf measurement-object {
1778 path "/performance-measurement-objects/epe-measurement-objects/measurement-object";
1782 "measurement-object for the EPE stats measurement";
1784 uses start-and-end-time;
1785 uses epe-measurement-result-grouping;
1787 list multiple-epe-measurement-result {
1790 "Multiple measurement results of epe-measurement.
1792 The O-RU shall use this list to report one or more measurements per measurement-object in a single notification.
1794 In addition, the O-RU shall always use the
1796 measurement-result-stats/epe-statistics[measurement-object]/epe-measurement-result/
1798 schema-nodes to report a single epe-measurement for a measurement-object. The O-RU
1799 should report its latest epe-measurement available. This ensures O-DUs supporting earlier
1800 versions of this specification can recover the measurement.";
1802 uses start-and-end-time;
1803 uses epe-measurement-result-grouping;
1808 list symbol-rssi-stats {
1809 key "measurement-object";
1812 "measurement result of symbol-rssi-measurement per measurement-object";
1813 leaf measurement-object {
1815 path "/performance-measurement-objects/symbol-rssi-measurement-objects/measurement-object";
1819 "measurement-object for the symbol-rssi-measurement";
1822 uses start-and-end-time;
1823 uses symbol-rssi-measurement-result-grouping;
1825 list multiple-symbol-rssi-measurement-result {
1828 "Multiple measurement results of symbol-rssi-measurement.
1830 The O-RU shall use this list to report one or more measurements per measurement-object in a single notification.
1832 In addition, the O-RU shall always use one of the
1834 measurement-result-stats/symbol-rssi-stats[measurement-object]/
1836 schema-nodes to report a single symbol-rssi measurement for a measurement-object.
1837 The O-RU should report its latest symbol-rssi measurement available.";
1839 uses start-and-end-time;
1840 uses symbol-rssi-measurement-result-grouping;
1846 // Top level container
1848 container performance-measurement-objects {
1850 "configuration for performance management and measurement-result are
1852 uses measurement-group;
1857 notification measurement-result-stats {
1859 "Notification may contain measurement results for transceiver-stats
1860 and/or rx-window-stats";
1861 uses measurement-notification;