blob: 9f40ba83d2fce694284c3544cc1710bb65e565ca [file] [log] [blame]
Sean Condonfae8e662016-12-15 10:25:13 +00001module y-1564 {
2
3 /*** NAMESPACE / PREFIX DEFINITION ***/
4
5 namespace "http://www.microsemi.com/y1564";
6 prefix "y1564";
7
8 import svc-activation-types {
9 prefix sa;
10 }
11
12 import msea-types {
13 prefix msea;
14 revision-date 2016-02-29;
15 }
16
17 /*** META INFORMATION ***/
18
19 organization
20 "Microsemi Inc., FTD Division";
21
22 contact
23 "Web URL: http://www.microsemi.com/
24 E-mail: info@microsemi.com
25 Postal: Microsemi Corporation Corporate Headquarters
26 One Enterprise Aliso Viejo,
27 CA 92656
28 U.S.A.
29 Phone: +1 949 380 6100
30 Fax: +1 949 215-4996";
31
32 description
33 "This YANG module defines the interface for Rec. ITU-T Y.1564
34 (03/2011) Ethernet service activation test methodology
35
36 Copyright 2015 Microsemi Inc.
37 All rights reserved.";
38
39 revision "2015-10-29" {
40 description
41 "Initial version - Sean Condon, Microsemi
42 This version does not cover frame reordering (Section 7.2.5)";
43 reference "Initial implementation";
44 }
45
46 /*
47 * Typedefs
48 */
49
50 /*
51 * Groupings
52 */
53 grouping service-attributes-group {
54 description
55 "Attributes for service definition";
56 leaf service-id {
57 type uint8 {
58 range 1..8;
59 }
60 mandatory true;
61 description "The unique ID of the Service";
62 }
63 }
64 grouping result-attributes-group {
65 description "Common attributes in result";
66
67 leaf status {
68 type sa:test-status;
69 mandatory true;
70 description "Status of the test - Values are disabled,
71 running, pending, stopped, completed or failed";
72 }
73
74 }
75
76
77 grouping pass-fail-group {
78 leaf passed {
79 type boolean;
80 description
81 "Flag that indicates whether the test component
82 sucessfully met the test criteria.";
83 }
84
85 leaf fail-reason {
86 type enumeration {
87 enum notFailed {
88 value 0;
89 description "Test did not fail";
90 }
91 enum zeroTxCount {
92 value 1;
93 description "The test resulted in no transmitted packets";
94 }
95 enum zeroRxCount {
96 value 2;
97 description "No packets were received";
98 }
99 enum exceedFdvThreshold {
100 value 3;
101 description "The measured maximum Frame Delay Variation value exceeded the allowable threshold";
102 }
103 enum exceedFtdThreshold {
104 value 4;
105 description "The measured maximum Frame Transfer Delay value exceeded the allowable threshold";
106 }
107 enum exceedLossThreshold {
108 value 5;
109 description "The measured Frame Loss value exceeded the allowable threshold";
110 }
111 enum exceedAvailThreshold {
112 value 6;
113 description "The measured maximum Availability value exceeded the allowable threshold";
114 }
115 enum irAvgTooHigh {
116 value 7;
117 description "The measured Information Rate is above the maximum allowable rate";
118 }
119 enum irAvgTooLow {
120 value 8;
121 description "The measured Information Rate is below the maximum allowable rate";
122 }
123 enum targetUnknown {
124 value 9;
125 description "The MAC address of the target MEP was not known";
126 }
127 }
128 }
129 }
130
131 grouping y1564-test-result-group {
132 description "Common attributes in test result";
133 leaf tf {
134 type uint64;
135 description
136 "Count of the frames transmitted during the test period.";
137 }
138
139 leaf rf {
140 type uint64;
141 description
142 "Count of the frames received during the test period.";
143 }
144
145 leaf fl {
146 type uint64;
147 description
148 "Count of the frames lost during the test period.";
149 }
150
151 leaf flr {
152 type uint32;
153 units "m%";
154 description "The Frame Loss Ratio achieved. Units are 0.001%";
155 }
156
157 leaf elapsed {
158 type uint16;
159 units "s";
160 description
161 "The number of number of seconds the test has been running";
162 }
163
164 leaf fs {
165 type uint16;
166 units byte;
167 description "The Frame Size for which these results apply";
168 }
169
170 leaf ulr-min {
171 type uint32;
172 units "bit/s";
173 description "The minimum Utilised Line Rate achieved";
174 }
175
176 leaf ulr-max {
177 type uint32;
178 units "bit/s";
179 description "The maximum Utilised Line Rate achieved";
180 }
181
182 leaf ulr-avg {
183 type uint32;
184 units "bit/s";
185 description "The average Utilised Line Rate achieved";
186 }
187
188 leaf ulr-meas {
189 type uint32;
190 units "bit/s";
191 description
192 "The instantaneous Utilised Line Rate measured
193 at the time of this result set";
194 }
195
196 leaf ftd-min {
197 type uint32;
198 units "μs";
199 description "The minimum Frame Transfer Delay achieved";
200 }
201
202 leaf ftd-max {
203 type uint32;
204 units "μs";
205 description "The maximum Frame Transfer Delay achieved";
206 }
207
208 leaf ftd-avg {
209 type uint32;
210 units "μs";
211 description "The average Frame Transfer Delay achieved";
212 }
213
214 leaf ftd-meas {
215 type uint32;
216 units "μs";
217 description
218 "The instantaneous Frame Transfer Delay
219 measured at the time of this result set";
220 }
221
222 leaf fdv-min {
223 type uint32;
224 units "μs";
225 description "The minimum Frame Delay Variation achieved";
226 }
227
228 leaf fdv-max {
229 type uint32;
230 units "μs";
231 description "The maximum Frame Delay Variation achieved";
232 }
233
234 leaf fdv-avg {
235 type uint32;
236 units "μs";
237 description "The average Frame Delay Variation achieved";
238 }
239
240 leaf fdv-meas {
241 type uint32;
242 units "μs";
243 description
244 "The instantaneous Frame Delay Variation measured
245 at the time of this result set";
246 }
247 }
248
249
250
251 /*
252 * Features
253 */
254 feature emix {
255 description
256 "This feature indicates that the device supports
257 EMIX style of repeating frame rates patterns";
258 reference
259 "Rec. ITU-T Y.1564 (03/2011) Section 8.1.1";
260 }
261
262 /*
263 * Configuration
264 */
265 container y1564-test {
266 description "The overall configuration of the Y.1564
267 tests are done through the 'service' entities";
268
269 leaf config-step-duration {
270 type uint16 {
271 range 1..60;
272 }
273 units second;
274 default 60;
275 description "The duration of each step when
276 performing Configuration tests";
277 reference "Rec. ITU-T Y.1564 (03/2011) Section 8.3";
278 }
279
280 choice performance-duration-choice {
281 description
282 "Duration can be chosen from enumerated values or
283 specified as a duration in minutes";
284 reference "Rec. ITU-T Y.1564 (03/2011) Section 8.2.1";
285
286 case fixed-durations-renamed {
287 leaf performance-duration-fixed {
288 type enumeration {
289 enum Test15m {
290 value 15;
291 description "15 minute test duration";
292 }
293 enum Test2h {
294 value 120;
295 description "2 hour test duration";
296 }
297 enum Test24h {
298 value 1440;
299 description "24 hour test duration";
300 }
301 enum Unbounded {
302 description "Unbounded test duration";
303 }
304 }
305 default Test15m;
306 description "Fixed durations set";
307 }
308 }
309
310
311 case test-duration-minutes {
312 leaf performance-duration {
313 type uint16 {
314 range 1..max;
315 }
316 units min;
317 description
318 "The duration of Performance tests specified in minutes";
319 reference "Rec. ITU-T Y.1564 (03/2011) Section 8.2.1";
320 }
321 }
322 }
323
324 leaf performance-frame-size {
325 type sa:frame-size-type;
326 units octet;
327 default 512;
328 description
329 "The frame size used for the performance test.
330 Frame sizes for configuration are configured at a
331 the service level. This is a constant value per service (
332 frame size repeating emix values are not supported)";
333 reference "Rec. ITU-T Y.1564 (03/2011) Section 8.1.1";
334 }
335
336 list service-config {
337 key service-id;
338 description "The services can be configured on this device";
339
340 uses service-attributes-group;
341
342 leaf enabled {
343 type boolean;
344 default true;
345 description "Toggles whether the service is enabled in tests";
346 }
347
348
349 container mep-config {
350 presence "Presence indicates that a MEP has been configured";
351
352 uses msea:mep-config-attribs-noref;
353
354 leaf remote-mep-id {
355 type msea:mep-id-type;
356 must "current()/../maintenance-association-end-point != current()" {
357 error-message "Remote MEP Id must not be the same as Local MEP Id";
358 error-app-tag "msea-svc-must-01";
359 }
360
361 //mandatory true; //Should not be mandatory in a top level container
362 description "The Id of the remote MEP";
363 }
364
365 container overwrite-pcp {
366 presence "Enables PCP Overwrite";
367 description "If present allows attributes to be
368 specified for the PCP overwrite";
369
370 uses sa:overwrite-pcp-attribs;
371
372 }
373 }
374
375 leaf config-frame-size {
376 type sa:frame-size-type;
377 units octet;
378 default 512;
379 description
380 "The frame size used for the service configuration test.
381 Frame sizes for performance test is configured at a
382 higher level. This is a constant value per service (
383 frame size repeating emix values are not supported)";
384 reference "Rec. ITU-T Y.1564 (03/2011) Section 8.1.1";
385 }
386
387 leaf cir {
388 type uint16 {
389 range min..1000;
390 }
391 units "Mb/s";
392 default 1;
393 description "Committed Information Rate. If 0 then will return zeros";
394 reference "Rec. ITU-T Y.1564 (03/2011) Section 8.1";
395 }
396
397 leaf eir {
398 type uint16 {
399 range min..1000;
400 }
401 units "Mb/s";
402 description "Excess Information Rate. If 0 then this test is disabled";
403 reference "Rec. ITU-T Y.1564 (03/2011) Section 8.1";
404 }
405
406 leaf colour-aware {
407 type boolean;
408 default true;
409 description "Indicates if the service is colour aware or not";
410 reference "Rec. ITU-T Y.1564 (03/2011) Section 6.2.1";
411 }
412
413 leaf m-factor {
414 type uint16;
415 units "kb/s";
416 description "The M factor is added to allow for the effect of
417 the traffic policer's CBS and EBS settings, and test time.
418 Experience will determine the values for M.
419 Additional guidance on M is for further study.";
420 reference "Rec. ITU-T Y.1564 (03/2011) Section 8.1.2 C.2";
421 }
422
423 container enable-step-test {
424 presence "Enables step test";
425 description "If this item is present then a step load test of
426 CIR will be performed.
427 Otherwise simple validation of CIR will be performed.";
428 reference "Rec. ITU-T Y.1564 (03/2011) Section 8.1.2";
429
430 leaf step-load-size-override {
431 type uint16 {
432 range 1..1000;
433 }
434 units "Mb/s";
435 description "A manually specified Step Load size in Mb/s.
436 A maximum of 4 steps will be taken. If not specified
437 the default behaviour means the CIR rate divided by
438 4 rounded up to nearest Mb/s. When CIR rate is below 4Mb/s
439 then a corresponding nuumber of steps will be used";
440 reference "Rec. ITU-T Y.1564 (03/2011) Section 8.1";
441 }
442 }
443
444 container enable-policing-test {
445 presence "Enables Policing test";
446 description "If this item is present then a Policing
447 test will be performed.
448 Otherwise no Policing will be performed.";
449 reference "Rec. ITU-T Y.1564 (03/2011) Section 8.1.2";
450 }
451
452 container service-acceptance-criteria {
453 description "Attributes that tune the Service Acceptance
454 Criteria per service.";
455
456 leaf accepted-flr {
457 type uint32 {
458 range min..100000;
459 }
460 units "m%";
461 description "A measured Frame Loss Ratio greater than
462 or equal to this value will result in test fail.
463 Units are 0.001%. Default is 0";
464 reference "Rec. ITU-T Y.1564 (03/2011) Section 8.3";
465 }
466
467 leaf accepted-ftd {
468 type uint32;
469 units "μs";
470 mandatory true;
471 description "A measured Frame Transfer Delay greater than
472 or equal to this value will result in test fail.";
473 reference "Rec. ITU-T Y.1564 (03/2011) Section 8.3";
474 }
475
476 leaf accepted-fdv {
477 type uint32;
478 units "μs";
479 mandatory true;
480 description "A measured Frame Delay Variation greater than
481 or equal to this value will result in test fail.";
482 reference "Rec. ITU-T Y.1564 (03/2011) Section 8.3";
483 }
484
485 leaf accepted-availability {
486 type uint32 {
487 range min..100000;
488 }
489 units "m%";
490 default 100000;
491 description "A measured Availability for a performance
492 test must meet or exceed this value. Values are in
493 milli-percent. Default is 100%";
494 }
495 }
496 }
497 }
498
499 container y1564-results {
500 config false;
501 description "Top level container for results from the tests";
502 container configuration {
503 description
504 "The results of the Y.1564 Configuration tests on each
505 service which was enabled when the test was run";
506 reference "Rec. ITU-T Y.1564 (03/2011) Section 8.1.3";
507
508 list service {
509 key service-id;
510 description "The results for the services configured on this device";
511
512 uses service-attributes-group;
513
514 uses sa:results-header-group;
515
516 container cir-results {
517 description "Results for Committed Information Rate
518 part of the test";
519
520 leaf steps {
521 type uint8;
522 description "Indicates the number if steps taken so far.";
523 }
524
525 list step {
526 key step-id;
527
528 description "A list of results for each of the steps for
529 the CIR test";
530
531 leaf step-id {
532 type uint8;
533 mandatory true;
534 description "The index of the step";
535 }
536
537 uses result-attributes-group;
538 uses pass-fail-group;
539
540 container green-frames {
541 uses y1564-test-result-group;
542 description "The details of frames marked green during
543 the step of the CIR test";
544 }
545 }
546
547 }
548
549 container eir-results {
550 description "Results for Excess Information Rate
551 part of the test";
552 uses result-attributes-group;
553 uses pass-fail-group;
554
555 container green-frames {
556 uses y1564-test-result-group;
557 description
558 "The details of frames marked green of the EIR test";
559 }
560
561 container yellow-frames {
562 uses y1564-test-result-group;
563 description
564 "The details of frames marked yellow of the EIR test";
565 }
566 }
567
568 container policer-results {
569 presence "Can be omitted if policer test is
570 not enabled on this service";
571 description "Container for the policer results";
572 uses result-attributes-group;
573 uses pass-fail-group;
574
575 container green-frames {
576 uses y1564-test-result-group;
577 description
578 "The details of frames marked green of the Policer test";
579 }
580
581 container yellow-frames {
582 uses y1564-test-result-group;
583 description
584 "The details of frames marked yellow of the Policer test";
585 }
586 }
587
588 }
589 }
590
591 container performance {
592 description
593 "The results of the Y.1564 Performance tests on each
594 service was 'enabled'";
595 reference "Rec. ITU-T Y.1564 (03/2011) Section 8.2.2";
596
597 uses sa:results-header-group;
598
599 list service {
600 key service-id;
601 description "The services can be configured on this device";
602
603 uses service-attributes-group;
604
605 uses pass-fail-group;
606
607 uses y1564-test-result-group;
608
609 leaf avail-sec {
610 type uint32;
611 units "s";
612 description
613 "The count of seconds during the test period for which
614 service was Available";
615 }
616 }
617 }
618 }
619
620 /*
621 * RPCs
622 */
623 rpc run-y1564-test {
624 description
625 "Run the configured Y.1564 test on each service
626 that has been marked 'enabled'";
627
628 input {
629 leaf tests-enabled {
630 type bits {
631 bit configuration {
632 description "Runs the configuration tests";
633 }
634 bit performance {
635 description "Runs the performance tests";
636 }
637 }
638 default "configuration performance";
639 description
640 "Bit mask to define which parts of the test are run.
641 Specify as a set of space separated string values";
642 }
643 }
644 }
645
646 rpc stop-y1564-test {
647 description
648 "Stop the running Y.1564 test on all services";
649 }
650
651 /*
652 * Notifications
653 */
654 notification y1564-test-updated {
655 description
656 "A y1564-test-updated notification is sent
657 when the state of a test changes.";
658
659 uses sa:notification-group;
660
661 leaf service-id {
662 type uint16;
663 mandatory true;
664 description "The ID of the Service that is being tested";
665 }
666 }
667}