blob: 924b8707c3f612110427c44da0c9597f76ab0278 [file] [log] [blame]
Jeff Groom34c28ce2018-04-26 19:42:18 -06001module ciena-waveserver-typedefs {
2 namespace "urn:ciena:params:xml:ns:yang:ciena-ws:ciena-waveserver-typedefs";
3 prefix cienawstypes;
4
5 organization
6 "Ciena Corporation";
7 contact
8 "Web URL: http://www.ciena.com/
9 Postal: 7035 Ridge Road
10 Hanover, Maryland 21076
11 U.S.A.
12 Phone: +1 800-921-1144
13 Fax: +1 410-694-5750";
14 description
15 "This YANG module defines Ciena's commonly used typedefs";
16
17 revision 2018-01-04 {
18 description
19 "Updated 'modem-frequency' range values for C-Band and L-Band capabilities.
20 Added 'otn' enum value to 'conditioning-type' typedef.
21 Removed unused OTUCn 'xcvr-mode' enum values and added OTL4.4/OTLC.4 support.
22 Added 'ipaddr-or-hostname' typedef.";
23 reference "Waveserver Ai user's guide.";
24 }
25 revision 2017-09-05 {
26 description
27 "Waveserver Platform Data Model
28 Migrated from Waveserver Classic R1.4 YANG model.
29 Updated namespace to 'ciena-waveserver'.
30 Added 'xcvr-mode' enum values.
31 Added 'power-state' typedef.
32 Renamed 'channels-number' typedef to 'lanes-number'.
33 Removed 'xcvr-id', 'ptp-id', 'port-id' types; use string types instead.
34 Added 'conditioning-type' and 'conditioning-holdoff' typedefs.
35 Remove line-module-type-bits typedef.
36 Added 'trace-mismatch-mode' and 'trace-mismatch-fail-mode'.
37 Added 'restart-reason'.
38 Removed several unused typedefs.";
39 reference "Waveserver Ai user's guide.";
40 }
41
42 typedef mac-string {
43 type string {
44 length "1..20";
45 }
46 description
47 "MAC address string.";
48 }
49
50 typedef name-string {
51 type string {
52 length "1..32";
53 }
54 description
55 "String type for object names used in Ciena defined modules. It must be a non empty string that is at most 32 characters long.";
56 }
57
58 typedef description-string {
59 type string {
60 length "0..128";
61 }
62 description
63 "String type for description used in Ciena defined modules. Max length of 128 characters, plus null.";
64 }
65
66 typedef on-off-enum {
67 type enumeration {
68 enum "off" {
69 description
70 "Off";
71 }
72 enum "on" {
73 description
74 "On";
75 }
76 }
77 description
78 "Off and On enum toggle used in Ciena defined modules.";
79 }
80
81 typedef power-state {
82 type enumeration {
83 enum "automatic" {
84 description
85 "Power state is automatic (on/normal).";
86 }
87 enum "shutdown" {
88 description
89 "Power state is shutdown (off/low-power-mode).";
90 }
91 }
92 description
93 "Power state automatic (on/normal) or shutdown (off/low-power-mode).";
94 }
95
96 typedef yes-no-enum {
97 type enumeration {
98 enum "no" {
99 description
100 "No";
101 }
102 enum "yes" {
103 description
104 "Yes";
105 }
106 }
107 description
108 "No and Yes enum toggle used in Ciena defined modules.";
109 }
110
111 typedef up-down-enum {
112 type enumeration {
113 enum "down" {
114 description
115 "Object is down/disabled/failed.";
116 }
117 enum "up" {
118 description
119 "Object is up/operational.";
120 }
121 }
122 description
123 "Down and Up enum toggle used in Ciena defined modules.";
124 }
125
126 typedef enabled-disabled-enum {
127 type enumeration {
128 enum "disabled" {
129 description
130 "Object or attribute is disabled.";
131 }
132 enum "enabled" {
133 description
134 "Object or attribute is enabled.";
135 }
136 }
137 description
138 "Enabled and Disabled enum toggle used in Ciena defined modules.";
139 }
140
141 typedef yes-no-na-enum {
142 type enumeration {
143 enum "no" {
144 description
145 "No";
146 }
147 enum "yes" {
148 description
149 "Yes";
150 }
151 enum "not-applicable" {
152 description
153 "Not applicable";
154 }
155 }
156 description
157 "No and Yes enum toggle used in Ciena defined modules.";
158 }
159
160 typedef enabled-disabled-na-enum {
161 type enumeration {
162 enum "disabled" {
163 description
164 "Disabled";
165 }
166 enum "enabled" {
167 description
168 "Enabled";
169 }
170 enum "not-applicable" {
171 description
172 "Not applicable";
173 }
174 }
175 description
176 "Enabled, Disabled, and not-applicable enum used in Ciena defined modules.";
177 }
178
179 typedef wl-spacing {
180 type enumeration {
181 enum "50GHz" {
182 description
183 "50GHz wavelength spacing.";
184 }
185 enum "100GHz" {
186 description
187 "100GHz wavelength spacing.";
188 }
189 enum "200GHz" {
190 description
191 "200GHz wavelength spacing.";
192 }
193 enum "flex-grid" {
194 description
195 "Flex-grid wavelength spacing.";
196 }
197 }
198 description
199 "Wavelength spacing, 50GHz, 100GHz, 200GHz, or flex-grid. Only 'flex-grid' supported in Waveserver Ai R1.0.";
200 }
201
202 typedef decimal-3-dig {
203 type decimal64 {
204 fraction-digits 3;
205 range "-2147483.0 .. 2147483.0";
206 }
207 description
208 "Decimal value up to 3 digits.";
209 }
210
211 typedef decimal-2-dig-small {
212 type decimal64 {
213 fraction-digits 2;
214 range "-30000.0 .. 30000.0";
215 }
216 description
217 "Decimal value up to 2 digits.";
218 }
219
220 typedef decimal-2-dig {
221 type decimal64 {
222 fraction-digits 2;
223 range "-21474836.0 .. 21474836.0";
224 }
225 description
226 "Decimal value up to 2 digits.";
227 }
228
229 typedef decimal-1-dig {
230 type decimal64 {
231 fraction-digits 1;
232 range "-214748364.0 .. 214748364.0";
233 }
234 description
235 "Decimal value up to 1 digits.";
236 }
237
238 typedef string-sci {
239 type string {
240 length "0..32";
241 pattern "[-+]?[0-9](\\.[0-9]+)?([eE][-+]?[0-9]+)?";
242 }
243 description
244 "String in Scientific Notation format with a max length of 32 characters.";
245 }
246
247 typedef string-maxl-15 {
248 type string {
249 length "0..15";
250 }
251 description
252 "Standard string that has a max length of 15 characters. Can be used for various nodes that may require string of this length.";
253 }
254
255 typedef string-maxl-16 {
256 type string {
257 length "0..16";
258 }
259 description
260 "Standard string that has a max length of 16 characters. Can be used for various nodes that may require string of this length.";
261 }
262
263 typedef string-maxl-32 {
264 type string {
265 length "0..32";
266 }
267 description
268 "Standard string that has a max length of 32 characters. Can be used for various nodes that may require string of this length.";
269 }
270
271 typedef string-maxl-44 {
272 type string {
273 length "0..44";
274 }
275 description
276 "Standard string that has a max length of 44 characters. Can be used for various nodes that may require string of this length.";
277 }
278
279 typedef string-maxl-50 {
280 type string {
281 length "0..50";
282 }
283 description
284 "Standard string that has a max length of 50 characters. Can be used for various nodes that may require string of this length.";
285 }
286
287 typedef string-maxl-64 {
288 type string {
289 length "0..64";
290 }
291 description
292 "Standard string that has a max length of 64 characters. Can be used for various nodes that may require string of this length.";
293 }
294
295 typedef string-maxl-128 {
296 type string {
297 length "0..128";
298 }
299 description
300 "Standard string that has a max length of 128 characters. Can be used for various nodes that may require string of this length.";
301 }
302
303 typedef string-maxl-254 {
304 type string {
305 length "0..254";
306 }
307 description
308 "Standard string that has a max length of 254 characters. Can be used for various nodes that may require string of this length.";
309 }
310
311 typedef string-maxl-256 {
312 type string {
313 length "0..256";
314 }
315 description
316 "Standard string that has a max length of 256 characters. Can be used for various nodes that may require string of this length.";
317 }
318
319 typedef ipaddr-or-hostname {
320 type string {
321 length "1..63";
322 }
323 description
324 "IP address or hostname string.";
325 }
326
327 typedef port-name {
328 type string {
329 length "1..32";
330 }
331 description
332 "A string representing a port interface name. Format is: '<slot>-<port>' or '<slot>-<majorport>.<minorport>'.";
333 }
334
335 typedef service-idx {
336 type uint32 {
337 range "0 .. 1000";
338 }
339 description
340 "Service Index";
341 }
342
343 typedef service-domain-idx {
344 type uint32 {
345 range "0 .. 20";
346 }
347 description
348 "Service Domain Index";
349 }
350
351 typedef xcvr-type {
352 type enumeration {
353 enum "not-available" {
354 value 0;
355 description
356 "XCVR type not available.";
357 }
358 enum "unsupported" {
359 value 1;
360 description
361 "XCVR type unsupported.";
362 }
363 enum "QSFPplus" {
364 value 2;
365 description
366 "XCVR type QSFP+.";
367 }
368 enum "QSFP28" {
369 value 3;
370 description
371 "XCVR type QSFP28.";
372 }
373 enum "WaveLogic 3 Extreme" {
374 value 4;
375 description
376 "XCVR type WL3e.";
377 }
378 enum "WaveLogic Ai" {
379 value 5;
380 description
381 "XCVR type WLAi.";
382 }
383 }
384 description
385 "Transceiver type.";
386 }
387
388 typedef xcvr-mode {
389 type enumeration {
390 enum "blank" {
391 value 0;
392 description
393 "XCVR/slot is blank.";
394 }
395 enum "10GE" {
396 value 10;
397 description
398 "XCVR mode 10 Gigabit Ethernet.";
399 }
400 enum "40GE" {
401 value 40;
402 description
403 "XCVR mode 40 Gigabit Ethernet.";
404 }
405 enum "100GE" {
406 value 100;
407 description
408 "XCVR mode 100 Gigabit Ethernet.";
409 }
410 enum "400GE" {
411 value 400;
412 description
413 "XCVR mode 400 Gigabit Ethernet.";
414 }
415 enum "OTL4.4" {
416 value 58044;
417 description
418 "XCVR mode OTL4.4.";
419 }
420 enum "OTLC.4" {
421 value 58104;
422 description
423 "XCVR mode OTLC.4.";
424 }
425 enum "56-200" {
426 value 560200;
427 description
428 "XCVR mode 56Gbaud, 200Gbps.";
429 }
430 enum "56-300" {
431 value 560300;
432 description
433 "XCVR mode 56Gbaud, 300Gbps.";
434 }
435 enum "56-400" {
436 value 560400;
437 description
438 "XCVR mode 56Gbaud, 400Gbps.";
439 }
440 }
441 description
442 "Transceiver mode.";
443 }
444
445 typedef line-sys-enum {
446 type enumeration {
447 enum "coloured" {
448 description
449 "Line system coloured.";
450 }
451 enum "colourless" {
452 description
453 "Line system colourless.";
454 }
455 enum "contentionless" {
456 description
457 "Line system contentionless.";
458 }
459 enum "cs-coloured" {
460 description
461 "Line system cs-coloured.";
462 }
463 enum "cs-colourless" {
464 description
465 "Line system cs-colourless.";
466 }
467 }
468 description
469 "Line system type.";
470 }
471
472 typedef lanes-number {
473 type uint16 {
474 range "0 .. 4";
475 }
476 description
477 "Lane number common type, lane range is defined from 0 to 4.";
478 }
479
480 typedef connector-type-desc-enum {
481 type enumeration {
482 enum "Unknown or unspecified" {
483 value 0;
484 description
485 "Unknown or unspecified.";
486 }
487 enum "SC - Subscriber Connector" {
488 value 1;
489 description
490 "SC - Subscriber Connector.";
491 }
492 enum "Fibre Channel Style 1 copper connector" {
493 value 2;
494 description
495 "Fibre Channel Style 1 copper connector.";
496 }
497 enum "Fibre Channel Style 2 copper connector" {
498 value 3;
499 description
500 "Fibre Channel Style 2 copper connector.";
501 }
502 enum "BNC/TNC - Bayonet/Threaded Neill-Concelman" {
503 value 4;
504 description
505 "BNC/TNC - Bayonet/Threaded Neill-Concelman.";
506 }
507 enum "Fibre Channel coax headers" {
508 value 5;
509 description
510 "Fibre Channel coax headers.";
511 }
512 enum "Fiber Jack" {
513 value 6;
514 description
515 "Fiber Jack.";
516 }
517 enum "LC - Lucent Connector" {
518 value 7;
519 description
520 "LC - Lucent Connector.";
521 }
522 enum "MT-RJ - Mechanical Transfer - Registered Jack" {
523 value 8;
524 description
525 "MT-RJ - Mechanical Transfer - Registered Jack.";
526 }
527 enum "MU - Multiple Optical" {
528 value 9;
529 description
530 "MU - Multiple Optical.";
531 }
532 enum "SG" {
533 value 10;
534 description
535 "SG.";
536 }
537 enum "Optical Pigtail" {
538 value 11;
539 description
540 "Optical Pigtail.";
541 }
542 enum "MPO 1x12 - Multifiber Parallel Optic" {
543 value 12;
544 description
545 "MPO 1x12 - Multifiber Parallel Optic.";
546 }
547 enum "MPO 2x16" {
548 value 13;
549 description
550 "MPO 2x16.";
551 }
552 enum "HSSDC II - High Speed Serial Data Connector" {
553 value 32;
554 description
555 "HSSDC II - High Speed Serial Data Connector.";
556 }
557 enum "Copper pigtail" {
558 value 33;
559 description
560 "Copper pigtail.";
561 }
562 enum "RJ45 - Registered Jack" {
563 value 34;
564 description
565 "RJ45 - Registered Jack.";
566 }
567 enum "No separable connector" {
568 value 35;
569 description
570 "No separable connector.";
571 }
572 enum "MXC 2x16" {
573 value 36;
574 description
575 "MXC 2x16.";
576 }
577 }
578 description
579 "Human readable description of Vendor's connector type byte value. Reference SFF-8024, table 4-3";
580 }
581
582 typedef modem-frequency {
583 type decimal64 {
584 fraction-digits 1;
585 range "0.0 | 186087.5 .. 190956.2 | 191342.5 .. 196107.5";
586 }
587 units "GHz";
588 description
589 "Modem frequency, in GHz. 0.0 indicates unprovisioned (default) value. L-Band range is 186087.5 - 190956.2 GHz, and C-Band range is 191342.5 - 196107.5 GHz.";
590 }
591
592 typedef tx-power-lvl {
593 type decimal64 {
594 fraction-digits 1;
595 range "-214748364.0 .. 214748364.0";
596 }
597 description
598 "Modem Tx Power Level.";
599 }
600
601 typedef module-type-enum {
602 type enumeration {
603 enum "unknown" {
604 description
605 "Module type unknown.";
606 }
607 enum "integrated" {
608 description
609 "Module type integrated.";
610 }
611 enum "field-replaceable" {
612 description
613 "Module type field-replaceable.";
614 }
615 }
616 description
617 "Module type enum.";
618 }
619
620 typedef module-type-bits {
621 type bits {
622 bit integrated {
623 position 0;
624 description
625 "Module type integrated.";
626 }
627 bit field-replaceable {
628 position 1;
629 description
630 "Module type field-replaceable.";
631 }
632 }
633 description
634 "Module type bits.";
635 }
636
637 typedef restart-reason {
638 type enumeration {
639 enum "unknown" {
640 description
641 "Unknown restart reason.";
642 }
643 enum "user-warm" {
644 description
645 "User-initiated warm restart.";
646 }
647 enum "user-cold" {
648 description
649 "User-initiated cold restart.";
650 }
651 enum "system-warm" {
652 description
653 "System-initiated warm restart.";
654 }
655 enum "system-cold" {
656 description
657 "System-initiated cold restart.";
658 }
659 enum "power-on" {
660 description
661 "Device inserted or powered on.";
662 }
663 }
664 description
665 "Chassis/Module last restart reason.";
666 }
667
668 typedef conditioning-type {
669 type enumeration {
670 enum "none" {
671 value 0;
672 description
673 "No consequent action.";
674 }
675 enum "laser-off" {
676 value 1;
677 description
678 "Disable the transmitter consequent action.";
679 }
680 enum "ethernet" {
681 value 2;
682 description
683 "Ethernet Local Fault consequent action.";
684 }
685 enum "otn" {
686 value 3;
687 description
688 "OTN consequent action as defined in ITU-T G.798.";
689 }
690 }
691 description
692 "Egress UNI port consequent action for an EPL service to be applied on a far-end ingress UNI failure or network failure.";
693 }
694
695 typedef conditioning-holdoff {
696 type int16 {
697 range "0|10|20|30|40|50|60|70|80|90|100|200|300|400|500|600|700|800|900|1000";
698 }
699 units "ms";
700 description
701 "Number of milliseconds to delay Egress UNI port consequent action for an EPL service.";
702 }
703
704 typedef trace-mismatch-mode {
705 type enumeration {
706 enum "operator-only" {
707 value 1;
708 description
709 "Trace mismatch detection criteria includes operator-specific trace string only. Other fields are ignored.";
710 }
711 enum "sapi" {
712 value 2;
713 description
714 "Trace mismatch detection criteria includes source access point identifier (SAPI) trace string only. Other fields are ignored.";
715 }
716 enum "dapi" {
717 value 3;
718 description
719 "Trace mismatch detection criteria includes destination access point identifier (DAPI) trace string only. Other fields are ignored.";
720 }
721 enum "sapi-and-dapi" {
722 value 4;
723 description
724 "Trace mismatch detection criteria includes SAPI and DAPI strings. A mismatch of either of these fields will result in TTI mismatch. The operator specific field is ignored.";
725 }
726 }
727 description
728 "The trail trace identifier (TTI) mismatch mode, indicating which fields of the TTI overhead are used for trace mismatch detection.";
729 }
730
731 typedef trace-mismatch-fail-mode {
732 type enumeration {
733 enum "none" {
734 description
735 "TTI mismatch detection is disable or ignored. Do not raise an alarm on TTI mismatch condition.";
736 }
737 enum "alarm-only" {
738 description
739 "Raise an alarm when TTI mismatch occurs, but do not squelch traffic.";
740 }
741 }
742 description
743 "The trail trace identifier (TTI) mismatch failure mode. When TTI mismatch condition occurs, this indicates the consequent action taken, e.g. whether or not to raise an alarm.";
744 }
745}