1 module xran-performance-management {
3 namespace "urn:xran:performance-management:1.0";
6 import ietf-yang-types {
8 revision-date 2013-07-15;
11 // import idetifier for RU
12 import ietf-hardware {
16 // import ietf-interface
17 import ietf-interfaces {
21 // import ietf-inet-type
22 import ietf-inet-types {
26 // import xran-port-number
27 import xran-interfaces {
31 // import ru-mac-address, lls-cu-mac-address and vlan-id
32 import xran-processing-element {
33 prefix "xran-elements";
36 organization "xRAN Forum";
42 "This module defines the configuration for performance measurement for
43 transceiver and rx-window measurement objects.
45 Copyright 2018 the xRAN Forum.
47 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 'AS IS'
48 AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
49 IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
50 ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
51 LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
52 CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
53 SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
54 INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
55 CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
56 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
57 POSSIBILITY OF SUCH DAMAGE.
59 Redistribution and use in source and binary forms, with or without
60 modification, are permitted provided that the following conditions are met:
62 * Redistributions of source code must retain the above copyright notice,
63 this list of conditions and the above disclaimer.
64 * Redistributions in binary form must reproduce the above copyright notice,
65 this list of conditions and the above disclaimer in the documentation
66 and/or other materials provided with the distribution.
67 * Neither the Members of the xRAN Forum nor the names of its
68 contributors may be used to endorse or promote products derived from
69 this software without specific prior written permission.";
71 revision "2018-07-20" {
73 "version 1.0.0 - First release of the xRAN YANG M-Plane models.
75 This version of the model supports v01.00 of the corrsponding xRAN
76 M-Plane Specification.";
77 reference "XRAN-FH.MP.0-v01.00";
81 feature GRANULARITY-TRANSPORT-MEASUREMENT {
83 "This feature indicates that the RU supports an optional object-unit TRANSPORT in rx-window-measurement.";
85 feature GRANULARITY-EAXC-ID-MEASUREMENT {
87 "This feature indicates that the RU supports an optional object-unit EAXC_ID in rx-window-measurement.";
90 grouping start-and-end-time {
92 "Definition for start and end time for an event";
95 type yang-types:date-and-time;
97 "Start time for measurement of object stats";
100 type yang-types:date-and-time;
102 "End time for measurement of object stats";
106 grouping transceiver-measurement-result-grouping {
108 "transceiver-measurement-result are listed per port-number";
110 list transceiver-measurement-result {
111 key "object-unit-id";
113 leaf object-unit-id {
115 path "/if:interfaces/if:interface/xran-int:port-reference/xran-int:xran-port-number";
119 "port-number is used for the object-unit-id for the
120 transceiver-measurement-result, for which object-unit is
125 "minimum value with recorded time are included for the
134 "minimum value for the measurment-object";
137 type yang-types:date-and-time;
140 "recorded time for the minimum value";
145 "maximum value with recorded time are included for the
154 "maximum value for the measurment-object";
157 type yang-types:date-and-time;
160 "recorded time for the maximum value";
165 "first value with the recorded time are included for the
174 "first value of the measurement-object";
177 type yang-types:date-and-time;
180 "recorded time for the first value";
185 "latest value with the recorded time are included for the
194 "latest value of the measurement-object";
197 type yang-types:date-and-time;
200 "recorded time for the latest value";
203 leaf-list frequeny-table {
207 "frequency-table for the measurment-object are included per bin.
208 The configuration parameters for this frequency-table are defined
209 by bin-count, lower-bound and upper-bound";
213 "List of transceiver measurement results";
217 grouping rx-window-measurement-result-grouping{
219 "Group of measurement reasults for rx window measurements";
221 choice object-unit-id {
226 path "/hw:hardware/hw:component/hw:name";
230 "the name of RU in ietf-hardware/component is used
231 when RU is selected as object-unit for the reception window
239 "the number of data packet are counted for the reception
240 window stats per RU.";
245 list tr-measured-result{
249 path "/xran-elements:processing-elements/xran-elements:ru-elements/xran-elements:name";
253 "the name of ru-elements in xran-processing-elements
254 when TRANSPORT is selected as object-unit for the reception
262 "the number of data packet are counted for the reception
267 "the number of data packet are counted for the reception
268 window stats per TRANSPORT.";
273 list eaxc-measured-result {
280 when EAXC_ID is selected as object-unit for the reception
282 EAXC_ID consists of CU-Port-Id, Band-Selector, CC-id and
283 RU-Port-Id to be used in header of C/U-plane data packet.";
290 "the number of data packet are counted for the reception
293 leaf transport-name {
295 path "/xran-elements:processing-elements/xran-elements:ru-elements/xran-elements:name";
299 "the name of ru-elements in xran-processing-elements for the
300 transport information corresponding to this eaxc-id";
304 "the number of data packet are counted for the reception
305 window stats per EAXC-ID.";
310 "measurement-result for the reception window stats depends on the
311 configured object-unit, RU, TRANSPORT or EAXC_ID";
315 container performance-measurement-objects {
317 "configuration for performance management and measurement-result are
320 leaf enable-SFTP-upload {
324 "Flag to enable upload of performance measurement result files.";
327 leaf enable-random-file-upload {
331 "Flag to enable upload of performance measurement result files at
332 random within file-upload-interval.";
335 list remote-SFTP-uploads {
336 key remote-SFTP-upload-path;
338 "SFTP upload can be done to one or more than one SFTP servers";
340 leaf remote-SFTP-upload-path {
343 "URI specifying the remote location where the files are to uploaded.
344 The following format is possible:
345 sftp://<username>@<host>[:<port>]";
350 "Type of authentication to use for SFTP upload.";
360 "password needed for authentication.";
363 "password authentication method in use";
367 container certificate {
370 "certificate authentication method in use";
376 leaf transceiver-measurement-interval {
379 "measurement interval to measure the performance of transceiver
380 measurement objects periodically.";
383 leaf rx-window-measurement-interval {
386 "measurement interval to measure the performance of reception
387 window measurement objects periodically.";
390 leaf notification-interval {
393 "notification interval for the measurement result to be notified
397 leaf file-upload-interval {
400 "file upload interval for the measurement result file to be
401 uploaded periodically.";
404 list transceiver-measurement-objects {
405 key "measurement-object";
406 leaf measurement-object {
410 "Measured Rx input power in mW";
414 "Measured Tx input power in mW.";
418 "Internally measured Tx Bias Current in mA";
422 "Internally measured transceiver supply voltage in mV";
426 "Internally measured optional laser temperature in degrees Celsius.";
429 description "Target metric to measure the performance";
436 "Enable/disable the performance measurement per Object";
439 leaf-list report-info {
443 "to report maximum value and its recorded time within the
444 measurement-interval for the measurement-object.";
448 "to report minimum value and its recorded time within the
449 measurement-interval for the measurement-object.";
453 "to report first value and its recorded time within the
454 measurement-interval for the measurement-object.";
458 "to report latest value and its recorded time within the
459 measurement-interval for the measurement-object.";
461 enum FREQUENCY_TABLE {
463 "to report frequency bin table within the
464 measurement-interval for the measurement-object.";
467 description "The reporting info to the measurement object.";
474 "unit to measure the performance per object-id";
478 description "unit to measure the performance per object-id.";
485 "the value is expressed by real value.";
489 "the value is expressed by logarithm with base 10.";
494 "the value to be recorded for transceiver-measurement
495 by real value or log 10.";
502 "the number of bin for the frequency table.";
511 "the lower value of the first bin of frequency table.";
520 "the upper value of the last bin of frequency table.";
522 uses transceiver-measurement-result-grouping;
525 "configuration and measurement result for the transceiver-measurement.";
528 list rx-window-measurement-objects {
529 key "measurement-object";
530 leaf measurement-object {
534 "the number of data packets, received on time within
535 the reception window.";
539 "the number of data packets, received before
540 the reception window.";
544 "the number of data packets, received after
545 the reception window.";
549 "the number of data packets, which are corrupt or whose header
554 "the number of data packets, which is duplicated with other packets,
555 received within the measurement period.";
559 "the total number of received data packets.";
563 "target reception window metric to measure the performance.";
570 "Enable/disable the performance measurement per reception window
571 measurement object.";
578 "the reception window stats are counted per RU.";
581 if-feature GRANULARITY-TRANSPORT-MEASUREMENT;
583 "the reception window stats are counted per transport flow.
584 When there are multiple transport flows between lls-CU and RU,
585 e.g. multiple sets of lls-cu mac address, ru mac address and
586 vlan-id, the reception window stats per transport flow
587 are counted in this case.
588 This configuration is allowed only when RU supports
589 a feature GRANULARITY-TRANSPORT-MEASUREMENT.";
592 if-feature GRANULARITY-EAXC-ID-MEASUREMENT;
595 "the reception window stats are counted per eAxC ID, which is
596 used in the header of receivd data packet.
597 This configuration is allowed only when RU supports
598 a feature GRANULARITY-EAXC-ID-MEASUREMENT.";
602 "unit to measure the performance per object-id.";
609 "the number of data packet are counted for the reception
614 "The reporting info to the measurement object.";
617 uses rx-window-measurement-result-grouping;
620 "configuration and measurement result for the reception window stats";
624 notification measurement-result-stats {
625 list transceiver-stats {
626 key "measurement-object";
627 leaf measurement-object {
629 path "/performance-measurement-objects/transceiver-measurement-objects/measurement-object";
633 "measurement-object for the transceiver-measurement";
636 uses start-and-end-time;
637 uses transceiver-measurement-result-grouping;
640 "measurement result of transceiver-measurement per measurement-object";
643 list rx-window-stats {
644 key "measurement-object";
645 leaf measurement-object {
647 path "/performance-measurement-objects/rx-window-measurement-objects/measurement-object";
651 "measurement-object for the reception window measurement";
653 uses start-and-end-time;
654 uses rx-window-measurement-result-grouping;
657 "measurement result for the reception window measurement per
663 "notification may contain measurement result for transceiver-stats
664 and/or rx-window-stats";