blob: 247b9734d3f4613c1255984a28c4313497b46668 [file] [log] [blame]
hiroki096259b2018-12-07 09:33:24 -08001module openconfig-transport-types {
2
3 yang-version "1";
4
5 // namespace
6 namespace "http://openconfig.net/yang/transport-types";
7
8 prefix "oc-opt-types";
9
10 import openconfig-platform-types { prefix oc-platform-types; }
11 import openconfig-extensions { prefix oc-ext; }
12 import openconfig-types { prefix oc-types; }
13
14 // meta
15 organization "OpenConfig working group";
16
17 contact
18 "OpenConfig working group
19 www.openconfig.net";
20
21 description
22 "This module contains general type definitions and identities
23 for optical transport models.";
24
25 oc-ext:openconfig-version "0.6.0";
26
27 revision "2018-05-16" {
28 description
29 "Added interval,min,max time to interval stats.";
30 reference "0.6.0";
31 }
32
33 revision "2017-08-16" {
34 description
35 "Added ODU Cn protocol type";
36 reference "0.5.0";
37 }
38
39 revision "2016-12-22" {
40 description
41 "Fixes and additions for terminal optics model";
42 reference "0.4.0";
43 }
44
45 // typedef statements
46
47 typedef frequency-type {
48 type uint64;
49 units "MHz";
50 description
51 "Type for optical spectrum frequency values";
52 }
53
54 typedef admin-state-type {
55 type enumeration {
56 enum ENABLED {
57 description
58 "Sets the channel admin state to enabled";
59 }
60 enum DISABLED {
61 description
62 "Sets the channel admin state to disabled";
63 }
64 enum MAINT {
65 description
66 "Sets the channel to maintenance / diagnostic mode";
67 }
68 }
69 description "Administrative state modes for
70 logical channels in the transponder model.";
71 }
72
73 typedef loopback-mode-type {
74 type enumeration {
75 enum NONE {
76 description
77 "No loopback is applied";
78 }
79 enum FACILITY {
80 description
81 "A loopback which directs traffic normally transmitted
82 on the port back to the device as if received on the same
83 port from an external source.";
84 }
85 enum TERMINAL {
86 description
87 "A loopback which directs traffic received from an external
88 source on the port back out the transmit side of the same
89 port.";
90 }
91 }
92 default NONE;
93 description
94 "Loopback modes for transponder logical channels";
95 }
96
97 // grouping statements
98
99 grouping avg-min-max-instant-stats-precision2-ps-nm {
100 description
101 "Common grouping for recording picosecond per nanometer
102 values with 2 decimal precision. Values include the
103 instantaneous, average, minimum, and maximum statistics.
104 Statistics are computed and reported based on a moving time
105 interval (e.g., the last 30s). If supported by the device,
106 the time interval over which the statistics are computed, and
107 the times at which the minimum and maximum values occurred,
108 are also reported.";
109
110 leaf instant {
111 type decimal64 {
112 fraction-digits 2;
113 }
114 units ps-nm;
115 description
116 "The instantaneous value of the statistic.";
117 }
118
119 leaf avg {
120 type decimal64 {
121 fraction-digits 2;
122 }
123 units ps-nm;
124 description
125 "The arithmetic mean value of the statistic over the
126 time interval.";
127 }
128
129 leaf min {
130 type decimal64 {
131 fraction-digits 2;
132 }
133 units ps-nm;
134 description
135 "The minimum value of the statistic over the time interval.";
136 }
137
138 leaf max {
139 type decimal64 {
140 fraction-digits 2;
141 }
142 units ps-nm;
143 description
144 "The maximum value of the statistic over the time interval.";
145 }
146
147 uses oc-types:stat-interval-state;
148 uses oc-types:min-max-time;
149 }
150
151 grouping avg-min-max-instant-stats-precision2-ps {
152 description
153 "Common grouping for recording picosecond values with
154 2 decimal precision. Values include the
155 instantaneous, average, minimum, and maximum statistics.
156 Statistics are computed and reported based on a moving time
157 interval (e.g., the last 30s). If supported by the device,
158 the time interval over which the statistics are computed, and
159 the times at which the minimum and maximum values occurred,
160 are also reported.";
161
162 leaf instant {
163 type decimal64 {
164 fraction-digits 2;
165 }
166 units ps;
167 description
168 "The instantaneous value of the statistic.";
169 }
170
171 leaf avg {
172 type decimal64 {
173 fraction-digits 2;
174 }
175 units ps;
176 description
177 "The arithmetic mean value of the statistic over the
178 time interval.";
179 }
180
181 leaf min {
182 type decimal64 {
183 fraction-digits 2;
184 }
185 units ps;
186 description
187 "The minimum value of the statistic over the time interval.";
188 }
189
190 leaf max {
191 type decimal64 {
192 fraction-digits 2;
193 }
194 units ps;
195 description
196 "The maximum value of the statistic over the time interval.";
197 }
198
199 uses oc-types:stat-interval-state;
200 uses oc-types:min-max-time;
201 }
202
203 grouping avg-min-max-instant-stats-precision2-ps2 {
204 description
205 "Common grouping for recording picosecond^2 values with
206 2 decimal precision. Values include the
207 instantaneous, average, minimum, and maximum statistics.
208 Statistics are computed and reported based on a moving time
209 interval (e.g., the last 30s). If supported by the device,
210 the time interval over which the statistics are computed, and
211 the times at which the minimum and maximum values occurred,
212 are also reported.";
213
214 leaf instant {
215 type decimal64 {
216 fraction-digits 2;
217 }
218 units ps^2;
219 description
220 "The instantaneous value of the statistic.";
221 }
222
223 leaf avg {
224 type decimal64 {
225 fraction-digits 2;
226 }
227 units ps^2;
228 description
229 "The arithmetic mean value of the statistic over the
230 time interval.";
231 }
232
233 leaf min {
234 type decimal64 {
235 fraction-digits 2;
236 }
237 units ps^2;
238 description
239 "The minimum value of the statistic over the time interval.";
240 }
241
242 leaf max {
243 type decimal64 {
244 fraction-digits 2;
245 }
246 units ps^2;
247 description
248 "The maximum value of the statistic over the time
249 interval.";
250 }
251
252 uses oc-types:stat-interval-state;
253 uses oc-types:min-max-time;
254 }
255
256 grouping avg-min-max-instant-stats-precision18-ber {
257 description
258 "Common grouping for recording bit error rate (BER) values
259 with 18 decimal precision. Note that decimal64 supports
260 values as small as i x 10^-18 where i is an integer. Values
261 smaller than this should be reported as 0 to inidicate error
262 free or near error free performance. Values include the
263 instantaneous, average, minimum, and maximum statistics.
264 Statistics are computed and reported based on a moving time
265 interval (e.g., the last 30s). If supported by the device,
266 the time interval over which the statistics are computed, and
267 the times at which the minimum and maximum values occurred,
268 are also reported.";
269
270 leaf instant {
271 type decimal64 {
272 fraction-digits 18;
273 }
274 units bit-errors-per-second;
275 description
276 "The instantaneous value of the statistic.";
277 }
278
279 leaf avg {
280 type decimal64 {
281 fraction-digits 18;
282 }
283 units bit-errors-per-second;
284 description
285 "The arithmetic mean value of the statistic over the
286 time interval.";
287 }
288
289 leaf min {
290 type decimal64 {
291 fraction-digits 18;
292 }
293 units bit-errors-per-second;
294 description
295 "The minimum value of the statistic over the time
296 interval.";
297 }
298
299 leaf max {
300 type decimal64 {
301 fraction-digits 18;
302 }
303 units bit-errors-per-second;
304 description
305 "The maximum value of the statistic over the time
306 interval.";
307 }
308
309 uses oc-types:stat-interval-state;
310 uses oc-types:min-max-time;
311 }
312
313 // identity statements
314
315 identity TRIBUTARY_PROTOCOL_TYPE {
316 description
317 "Base identity for protocol framing used by tributary
318 signals.";
319 }
320
321 identity PROT_1GE {
322 base TRIBUTARY_PROTOCOL_TYPE;
323 description "1G Ethernet protocol";
324 }
325
326 identity PROT_OC48 {
327 base TRIBUTARY_PROTOCOL_TYPE;
328 description "OC48 protocol";
329 }
330
331 identity PROT_STM16 {
332 base TRIBUTARY_PROTOCOL_TYPE;
333 description "STM 16 protocol";
334 }
335
336 identity PROT_10GE_LAN {
337 base TRIBUTARY_PROTOCOL_TYPE;
338 description "10G Ethernet LAN protocol";
339 }
340
341 identity PROT_10GE_WAN {
342 base TRIBUTARY_PROTOCOL_TYPE;
343 description "10G Ethernet WAN protocol";
344 }
345
346 identity PROT_OC192 {
347 base TRIBUTARY_PROTOCOL_TYPE;
348 description "OC 192 (9.6GB) port protocol";
349 }
350
351 identity PROT_STM64 {
352 base TRIBUTARY_PROTOCOL_TYPE;
353 description "STM 64 protocol";
354 }
355
356 identity PROT_OTU2 {
357 base TRIBUTARY_PROTOCOL_TYPE;
358 description "OTU 2 protocol";
359 }
360
361 identity PROT_OTU2E {
362 base TRIBUTARY_PROTOCOL_TYPE;
363 description "OTU 2e protocol";
364 }
365
366 identity PROT_OTU1E {
367 base TRIBUTARY_PROTOCOL_TYPE;
368 description "OTU 1e protocol";
369 }
370
371 identity PROT_ODU2 {
372 base TRIBUTARY_PROTOCOL_TYPE;
373 description "ODU 2 protocol";
374 }
375
376 identity PROT_ODU2E {
377 base TRIBUTARY_PROTOCOL_TYPE;
378 description "ODU 2e protocol";
379 }
380
381 identity PROT_40GE {
382 base TRIBUTARY_PROTOCOL_TYPE;
383 description "40G Ethernet port protocol";
384 }
385
386 identity PROT_OC768 {
387 base TRIBUTARY_PROTOCOL_TYPE;
388 description "OC 768 protocol";
389 }
390
391 identity PROT_STM256 {
392 base TRIBUTARY_PROTOCOL_TYPE;
393 description "STM 256 protocol";
394 }
395
396 identity PROT_OTU3 {
397 base TRIBUTARY_PROTOCOL_TYPE;
398 description "OTU 3 protocol";
399 }
400
401 identity PROT_ODU3 {
402 base TRIBUTARY_PROTOCOL_TYPE;
403 description "ODU 3 protocol";
404 }
405
406 identity PROT_100GE {
407 base TRIBUTARY_PROTOCOL_TYPE;
408 description "100G Ethernet protocol";
409 }
410
411 identity PROT_100G_MLG {
412 base TRIBUTARY_PROTOCOL_TYPE;
413 description "100G MLG protocol";
414 }
415
416 identity PROT_OTU4 {
417 base TRIBUTARY_PROTOCOL_TYPE;
418 description "OTU4 signal protocol (112G) for transporting
419 100GE signal";
420 }
421
422 identity PROT_OTUCN {
423 base TRIBUTARY_PROTOCOL_TYPE;
424 description "OTU Cn protocol";
425 }
426
427 identity PROT_ODUCN {
428 base TRIBUTARY_PROTOCOL_TYPE;
429 description "ODU Cn protocol";
430 }
431
432 identity PROT_ODU4 {
433 base TRIBUTARY_PROTOCOL_TYPE;
434 description "ODU 4 protocol";
435 }
436
437 identity TRANSCEIVER_FORM_FACTOR_TYPE {
438 description
439 "Base identity for identifying the type of pluggable optic
440 transceiver (i.e,. form factor) used in a port.";
441 }
442
443 identity CFP {
444 base TRANSCEIVER_FORM_FACTOR_TYPE;
445 description
446 "C form-factor pluggable, that can support up to a
447 100 Gb/s signal with 10x10G or 4x25G physical channels";
448 }
449
450 identity CFP2 {
451 base TRANSCEIVER_FORM_FACTOR_TYPE;
452 description
453 "1/2 C form-factor pluggable, that can support up to a
454 200 Gb/s signal with 10x10G, 4x25G, or 8x25G physical
455 channels";
456 }
457
458 identity CFP2_ACO {
459 base TRANSCEIVER_FORM_FACTOR_TYPE;
460 description
461 "CFP2 analog coherent optics transceiver, supporting
462 100 Gb, 200Gb, and 250 Gb/s signal.";
463 }
464
465 identity CFP4 {
466 base TRANSCEIVER_FORM_FACTOR_TYPE;
467 description
468 "1/4 C form-factor pluggable, that can support up to a
469 100 Gb/s signal with 10x10G or 4x25G physical channels";
470 }
471
472 identity QSFP {
473 base TRANSCEIVER_FORM_FACTOR_TYPE;
474 description
475 "OriginalQuad Small Form-factor Pluggable transceiver that can
476 support 4x1G physical channels. Not commonly used.";
477 }
478
479 identity QSFP_PLUS {
480 base TRANSCEIVER_FORM_FACTOR_TYPE;
481 description
482 "Quad Small Form-factor Pluggable transceiver that can support
483 up to 4x10G physical channels.";
484 }
485
486 identity QSFP28 {
487 base TRANSCEIVER_FORM_FACTOR_TYPE;
488 description
489 "QSFP pluggable optic with support for up to 4x28G physical
490 channels";
491 }
492
493 identity CPAK {
494 base TRANSCEIVER_FORM_FACTOR_TYPE;
495 description
496 "Cisco CPAK transceiver supporting 100 Gb/s.";
497 }
498
499 identity SFP {
500 base TRANSCEIVER_FORM_FACTOR_TYPE;
501 description
502 "Small form-factor pluggable transceiver supporting up to
503 10 Gb/s signal";
504 }
505
506 identity SFP_PLUS {
507 base TRANSCEIVER_FORM_FACTOR_TYPE;
508 description
509 "Enhanced small form-factor pluggable transceiver supporting
510 up to 16 Gb/s signals, including 10 GbE and OTU2";
511 }
512
513 identity XFP {
514 base TRANSCEIVER_FORM_FACTOR_TYPE;
515 description
516 "10 Gigabit small form factor pluggable transceiver supporting
517 10 GbE and OTU2";
518 }
519
520 identity X2 {
521 base TRANSCEIVER_FORM_FACTOR_TYPE;
522 description
523 "10 Gigabit small form factor pluggable transceiver supporting
524 10 GbE using a XAUI inerface and 4 data channels.";
525 }
526
527 identity NON_PLUGGABLE {
528 base TRANSCEIVER_FORM_FACTOR_TYPE;
529 description
530 "Represents a port that does not require a pluggable optic,
531 e.g., with on-board optics like COBO";
532 }
533
534 identity OTHER {
535 base TRANSCEIVER_FORM_FACTOR_TYPE;
536 description
537 "Represents a transceiver form factor not otherwise listed";
538 }
539
540 identity FIBER_CONNECTOR_TYPE {
541 description
542 "Type of optical fiber connector";
543 }
544
545 identity SC_CONNECTOR {
546 base FIBER_CONNECTOR_TYPE;
547 description
548 "SC type fiber connector";
549 }
550
551 identity LC_CONNECTOR {
552 base FIBER_CONNECTOR_TYPE;
553 description
554 "LC type fiber connector";
555 }
556
557 identity MPO_CONNECTOR {
558 base FIBER_CONNECTOR_TYPE;
559 description
560 "MPO (multi-fiber push-on/pull-off) type fiber connector
561 1x12 fibers";
562 }
563
564 identity ETHERNET_PMD_TYPE {
565 description
566 "Ethernet compliance codes (PMD) supported by transceivers";
567 }
568
569 identity ETH_10GBASE_LRM {
570 base ETHERNET_PMD_TYPE;
571 description "Ethernet compliance code: 10GBASE_LRM";
572 }
573
574 identity ETH_10GBASE_LR {
575 base ETHERNET_PMD_TYPE;
576 description "Ethernet compliance code: 10GBASE_LR";
577 }
578
579 identity ETH_10GBASE_ZR {
580 base ETHERNET_PMD_TYPE;
581 description "Ethernet compliance code: 10GBASE_ZR";
582 }
583
584 identity ETH_10GBASE_ER {
585 base ETHERNET_PMD_TYPE;
586 description "Ethernet compliance code: 10GBASE_ER";
587 }
588
589 identity ETH_10GBASE_SR {
590 base ETHERNET_PMD_TYPE;
591 description "Ethernet compliance code: 10GBASE_SR";
592 }
593
594 identity ETH_40GBASE_CR4 {
595 base ETHERNET_PMD_TYPE;
596 description "Ethernet compliance code: 40GBASE_CR4";
597 }
598
599 identity ETH_40GBASE_SR4 {
600 base ETHERNET_PMD_TYPE;
601 description "Ethernet compliance code: 40GBASE_SR4";
602 }
603
604 identity ETH_40GBASE_LR4 {
605 base ETHERNET_PMD_TYPE;
606 description "Ethernet compliance code: 40GBASE_LR4";
607 }
608
609 identity ETH_40GBASE_ER4 {
610 base ETHERNET_PMD_TYPE;
611 description "Ethernet compliance code: 40GBASE_ER4";
612 }
613
614 identity ETH_40GBASE_PSM4 {
615 base ETHERNET_PMD_TYPE;
616 description "Ethernet compliance code: 40GBASE_PSM4";
617 }
618
619 identity ETH_4X10GBASE_LR {
620 base ETHERNET_PMD_TYPE;
621 description "Ethernet compliance code: 4x10GBASE_LR";
622 }
623
624 identity ETH_4X10GBASE_SR {
625 base ETHERNET_PMD_TYPE;
626 description "Ethernet compliance code: 4x10GBASE_SR";
627 }
628
629 identity ETH_100G_AOC {
630 base ETHERNET_PMD_TYPE;
631 description "Ethernet compliance code: 100G_AOC";
632 }
633
634 identity ETH_100G_ACC {
635 base ETHERNET_PMD_TYPE;
636 description "Ethernet compliance code: 100G_ACC";
637 }
638
639 identity ETH_100GBASE_SR10 {
640 base ETHERNET_PMD_TYPE;
641 description "Ethernet compliance code: 100GBASE_SR10";
642 }
643
644 identity ETH_100GBASE_SR4 {
645 base ETHERNET_PMD_TYPE;
646 description "Ethernet compliance code: 100GBASE_SR4";
647 }
648
649 identity ETH_100GBASE_LR4 {
650 base ETHERNET_PMD_TYPE;
651 description "Ethernet compliance code: 100GBASE_LR4";
652 }
653
654 identity ETH_100GBASE_ER4 {
655 base ETHERNET_PMD_TYPE;
656 description "Ethernet compliance code: 100GBASE_ER4";
657 }
658
659 identity ETH_100GBASE_CWDM4 {
660 base ETHERNET_PMD_TYPE;
661 description "Ethernet compliance code: 100GBASE_CWDM4";
662 }
663
664 identity ETH_100GBASE_CLR4 {
665 base ETHERNET_PMD_TYPE;
666 description "Ethernet compliance code: 100GBASE_CLR4";
667 }
668
669 identity ETH_100GBASE_PSM4 {
670 base ETHERNET_PMD_TYPE;
671 description "Ethernet compliance code: 100GBASE_PSM4";
672 }
673
674 identity ETH_100GBASE_CR4 {
675 base ETHERNET_PMD_TYPE;
676 description "Ethernet compliance code: 100GBASE_CR4";
677 }
678
679 identity ETH_UNDEFINED {
680 base ETHERNET_PMD_TYPE;
681 description "Ethernet compliance code: undefined";
682 }
683
684 identity SONET_APPLICATION_CODE {
685 description
686 "Supported SONET/SDH application codes";
687 }
688
689 identity VSR2000_3R2 {
690 base SONET_APPLICATION_CODE;
691 description
692 "SONET/SDH application code: VSR2000_3R2";
693 }
694
695 identity VSR2000_3R3 {
696 base SONET_APPLICATION_CODE;
697 description
698 "SONET/SDH application code: VSR2000_3R3";
699 }
700
701 identity VSR2000_3R5 {
702 base SONET_APPLICATION_CODE;
703 description
704 "SONET/SDH application code: VSR2000_3R5";
705 }
706
707 identity SONET_UNDEFINED {
708 base SONET_APPLICATION_CODE;
709 description
710 "SONET/SDH application code: undefined";
711 }
712
713 identity OTN_APPLICATION_CODE {
714 description
715 "Supported OTN application codes";
716 }
717
718 identity P1L1_2D1 {
719 base OTN_APPLICATION_CODE;
720 description
721 "OTN application code: P1L1_2D1";
722 }
723
724 identity P1S1_2D2 {
725 base OTN_APPLICATION_CODE;
726 description
727 "OTN application code: P1S1_2D2";
728 }
729
730 identity P1L1_2D2 {
731 base OTN_APPLICATION_CODE;
732 description
733 "OTN application code: P1L1_2D2";
734 }
735
736 identity OTN_UNDEFINED {
737 base OTN_APPLICATION_CODE;
738 description
739 "OTN application code: undefined";
740 }
741
742 identity TRIBUTARY_RATE_CLASS_TYPE {
743 description
744 "Rate of tributary signal _- identities will typically reflect
745 rounded bit rate.";
746 }
747
748 identity TRIB_RATE_1G {
749 base TRIBUTARY_RATE_CLASS_TYPE;
750 description
751 "1G tributary signal rate";
752 }
753
754 identity TRIB_RATE_2.5G {
755 base TRIBUTARY_RATE_CLASS_TYPE;
756 description
757 "2.5G tributary signal rate";
758 }
759
760 identity TRIB_RATE_10G {
761 base TRIBUTARY_RATE_CLASS_TYPE;
762 description
763 "10G tributary signal rate";
764 }
765
766 identity TRIB_RATE_40G {
767 base TRIBUTARY_RATE_CLASS_TYPE;
768 description
769 "40G tributary signal rate";
770 }
771
772 identity TRIB_RATE_100G {
773 base TRIBUTARY_RATE_CLASS_TYPE;
774 description
775 "100G tributary signal rate";
776 }
777
778 identity TRIB_RATE_150G {
779 base TRIBUTARY_RATE_CLASS_TYPE;
780 description
781 "150G tributary signal rate";
782 }
783
784 identity TRIB_RATE_200G {
785 base TRIBUTARY_RATE_CLASS_TYPE;
786 description
787 "200G tributary signal rate";
788 }
789
790 identity TRIB_RATE_250G {
791 base TRIBUTARY_RATE_CLASS_TYPE;
792 description
793 "250G tributary signal rate";
794 }
795
796 identity TRIB_RATE_300G {
797 base TRIBUTARY_RATE_CLASS_TYPE;
798 description
799 "300G tributary signal rate";
800 }
801
802 identity TRIB_RATE_400G {
803 base TRIBUTARY_RATE_CLASS_TYPE;
804 description
805 "400G tributary signal rate";
806 }
807
808 identity LOGICAL_ELEMENT_PROTOCOL_TYPE {
809 description
810 "Type of protocol framing used on the logical channel or
811 tributary";
812 }
813
814 identity PROT_ETHERNET {
815 base LOGICAL_ELEMENT_PROTOCOL_TYPE;
816 description
817 "Ethernet protocol framing";
818 }
819
820 identity PROT_OTN {
821 base LOGICAL_ELEMENT_PROTOCOL_TYPE;
822 description
823 "OTN protocol framing";
824 }
825
826 identity OPTICAL_CHANNEL {
827 base oc-platform-types:OPENCONFIG_HARDWARE_COMPONENT;
828 description
829 "Optical channels act as carriers for transport traffic
830 directed over a line system. They are represented as
831 physical components in the physical inventory model.";
832 }
833
834}