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{
248 path "/xran-elements:processing-elements/xran-elements:ru-elements/xran-elements:name";
252 "the name of ru-elements in xran-processing-elements
253 when TRANSPORT is selected as object-unit for the reception
261 "the number of data packet are counted for the reception
266 "the number of data packet are counted for the reception
267 window stats per TRANSPORT.";
272 list eaxc-measured-result {
278 when EAXC_ID is selected as object-unit for the reception
280 EAXC_ID consists of CU-Port-Id, Band-Selector, CC-id and
281 RU-Port-Id to be used in header of C/U-plane data packet.";
288 "the number of data packet are counted for the reception
291 leaf transport-name {
293 path "/xran-elements:processing-elements/xran-elements:ru-elements/xran-elements:name";
297 "the name of ru-elements in xran-processing-elements for the
298 transport information corresponding to this eaxc-id";
302 "the number of data packet are counted for the reception
303 window stats per EAXC-ID.";
308 "measurement-result for the reception window stats depends on the
309 configured object-unit, RU, TRANSPORT or EAXC_ID";
313 container performance-measurement-objects {
315 "configuration for performance management and measurement-result are
318 leaf enable-SFTP-upload {
322 "Flag to enable upload of performance measurement result files.";
325 leaf enable-random-file-upload {
329 "Flag to enable upload of performance measurement result files at
330 random within file-upload-interval.";
333 list remote-SFTP-uploads {
334 key remote-SFTP-upload-path;
336 "SFTP upload can be done to one or more than one SFTP servers";
338 leaf remote-SFTP-upload-path {
341 "URI specifying the remote location where the files are to uploaded.
342 The following format is possible:
343 sftp://<username>@<host>[:<port>]";
348 "Type of authentication to use for SFTP upload.";
358 "password needed for authentication.";
361 "password authentication method in use";
365 container certificate {
368 "certificate authentication method in use";
374 leaf transceiver-measurement-interval {
377 "measurement interval to measure the performance of transceiver
378 measurement objects periodically.";
381 leaf rx-window-measurement-interval {
384 "measurement interval to measure the performance of reception
385 window measurement objects periodically.";
388 leaf notification-interval {
391 "notification interval for the measurement result to be notified
395 leaf file-upload-interval {
398 "file upload interval for the measurement result file to be
399 uploaded periodically.";
402 list transceiver-measurement-objects {
403 key "measurement-object";
404 leaf measurement-object {
408 "Measured Rx input power in mW";
412 "Measured Tx input power in mW.";
416 "Internally measured Tx Bias Current in mA";
420 "Internally measured transceiver supply voltage in mV";
424 "Internally measured optional laser temperature in degrees Celsius.";
427 description "Target metric to measure the performance";
434 "Enable/disable the performance measurement per Object";
437 leaf-list report-info {
441 "to report maximum value and its recorded time within the
442 measurement-interval for the measurement-object.";
446 "to report minimum value and its recorded time within the
447 measurement-interval for the measurement-object.";
451 "to report first value and its recorded time within the
452 measurement-interval for the measurement-object.";
456 "to report latest value and its recorded time within the
457 measurement-interval for the measurement-object.";
459 enum FREQUENCY_TABLE {
461 "to report frequency bin table within the
462 measurement-interval for the measurement-object.";
465 description "The reporting info to the measurement object.";
472 "unit to measure the performance per object-id";
476 description "unit to measure the performance per object-id.";
483 "the value is expressed by real value.";
487 "the value is expressed by logarithm with base 10.";
492 "the value to be recorded for transceiver-measurement
493 by real value or log 10.";
500 "the number of bin for the frequency table.";
509 "the lower value of the first bin of frequency table.";
518 "the upper value of the last bin of frequency table.";
520 uses transceiver-measurement-result-grouping;
523 "configuration and measurement result for the transceiver-measurement.";
526 list rx-window-measurement-objects {
527 key "measurement-object";
528 leaf measurement-object {
532 "the number of data packets, received on time within
533 the reception window.";
537 "the number of data packets, received before
538 the reception window.";
542 "the number of data packets, received after
543 the reception window.";
547 "the number of data packets, which are corrupt or whose header
552 "the number of data packets, which is duplicated with other packets,
553 received within the measurement period.";
557 "the total number of received data packets.";
561 "target reception window metric to measure the performance.";
568 "Enable/disable the performance measurement per reception window
569 measurement object.";
576 "the reception window stats are counted per RU.";
579 if-feature GRANULARITY-TRANSPORT-MEASUREMENT;
581 "the reception window stats are counted per transport flow.
582 When there are multiple transport flows between lls-CU and RU,
583 e.g. multiple sets of lls-cu mac address, ru mac address and
584 vlan-id, the reception window stats per transport flow
585 are counted in this case.
586 This configuration is allowed only when RU supports
587 a feature GRANULARITY-TRANSPORT-MEASUREMENT.";
590 if-feature GRANULARITY-EAXC-ID-MEASUREMENT;
593 "the reception window stats are counted per eAxC ID, which is
594 used in the header of receivd data packet.
595 This configuration is allowed only when RU supports
596 a feature GRANULARITY-EAXC-ID-MEASUREMENT.";
600 "unit to measure the performance per object-id.";
607 "the number of data packet are counted for the reception
612 "The reporting info to the measurement object.";
615 uses rx-window-measurement-result-grouping;
618 "configuration and measurement result for the reception window stats";
622 notification measurement-result-stats {
623 list transceiver-stats {
624 key "measurement-object";
625 leaf measurement-object {
627 path "/performance-measurement-objects/transceiver-measurement-objects/measurement-object";
631 "measurement-object for the transceiver-measurement";
634 uses start-and-end-time;
635 uses transceiver-measurement-result-grouping;
638 "measurement result of transceiver-measurement per measurement-object";
641 list rx-window-stats {
642 key "measurement-object";
643 leaf measurement-object {
645 path "/performance-measurement-objects/rx-window-measurement-objects/measurement-object";
649 "measurement-object for the reception window measurement";
651 uses start-and-end-time;
652 uses rx-window-measurement-result-grouping;
655 "measurement result for the reception window measurement per
661 "notification may contain measurement result for transceiver-stats
662 and/or rx-window-stats";