blob: 5ef16581ac6e229ec572966d6426b84d2a1f4b3b [file] [log] [blame]
Jeff Groom34c28ce2018-04-26 19:42:18 -06001module ciena-waveserver-xcvr-pluggable {
2 namespace "urn:ciena:params:xml:ns:yang:ciena-ws:ciena-waveserver-xcvr-pluggable";
3 prefix xcvr-pluggable;
4
5 import ciena-waveserver-typedefs {
6 prefix cienawstypes;
7 }
8 import ciena-waveserver-xcvr {
9 prefix xcvr;
10 }
11
12 organization
13 "Ciena Corporation";
14 contact
15 "Web URL: http://www.ciena.com/
16 Postal: 7035 Ridge Road
17 Hanover, Maryland 21076
18 U.S.A.
19 Phone: +1 800-921-1144
20 Fax: +1 410-694-5750";
21 description
22 "This YANG module defines Ciena's XCVR common pluggable specific data for the NETCONF protocol. It will augment the ciena-waveserver-xcvr module.";
23
24 revision 2017-07-27 {
25 description
26 "Waveserver Platform Data Model
27 Migrated from Waveserver Classic R1.4 YANG model.
28 Updated namespace to 'ciena-waveserver'.
29 Updated description strings, fixed several lint errors/warnings.";
30 reference "";
31 }
32
33 augment "/xcvr:waveserver-xcvrs/xcvr:xcvrs/xcvr:properties/xcvr:vendor-data/xcvr:id/xcvr:vendor-id" {
34 when "../../../xcvr:type = 'QSFPplus' or ../../../xcvr:type = 'QSFP28' or ../../../xcvr:type = 'unsupported'" {
35 description
36 "XCVR vendor-id properties specific to pluggable XCVRs.";
37 }
38 description
39 "XCVR vendor-id properties specific to pluggable XCVRs.";
40 leaf revision-compliance {
41 type enumeration {
42 enum "not-specified" {
43 description
44 "Revision compliance not specified.";
45 }
46 enum "RV4.7" {
47 description
48 "Revision compliance RV4.7.";
49 }
50 enum "RV4.7-2h" {
51 description
52 "Revision compliance RV4.7-2h.";
53 }
54 enum "RV1.3" {
55 description
56 "Revision compliance RV1.3.";
57 }
58 enum "RV1.4" {
59 description
60 "Revision compliance RV1.4.";
61 }
62 enum "RV1.5" {
63 description
64 "Revision compliance RV1.5.";
65 }
66 enum "RV2.0" {
67 description
68 "Revision compliance RV2.0.";
69 }
70 enum "RV2.0 and 2.6 and 2.7" {
71 description
72 "Revision compliance RV2.0 and 2.6 and 2.7.";
73 }
74 }
75 config false;
76 description
77 "Revision Compliance flags, as defined in documentation for Common Management Interface, SFF-8636, table 6-3.";
78 }
79 leaf-list vendor-oui {
80 type uint8;
81 config false;
82 max-elements "3";
83 ordered-by system;
84 description
85 "Free side device vendor IEEE company ID. Defined in Common Management Interface, SFF-8636, table 6-15. 3 bytes of data.";
86 }
87 }
88 augment "/xcvr:waveserver-xcvrs/xcvr:xcvrs/xcvr:properties/xcvr:vendor-data/xcvr:properties/xcvr:device-id" {
89 when "../../../xcvr:type = 'QSFPplus' or ../../../xcvr:type = 'QSFP28' or ../../../xcvr:type = 'unsupported'" {
90 description
91 "XCVR device-id properties specific to pluggable XCVRs.";
92 }
93 description
94 "XCVR device-id properties specific to pluggable XCVRs.";
95 leaf identifier {
96 type enumeration {
97 enum "Unknown or unspecified" {
98 value 0;
99 description
100 "Identifier value 0x00, Unknown or unspecified.";
101 }
102 enum "GBIC" {
103 value 1;
104 description
105 "Identifier value 0x01, GBIC.";
106 }
107 enum "Module/connector soldered to motherboard" {
108 value 2;
109 description
110 "Identifier value 0x02, Module/connector soldered to motherboard.";
111 }
112 enum "SFP/SFP+/SFP28" {
113 value 3;
114 description
115 "Identifier value 0x03, SFP/SFP+/SFP28.";
116 }
117 enum "300 pin XBI" {
118 value 4;
119 description
120 "Identifier value 0x04, 300 pin XBI.";
121 }
122 enum "XENPAK" {
123 value 5;
124 description
125 "Identifier value 0x05, XENPAK.";
126 }
127 enum "XFP" {
128 value 6;
129 description
130 "Identifier value 0x06, XFP.";
131 }
132 enum "XFF" {
133 value 7;
134 description
135 "Identifier value 0x07, XFF.";
136 }
137 enum "XFP-E" {
138 value 8;
139 description
140 "Identifier value 0x08, XFP-E.";
141 }
142 enum "XPAK" {
143 value 9;
144 description
145 "Identifier value 0x09, XPAK.";
146 }
147 enum "X2" {
148 value 10;
149 description
150 "Identifier value 0x0A, X2.";
151 }
152 enum "DWDM-SFP/SFP+" {
153 value 11;
154 description
155 "Identifier value 0x0B, DWDM-SFP/SFP+.";
156 }
157 enum "QSFP INF-8438" {
158 value 12;
159 description
160 "Identifier value 0x0C, QSFP (INF-8438).";
161 }
162 enum "QSFP+ SFF-8436" {
163 value 13;
164 description
165 "Identifier value 0x0D, QSFP+ (SFF-8436) or later.";
166 }
167 enum "CXP" {
168 value 14;
169 description
170 "Identifier value 0x0E, CXP or later.";
171 }
172 enum "Shielded Mini Multilane HD 4X" {
173 value 15;
174 description
175 "Identifier value 0x0F, Shielded Mini Multilane HD 4X.";
176 }
177 enum "Shielded Mini Multilane HD 8X" {
178 value 16;
179 description
180 "Identifier value 0x0F, Shielded Mini Multilane HD 8X.";
181 }
182 enum "QSFP28 SFF-8636" {
183 value 17;
184 description
185 "Identifier value 0x11, QSFP28 (SFF-8636) or later.";
186 }
187 enum "CXP2 aka CXP28" {
188 value 18;
189 description
190 "Identifier value 0x12, CXP2 (aka CXP28) or later.";
191 }
192 enum "CDFP Style1/Style2" {
193 value 19;
194 description
195 "Identifier value 0x13, CDFP (Style 1 / Style 2).";
196 }
197 enum "Shielded Mini Multilane HD 4X Fanout" {
198 value 20;
199 description
200 "Identifier value 0x14, Shielded Mini Multilane HD 4X Fanout.";
201 }
202 enum "Shielded Mini Multilane HD 8X Fanout" {
203 value 21;
204 description
205 "Identifier value 0x15, Shielded Mini Multilane HD 8X Fanout.";
206 }
207 enum "CDFP Style 3" {
208 value 22;
209 description
210 "Identifier value 0x16, CDFP (Style 3).";
211 }
212 }
213 config false;
214 description
215 "Human readable description of Vendor's identifier byte value. Reference SFF-8024, table 4-1";
216 }
217 leaf identifier-raw {
218 type cienawstypes:string-maxl-32;
219 config false;
220 description
221 "Vendor's identifier raw byte value. In the format of a HEX string. Reference SFF-8024, table 4-1";
222 }
223 leaf extended-identifier-raw {
224 type cienawstypes:string-maxl-32;
225 config false;
226 description
227 "Vendor's extended identifier raw byte value. In the format of a HEX string. Reference SFF-8436, table 4-1";
228 }
229 leaf power-consumption {
230 type enumeration {
231 enum "Class 1 Module 1.5W max" {
232 description
233 "Class 1 Module 1.5W max.";
234 }
235 enum "Class 2 Module 2.0W max" {
236 description
237 "Class 2 Module 2.0W max.";
238 }
239 enum "Class 3 Module 2.5W max" {
240 description
241 "Class 3 Module 2.5W max.";
242 }
243 enum "Class 4 Module 3.5W max" {
244 description
245 "Class 4 Module 3.5W max.";
246 }
247 }
248 config false;
249 description
250 "The class of Power Consumption portion of the extended identifier byte, bit 7 to 6. Reference SFF-8436, section 7.6.2.2";
251 }
252 leaf clei {
253 type cienawstypes:string-maxl-16;
254 config false;
255 description
256 "CLEI code. If bit4 in extended identifier is set to 1, show the CLEI code. If bit4 in extended identifier is set to 0, 'No CLEI code' will be shown. Reference SFF-8436, section 7.6.2.2 and section 7.6.4";
257 }
258 leaf connector-type-raw {
259 type cienawstypes:string-maxl-32;
260 config false;
261 description
262 "Vendor's connector type raw byte value. In the format of a HEX string. Reference SFF-8024, table 4-3";
263 }
264 }
265 augment "/xcvr:waveserver-xcvrs/xcvr:xcvrs/xcvr:properties/xcvr:vendor-data/xcvr:properties/xcvr:transmitter" {
266 when "../../../xcvr:type = 'QSFPplus' or ../../../xcvr:type = 'QSFP28' or ../../../xcvr:type = 'unsupported'" {
267 description
268 "XCVR transmitter properties specific to pluggable XCVRs.";
269 }
270 description
271 "XCVR transmitter properties specific to pluggable XCVRs.";
272 leaf wavelength {
273 type cienawstypes:decimal-2-dig;
274 units "nm";
275 config false;
276 description
277 "Wave length value, in nanometers.";
278 }
279 leaf wavelength-raw {
280 type cienawstypes:string-maxl-32;
281 config false;
282 description
283 "Raw byte value of Wavelength, before any multiplier operation is done. In the format of a HEX string.";
284 }
285 leaf encoding-description {
286 type enumeration {
287 enum "Unspecified" {
288 value 0;
289 description
290 "Unspecified encoding.";
291 }
292 enum "8B/10B" {
293 value 1;
294 description
295 "8B/10B encoding.";
296 }
297 enum "4B/5B" {
298 value 2;
299 description
300 "4B/5B encoding.";
301 }
302 enum "NRZ" {
303 value 3;
304 description
305 "NRZ encoding.";
306 }
307 enum "SONET Scrambled" {
308 value 4;
309 description
310 "SONET Scrambled encoding.";
311 }
312 enum "64B/66B" {
313 value 5;
314 description
315 "64B/66B encoding.";
316 }
317 enum "Manchester" {
318 value 6;
319 description
320 "Manchester encoding.";
321 }
322 enum "256B/257B" {
323 value 7;
324 description
325 "256B/257B encoding.";
326 }
327 }
328 config false;
329 description
330 "Human readable description of Device encoding mechanism. Some values may differ depending on if it is 8472 or 8x36. Reference SFF-8024, TABLE 4-2.";
331 }
332 leaf encoding-raw {
333 type cienawstypes:string-maxl-32;
334 config false;
335 description
336 "Raw byte value of Device encoding mechanism. Some values may differ depending on if it is 8472 or 8x36. In the format of a HEX string. Reference SFF-8024, TABLE 4-2.";
337 }
338 }
339 augment "/xcvr:waveserver-xcvrs/xcvr:xcvrs/xcvr:properties/xcvr:vendor-data/xcvr:properties/xcvr:diagnostic-monitoring" {
340 when "../../../xcvr:type = 'QSFPplus' or ../../../xcvr:type = 'QSFP28' or ../../../xcvr:type = 'unsupported'" {
341 description
342 "XCVR diagnostic properties specific to pluggable XCVRs.";
343 }
344 description
345 "XCVR diagnostic properties specific to pluggable XCVRs.";
346 leaf diagnostic-monitoring-type-raw {
347 type cienawstypes:string-maxl-32;
348 config false;
349 description
350 "Display the raw byte value of Diagnostic Monitoring Type, in the format of a HEX string. Reference SFF 8472 section 8.8 and table 9.5 for detail.";
351 }
352 leaf diagnostic-monitoring-implemented {
353 type boolean;
354 config false;
355 description
356 "If Digital diagnostic monitoring is implemented, determined by bit 6 of diagnostic monitoring type. Reference SFF 8472 section 8.8 and table 9.5 for detail.";
357 }
358 }
359 augment "/xcvr:waveserver-xcvrs/xcvr:xcvrs/xcvr:properties/xcvr:vendor-data/xcvr:properties" {
360 when "../../xcvr:type = 'QSFPplus' or ../../xcvr:type = 'QSFP28' or ../../xcvr:type = 'unsupported'" {
361 description
362 "XCVR vendor-data properties specific to pluggable XCVRs.";
363 }
364 description
365 "XCVR vendor-data properties specific to pluggable XCVRs.";
366 container transceiver-code {
367 description
368 "XCVR vendor data transceiver code properties.";
369 leaf specification-compliance {
370 type bits {
371 bit Spec-Compliance-40G-Active-Cable-XLPPI {
372 position 0;
373 description
374 "Spec Compliance 40G Active Cable XLPPI";
375 }
376 bit Spec-Compliance-40GBASE-LR4 {
377 position 1;
378 description
379 "Spec Compliance 40GBASE-LR4";
380 }
381 bit Spec-Compliance-40GBASE-SR4 {
382 position 2;
383 description
384 "Spec Compliance 40GBASE-SR4";
385 }
386 bit Spec-Compliance-40GBASE-CR4 {
387 position 3;
388 description
389 "Spec Compliance 40GBASE-CR4";
390 }
391 bit Spec-Compliance-10GBASE-SR {
392 position 4;
393 description
394 "Spec Compliance 10GBASE-SR";
395 }
396 bit Spec-Compliance-10GBASE-LR {
397 position 5;
398 description
399 "Spec Compliance 10GBASE-LR";
400 }
401 bit Spec-Compliance-10GBASE-LRM {
402 position 6;
403 description
404 "Spec Compliance 10GBASE-LRM";
405 }
406 bit Extended-Spec-Compliance-100G-Active-Optical-Cable {
407 position 8;
408 description
409 "Extended Spec Compliance 100G Active Optical Cable";
410 }
411 bit Extended-Spec-Compliance-100GBASE-SR4 {
412 position 9;
413 description
414 "Extended Spec Compliance 100GBASE-SR4";
415 }
416 bit Extended-Spec-Compliance-100GBASE-LR4 {
417 position 10;
418 description
419 "Extended-Spec Compliance 100GBASE-LR4";
420 }
421 bit Extended-Spec-Compliance-100GBASE-ER4 {
422 position 11;
423 description
424 "Extended Spec Compliance 100GBASE-ER4";
425 }
426 bit Extended-Spec-Compliance-100GBASE-SR10 {
427 position 12;
428 description
429 "Extended Spec Compliance 100GBASE-SR10";
430 }
431 bit Extended-Spec-Compliance-100G-CWDM4-MSA-with-FEC {
432 position 13;
433 description
434 "Extended Spec Compliance 100G CWDM4 MSA with FEC";
435 }
436 bit Extended-Spec-Compliance-100G-PSM4-Parallel-SMF {
437 position 14;
438 description
439 "Extended Spec Compliance 100G PSM4 Parallel SMF";
440 }
441 bit Extended-Spec-Compliance-100G-Active-Copper-Cable {
442 position 15;
443 description
444 "Extended Spec Compliance 100G Active Copper Cable";
445 }
446 bit Extended-Spec-Compliance-100G-CWDM-MSA-without-FEC {
447 position 16;
448 description
449 "Extended Spec Compliance 100G CWDM MSA without FEC";
450 }
451 bit Extended-Spec-Compliance-100GBASE-CR4 {
452 position 18;
453 description
454 "Extended Spec Compliance 100GBASE-CR4";
455 }
456 bit Extended-Spec-Compliance-40GBASE-ER4 {
457 position 23;
458 description
459 "Extended Spec Compliance 40GBASE-ER4";
460 }
461 bit Extended-Spec-Compliance-4x10GBASE-SR {
462 position 24;
463 description
464 "Extended Spec Compliance 4x10GBASE-SR";
465 }
466 bit Extended-Spec-Compliance-40G-PSM4-Parallel-SMF {
467 position 25;
468 description
469 "Extended Spec Compliance 40G PSM4 Parallel SMF";
470 }
471 bit Extended-Spec-Compliance-G.959.1-P1I1-2D1 {
472 position 26;
473 description
474 "Extended Spec Compliance G.959.1 P1I1 2D1";
475 }
476 bit Extended-Spec-Compliance-G.959.1-P1S1-2D2 {
477 position 27;
478 description
479 "Extended Spec Compliance G.959.1 P1S1 2D2";
480 }
481 bit Extended-Spec-Compliance-G.959.1-P1L1-2D2 {
482 position 28;
483 description
484 "Extended Spec Compliance G.959.1 P1L1 2D2";
485 }
486 bit ExtSpecCode-10GBASE-T-with-SFI {
487 position 29;
488 description
489 "ExtSpecCode 10GBASE-T with SFI";
490 }
491 bit ExtSpecCode-100G-CLR4 {
492 position 30;
493 description
494 "ExtSpecCode 100G-CLR4";
495 }
496 }
497 description
498 "10 GbE ethernet, 40 GbE ethernet, and 100 GbE extended specification compliance of the transceiver. In the form of a YANG bit field. Note, the bit field in this node is not mapped with the SFF tables. Reference SFF-8436 table 33 for specification compliance of 10 GbE and 40 GbE Ethernet. Reference SFF-8024, TABLE 4-4 for extended specification compliance of 100 GbE.";
499 }
500 leaf transceiver-code-raw {
501 type cienawstypes:string-maxl-32;
502 config false;
503 description
504 "Specification Compliance/Transceiver Code raw byte value. In the format of a HEX string. Reference SFF-8436 table 33 for specification compliance";
505 }
506 }
507 container device-technology {
508 description
509 "XCVR vendor data device technology properties.";
510 leaf device-technology-raw {
511 type cienawstypes:string-maxl-32;
512 config false;
513 description
514 "Display the raw byte value of Device Technology, in the format of a HEX string. Reference SFF 8636 table 6-19.";
515 }
516 leaf transmitter-tunable {
517 type boolean;
518 config false;
519 description
520 "Device Technology Transmitter tuneable value. Reference SFF 8636 table 6-19, bit 0.";
521 }
522 leaf max-case-temperature {
523 type uint8;
524 units "C";
525 config false;
526 description
527 "Maximum Case Temperature. In degrees C.";
528 }
529 }
530 container options {
531 description
532 "XCVR device options, as described in reference SFF 8636.";
533 leaf options-raw {
534 type cienawstypes:string-maxl-32;
535 config false;
536 description
537 "Raw byte value of 'options' field. In the format of a HEX string. Reference SFF 8636 table 6-22.";
538 }
539 leaf tx-input-equalization-auto-adaptive-capable {
540 type boolean;
541 config false;
542 description
543 "A bit flag in 'options', reference SFF 8636 table 6-22.";
544 }
545 leaf tx-input-equalization-fixed-programmable-setting {
546 type boolean;
547 config false;
548 description
549 "A bit flag in 'options', reference SFF 8636 table 6-22.";
550 }
551 leaf rx-output-emphasis-fixed-programmable-setting {
552 type boolean;
553 config false;
554 description
555 "A bit flag in 'options', reference SFF 8636 table 6-22.";
556 }
557 leaf rx-output-amplitude-fixed-programmable-setting {
558 type boolean;
559 config false;
560 description
561 "A bit flag in 'options', reference SFF 8636 table 6-22.";
562 }
563 leaf tx-cdr-loss-of-lock-flag {
564 type boolean;
565 config false;
566 description
567 "A bit flag in 'options', reference SFF 8636 table 6-22.";
568 }
569 leaf rx-cdr-loss-of-lock-flag {
570 type boolean;
571 config false;
572 description
573 "A bit flag in 'options', reference SFF 8636 table 6-22.";
574 }
575 leaf user-eeprom-page-02h-provided {
576 type boolean;
577 config false;
578 description
579 "A bit flag in 'options', reference SFF 8636 table 6-22.";
580 }
581 leaf ast-page-01h-provided {
582 type boolean;
583 config false;
584 description
585 "A bit flag in 'options', reference SFF 8636 table 6-22.";
586 }
587 }
588 }
589 augment "/xcvr:waveserver-xcvrs/xcvr:xcvrs/xcvr:properties/xcvr:diagnostics/xcvr:device" {
590 when "../../xcvr:type = 'QSFPplus' or ../../xcvr:type = 'QSFP28'" {
591 description
592 "XCVR diagnostics device properties specific to pluggable XCVRs.";
593 }
594 description
595 "XCVR diagnostics device properties specific to pluggable XCVRs.";
596 container supply-voltage {
597 description
598 "XCVR supply voltage readings and thresholds.";
599 leaf actual {
600 type cienawstypes:decimal-2-dig;
601 units "V";
602 config false;
603 description
604 "Supply voltage, actual supply voltage in volts (V). Range must be between 0 and 6.55V.";
605 }
606 container status {
607 description
608 "Supply voltage status.";
609 uses xcvr:supply-voltage-status-group;
610 }
611 container threshold {
612 description
613 "Supply voltage thresholds.";
614 uses xcvr:supply-voltage-threshold-group;
615 }
616 }
617 }
618 augment "/xcvr:waveserver-xcvrs/xcvr:xcvrs/xcvr:properties/xcvr:diagnostics/xcvr:lane" {
619 when "../../xcvr:type = 'QSFPplus' or ../../xcvr:type = 'QSFP28'" {
620 description
621 "XCVR lane properties specific to pluggable XCVRs.";
622 }
623 description
624 "XCVR lane properties specific to pluggable XCVRs.";
625 leaf transmitter-fault {
626 type boolean;
627 config false;
628 description
629 "If the xcvr channel transmitter has detected a fault.";
630 }
631 leaf tx-adaptive-eq-fault {
632 type boolean;
633 config false;
634 description
635 "If the xcvr channel Tx Adaptive EQ Fault has detected a fault. Only applicable for QSFP28. For QSFP+, default value of FALSE will be returned.";
636 }
637 }
638}