blob: 1dc2385afe9e485ae7f4d1e1a4c6c3e6a622ffe6 [file] [log] [blame]
Jeff Groom34c28ce2018-04-26 19:42:18 -06001module ciena-waveserver-lldp {
2 namespace "urn:ciena:params:xml:ns:yang:ciena-ws:ciena-waveserver-lldp";
3 prefix lldp;
4
5 import ciena-waveserver-typedefs {
6 prefix cienawstypes;
7 }
8
9 organization
10 "Ciena Corporation";
11 contact
12 "Web URL: http://www.ciena.com/
13 Postal: 7035 Ridge Road
14 Hanover, Maryland 21076
15 U.S.A.
16 Phone: +1 800-921-1144
17 Fax: +1 410-694-5750";
18 description
19 "This module defines the configuration and operational data for Link Layer Discovery Protocol (LLDP) on the Waveserver.";
20
21 revision 2017-06-16 {
22 description
23 "Waveserver Platform Data Model
24 Migrated from Waveserver Classic R1.4 YANG model.
25 Updated namespace to 'ciena-waveserver'.
26 Changed 'port-id' from integer to string format.";
27 reference "";
28 }
29
30 typedef chassis-id {
31 type string {
32 length "1..256";
33 }
34 description
35 "Chassis Identifier";
36 }
37
38 typedef chassis-id-subtype {
39 type enumeration {
40 enum "unknown" {
41 value 0;
42 }
43 enum "chassis-component" {
44 value 1;
45 }
46 enum "interface-alias" {
47 value 2;
48 }
49 enum "port-component" {
50 value 3;
51 }
52 enum "mac-address" {
53 value 4;
54 }
55 enum "network-address" {
56 value 5;
57 }
58 enum "interface-name" {
59 value 6;
60 }
61 enum "local" {
62 value 7;
63 }
64 }
65 }
66
67 typedef lldp-system-capability-bits {
68 type bits {
69 bit other {
70 position 0;
71 }
72 bit repeater {
73 position 1;
74 }
75 bit bridge {
76 position 2;
77 }
78 bit wlan-access-point {
79 position 3;
80 }
81 bit router {
82 position 4;
83 }
84 bit telephone {
85 position 5;
86 }
87 bit docsis {
88 position 6;
89 }
90 bit station-only {
91 position 7;
92 }
93 }
94 }
95
96 typedef lldp-management-address-subtype {
97 type enumeration {
98 enum "reserved" {
99 value 0;
100 }
101 enum "ipv4" {
102 value 1;
103 }
104 enum "ipv6" {
105 value 2;
106 }
107 enum "nsap" {
108 value 3;
109 }
110 enum "hdlc" {
111 value 4;
112 }
113 enum "bbn-1822" {
114 value 5;
115 }
116 enum "ieee-802" {
117 value 6;
118 }
119 enum "e-163" {
120 value 7;
121 }
122 enum "e164-smds-atm" {
123 value 8;
124 }
125 enum "f69-telex" {
126 value 9;
127 }
128 enum "x121-x25-fr" {
129 value 10;
130 }
131 enum "ipx" {
132 value 11;
133 }
134 enum "appletalk" {
135 value 12;
136 }
137 enum "decnet-iv" {
138 value 13;
139 }
140 enum "banyan-vines" {
141 value 14;
142 }
143 enum "e164-w-nsap" {
144 value 15;
145 }
146 enum "dns" {
147 value 16;
148 }
149 enum "distinguish-name" {
150 value 17;
151 }
152 enum "as-number" {
153 value 18;
154 }
155 enum "xtp-over-ipv4" {
156 value 19;
157 }
158 enum "xtp-over-ipv6" {
159 value 20;
160 }
161 enum "xtp-native-mode" {
162 value 21;
163 }
164 enum "fibre-ch-ww-port" {
165 value 22;
166 }
167 enum "fibre-ch-ww-node" {
168 value 23;
169 }
170 enum "gwid" {
171 value 24;
172 }
173 }
174 description
175 "";
176 }
177
178 typedef lldp-management-address-interface-subtype {
179 type enumeration {
180 enum "unknown" {
181 value 0;
182 }
183 enum "un-known" {
184 value 1;
185 }
186 enum "if-index" {
187 value 2;
188 }
189 enum "system-port-number" {
190 value 3;
191 }
192 }
193 description
194 "";
195 }
196
197 typedef lldp-port-id-sub-type {
198 type enumeration {
199 enum "unknown" {
200 value 0;
201 }
202 enum "interface-alias" {
203 value 1;
204 }
205 enum "port-component" {
206 value 2;
207 }
208 enum "mac-address" {
209 value 3;
210 }
211 enum "network-address" {
212 value 4;
213 }
214 enum "interface-name" {
215 value 5;
216 }
217 enum "agent-circuit-id" {
218 value 6;
219 }
220 enum "local" {
221 value 7;
222 }
223 }
224 description
225 "Local port id sub-type.";
226 }
227
228 typedef lldp-auto-neg-capability {
229 type enumeration {
230 enum "unknown" {
231 value 0;
232 }
233 enum "b-10base-t" {
234 value 1;
235 }
236 enum "b-10base-t-fd" {
237 value 2;
238 }
239 enum "b-100base-t4" {
240 value 3;
241 }
242 enum "b-100base-tx" {
243 value 4;
244 }
245 enum "b-100base-tx-full-duplex" {
246 value 5;
247 }
248 enum "b-100base-t2" {
249 value 6;
250 }
251 enum "b-100base-t2-full-duplex" {
252 value 7;
253 }
254 enum "b-full-duplex-pause" {
255 value 8;
256 }
257 enum "b-full-duplex-asymmetric-pause" {
258 value 9;
259 }
260 enum "b-full-duplex-symmetric-pause" {
261 value 10;
262 }
263 enum "b-full-duplex-asymmetric-symmetric-pause" {
264 value 11;
265 }
266 enum "b-1000base-x" {
267 value 12;
268 }
269 enum "b-1000base-x-full-duplex" {
270 value 13;
271 }
272 enum "b-1000base-t" {
273 value 14;
274 }
275 enum "b-1000base-t-full-duplex" {
276 value 15;
277 }
278 }
279 }
280
281 typedef lldp-operational-mau-type {
282 type enumeration {
283 enum "unknown" {
284 value 0;
285 }
286 enum "dot3-mau-type-aui" {
287 value 1;
288 }
289 enum "dot3-mau-type-10-base-5" {
290 value 2;
291 }
292 enum "dot3-mau-type-foirl" {
293 value 3;
294 }
295 enum "dot3-mau-type-10-base-2" {
296 value 4;
297 }
298 enum "dot3-mau-type-10-base-t" {
299 value 5;
300 }
301 enum "dot3-mau-type-10-base-fp" {
302 value 6;
303 }
304 enum "dot3-mau-type-10-base-fb" {
305 value 7;
306 }
307 enum "dot3-mau-type-10-base-fl" {
308 value 8;
309 }
310 enum "dot3-mau-type-10-broad36" {
311 value 9;
312 }
313 enum "dot3-mau-type-10-base-thd" {
314 value 10;
315 }
316 enum "dot3-mau-type-10-base-tfd" {
317 value 11;
318 }
319 enum "dot3-mau-type-10-base-flhd" {
320 value 12;
321 }
322 enum "dot3-mau-type-10-base-flfd" {
323 value 13;
324 }
325 enum "dot3-mau-type-100-base-t4" {
326 value 14;
327 }
328 enum "dot3-mau-type-100-base-txhd" {
329 value 15;
330 }
331 enum "dot3-mau-type-100-base-txfd" {
332 value 16;
333 }
334 enum "dot3-mau-type-100-base-fxhd" {
335 value 17;
336 }
337 enum "dot3-mau-type-100-base-fxfd" {
338 value 18;
339 }
340 enum "dot3-mau-type-100-base-t2hd" {
341 value 19;
342 }
343 enum "dot3-mau-type-100-base-t2fd" {
344 value 20;
345 }
346 enum "dot3-mau-type-1000-base-xhd" {
347 value 21;
348 }
349 enum "dot3-mau-type-1000-base-xfd" {
350 value 22;
351 }
352 enum "dot3-mau-type-1000-base-lxhd" {
353 value 23;
354 }
355 enum "dot3-mau-type-1000-base-lxfd" {
356 value 24;
357 }
358 enum "dot3-mau-type-1000-base-sxhd" {
359 value 25;
360 }
361 enum "dot3-mau-type-1000-base-sxfd" {
362 value 26;
363 }
364 enum "dot3-mau-type-1000-base-cxhd" {
365 value 27;
366 }
367 enum "dot3-mau-type-1000-base-cxfd" {
368 value 28;
369 }
370 enum "dot3-mau-type-1000-base-thd" {
371 value 29;
372 }
373 enum "dot3-mau-type-1000-base-tfd" {
374 value 30;
375 }
376 enum "dot3-mau-type-10Gig-base-x" {
377 value 31;
378 }
379 enum "dot3-mau-type-10Gig-base-lx4" {
380 value 32;
381 }
382 enum "dot3-mau-type-10Gig-base-r" {
383 value 33;
384 }
385 enum "dot3-mau-type-10Gig-base-er" {
386 value 34;
387 }
388 enum "dot3-mau-type-10Gig-base-lr" {
389 value 35;
390 }
391 enum "dot3-mau-type-10Gig-base-sr" {
392 value 36;
393 }
394 enum "dot3-mau-type-10Gig-base-w" {
395 value 37;
396 }
397 enum "dot3-mau-type-10Gig-base-ew" {
398 value 38;
399 }
400 enum "dot3-mau-type-10Gig-base-lw" {
401 value 39;
402 }
403 enum "dot3-mau-type-10Gig-base-sw" {
404 value 40;
405 }
406 enum "dot3-mau-type-10Gig-base-cx4" {
407 value 41;
408 }
409 enum "dot3-mau-type-2-base-tl" {
410 value 42;
411 }
412 enum "dot3-mau-type-10-pass-ts" {
413 value 43;
414 }
415 enum "dot3-mau-type-100-base-bx10D" {
416 value 44;
417 }
418 enum "dot3-mau-type-100-base-bx10u" {
419 value 45;
420 }
421 enum "dot3-mau-type-100-base-lx10" {
422 value 46;
423 }
424 enum "dot3-mau-type-1000-base-bx10d" {
425 value 47;
426 }
427 enum "dot3-mau-type-1000-base-bx10u" {
428 value 48;
429 }
430 enum "dot3-mau-type-1000-base-lx10" {
431 value 49;
432 }
433 enum "dot3-mau-type-1000-base-px10d" {
434 value 50;
435 }
436 enum "dot3-mau-type-1000-base-px10u" {
437 value 51;
438 }
439 enum "dot3-mau-type-1000-base-px20d" {
440 value 52;
441 }
442 enum "dot3-mau-type-1000-base-px20u" {
443 value 53;
444 }
445 enum "invalid" {
446 value 54;
447 }
448 }
449 }
450
451 typedef supported-notsupported-enum {
452 type enumeration {
453 enum "not-supported" {
454 value 0;
455 }
456 enum "supported" {
457 value 1;
458 }
459 }
460 }
461
462 typedef lldp-port-class {
463 type enumeration {
464 enum "pd" {
465 value 0;
466 }
467 enum "pse" {
468 value 1;
469 }
470 }
471 }
472
473 typedef lldp-pair-control {
474 type enumeration {
475 enum "cannot" {
476 value 0;
477 }
478 enum "can" {
479 value 1;
480 }
481 }
482 }
483
484 typedef lldp-power-pair {
485 type enumeration {
486 enum "not-support" {
487 value 0;
488 }
489 enum "signal" {
490 value 1;
491 }
492 enum "spare" {
493 value 2;
494 }
495 enum "unknown" {
496 value 3;
497 }
498 }
499 }
500
501 typedef lldp-power-class {
502 type enumeration {
503 enum "not-support" {
504 value 0;
505 }
506 enum "class-0" {
507 value 1;
508 }
509 enum "class-1" {
510 value 2;
511 }
512 enum "class-2" {
513 value 3;
514 }
515 enum "class-3" {
516 value 4;
517 }
518 enum "class-4" {
519 value 5;
520 }
521 enum "unknown" {
522 value 6;
523 }
524 }
525 description
526 "Power class.";
527 }
528
529 grouping system-capability-group {
530 description
531 "group of LLDP system capability data.";
532 leaf capabilities {
533 type lldp-system-capability-bits;
534 description
535 "LLDP system capabilities.";
536 }
537 leaf capability-enabled {
538 type lldp-system-capability-bits;
539 description
540 "Enabled LLDP system capability.";
541 }
542 }
543
544 grouping management-address-group {
545 description
546 "group of LLDP management address data.";
547 leaf address {
548 type cienawstypes:string-maxl-256;
549 config false;
550 description
551 "Management address.";
552 }
553 leaf subtype {
554 type lldp-management-address-subtype;
555 config false;
556 description
557 "Management adress subtype.";
558 }
559 }
560
561 grouping management-address-interface-group {
562 description
563 "group of LLDP management address data.";
564 leaf interface-subtype {
565 type lldp-management-address-interface-subtype;
566 config false;
567 description
568 "Management address interface subtype.";
569 }
570 leaf oid-if-number {
571 type uint32;
572 config false;
573 description
574 "Management address interface OID interface number.";
575 }
576 leaf oid {
577 type cienawstypes:string-maxl-128;
578 config false;
579 description
580 "Management address interface OID.";
581 }
582 }
583
584 grouping port-id-group {
585 description
586 "group of port identification data.";
587 leaf id {
588 type cienawstypes:string-maxl-32;
589 config false;
590 description
591 "port identifier.";
592 }
593 leaf sub-type {
594 type lldp-port-id-sub-type;
595 config false;
596 description
597 "Port identificer sub-type.";
598 }
599 leaf descriptor {
600 type cienawstypes:string-maxl-256;
601 config false;
602 description
603 "Port descriptor";
604 }
605 }
606
607 container waveserver-lldp {
608 description
609 "Waveserver LLDP configuration and operational data.";
610 container chassis {
611 container state {
612 leaf admin-state {
613 type cienawstypes:enabled-disabled-enum;
614 description
615 "Administrative state of chassis level LLDP.";
616 }
617 leaf notification-interval {
618 type uint16 {
619 range "5 .. 32768";
620 }
621 description
622 "LLDP Notification interval.";
623 }
624 }
625 container id {
626 config false;
627 leaf chassis-id {
628 type chassis-id;
629 description
630 "Chassis ID.";
631 }
632 leaf chassis-id-subtype {
633 type chassis-id-subtype;
634 description
635 "Chassis Id subtype.";
636 }
637 leaf system-name {
638 type cienawstypes:string-maxl-256;
639 description
640 "System Name. Max string length of 255 characters.";
641 }
642 leaf system-description {
643 type cienawstypes:string-maxl-256;
644 description
645 "System escription. Max string length of 255 characters.";
646 }
647 }
648 leaf time-to-live {
649 type uint16;
650 config false;
651 description
652 "Time To Live.";
653 }
654 container system-capabilities {
655 config false;
656 description
657 "LLDP system capabilities.";
658 uses system-capability-group;
659 }
660 container local-management-address-table {
661 config false;
662 description
663 "LLDP local management address table.";
664 list address-table {
665 key "index";
666 config false;
667 max-elements "4";
668 leaf index {
669 type uint32;
670 description
671 "Unique id, read-only attribute.";
672 }
673 uses management-address-group;
674 uses management-address-interface-group;
675 }
676 }
677 container statistics {
678 config false;
679 leaf last-change {
680 type uint32;
681 description
682 "remote table last change in 1/100 seconds.";
683 }
684 leaf inserts {
685 type uint32;
686 description
687 "Inserts.";
688 }
689 leaf deletes {
690 type uint32;
691 description
692 "Deletes.";
693 }
694 leaf drops {
695 type uint32;
696 description
697 "Drops.";
698 }
699 leaf age-outs {
700 type uint32;
701 description
702 "Age outs.";
703 }
704 }
705 }
706 list port {
707 key "port-id";
708 leaf port-id {
709 type cienawstypes:port-name;
710 mandatory true;
711 description
712 "Port ID/name string.";
713 }
714 container properties {
715 description
716 "LLDP port level properties.";
717 leaf mode {
718 type enumeration {
719 enum "unknown" {
720 value 0;
721 }
722 enum "tx-only" {
723 value 1;
724 }
725 enum "snoop" {
726 value 2;
727 }
728 enum "tx-rx" {
729 value 3;
730 }
731 enum "disabled" {
732 value 4;
733 }
734 }
735 description
736 "LLDP port admin state";
737 }
738 leaf notification {
739 type cienawstypes:on-off-enum;
740 description
741 "Turn notification on or off";
742 }
743 }
744 container statistics {
745 config false;
746 description
747 "Port level statistics.";
748 leaf out-packets-total {
749 type uint32;
750 config false;
751 description
752 "Out packets.";
753 }
754 leaf in-packets-total {
755 type uint32;
756 config false;
757 description
758 "In packets";
759 }
760 leaf in-err-packets-discarded {
761 type uint32;
762 config false;
763 description
764 "Discarded in error packets";
765 }
766 leaf in-errored-tlv {
767 type uint32;
768 config false;
769 description
770 "In errored TLV";
771 }
772 leaf tlv-discarded {
773 type uint32;
774 config false;
775 description
776 "Discarded TLV.";
777 }
778 leaf unknown-tlv {
779 type uint32;
780 config false;
781 description
782 "Unknown TLV";
783 }
784 leaf aged-out-total {
785 type uint32;
786 config false;
787 description
788 "Aged out total.";
789 }
790 }
791 container local {
792 config false;
793 description
794 "Port LLDP local data.";
795 container id {
796 description
797 "LLDP port identification.";
798 uses port-id-group;
799 }
800 container specification-802-3 {
801 config false;
802 description
803 "LLDP Specification 802.3.";
804 container mac-physical-config {
805 config false;
806 description
807 "Mac physical configuration.";
808 leaf auto-negotiation-support {
809 type supported-notsupported-enum;
810 description
811 "Auto-negotiation support.";
812 }
813 leaf auto-negotiation-status {
814 type cienawstypes:enabled-disabled-enum;
815 description
816 "Auto-negotiation status.";
817 }
818 leaf pmd-auto-negotiation-advertised-capability {
819 type lldp-auto-neg-capability;
820 description
821 "PMD Auto-negotiation advertised capability.";
822 }
823 leaf operational-mau-type {
824 type lldp-operational-mau-type;
825 description
826 "Operational MAU type.";
827 }
828 }
829 container power-via-mdi {
830 config false;
831 description
832 "Power Via MDI.";
833 leaf port-class {
834 type lldp-port-class;
835 description
836 "Port class";
837 }
838 leaf mdi {
839 type supported-notsupported-enum;
840 description
841 "mdi";
842 }
843 leaf mdi-power-support {
844 type cienawstypes:enabled-disabled-enum;
845 description
846 "MDI power support.";
847 }
848 leaf pair-control {
849 type lldp-pair-control;
850 description
851 "Pair control.";
852 }
853 leaf power-pair {
854 type lldp-power-pair;
855 description
856 "Power pair.";
857 }
858 leaf power-class {
859 type lldp-power-class;
860 description
861 "Power class.";
862 }
863 }
864 leaf max-frame-size {
865 type uint16;
866 description
867 "Maximum frame size.";
868 }
869 }
870 list local-management-address-table {
871 key "index";
872 config false;
873 max-elements "4";
874 leaf index {
875 type uint32;
876 description
877 "Unique id, read-only attribute.";
878 }
879 uses management-address-group;
880 uses management-address-interface-group;
881 }
882 }
883 container remote {
884 config false;
885 description
886 "LLDP port level remote data.";
887 container chassis {
888 config false;
889 container chassis-id {
890 leaf chassis-id {
891 type chassis-id;
892 description
893 "Chassis ID. Read only attribute.";
894 }
895 leaf chassis-id-subtype {
896 type chassis-id-subtype;
897 description
898 "Chassis Id subtype.";
899 }
900 leaf system-name {
901 type cienawstypes:string-maxl-256;
902 description
903 "System Name. Max string length of 255 characters.";
904 }
905 leaf system-description {
906 type cienawstypes:string-maxl-256;
907 description
908 "System escription. Max string length of 255 characters.";
909 }
910 }
911 leaf time-to-live {
912 type uint16;
913 config false;
914 description
915 "Time to live.";
916 }
917 container system-capabilities {
918 config false;
919 uses system-capability-group;
920 }
921 list management-address-table {
922 key "index";
923 config false;
924 max-elements "4";
925 leaf index {
926 type uint32;
927 description
928 "Unique id, read-only attribute.";
929 }
930 uses management-address-group;
931 uses management-address-interface-group;
932 }
933 }
934 container port {
935 config false;
936 container id {
937 config false;
938 description
939 "LLDP port identification.";
940 uses port-id-group;
941 }
942 container specification-802-3 {
943 config false;
944 description
945 "LLDP Specification 802.3.";
946 container mac-physical-config {
947 config false;
948 description
949 "Mac physical configuration.";
950 leaf auto-negotiation-support {
951 type supported-notsupported-enum;
952 description
953 "Auto-negotiation support.";
954 }
955 leaf auto-negotiation-status {
956 type cienawstypes:enabled-disabled-enum;
957 description
958 "Auto-negotiation status.";
959 }
960 leaf pmd-auto-negotiation-advertised-capability {
961 type lldp-auto-neg-capability;
962 description
963 "PMD Auto-negotiation advertised capability.";
964 }
965 leaf operational-mau-type {
966 type lldp-operational-mau-type;
967 description
968 "Operational MAU type.";
969 }
970 }
971 container power-via-mdi {
972 config false;
973 description
974 "Power Via MDI.";
975 leaf port-class {
976 type lldp-port-class;
977 description
978 "Port class";
979 }
980 leaf mdi {
981 type supported-notsupported-enum;
982 description
983 "mdi";
984 }
985 leaf mdi-power-support {
986 type cienawstypes:enabled-disabled-enum;
987 description
988 "MDI power support.";
989 }
990 leaf pair-control {
991 type lldp-pair-control;
992 description
993 "Pair control.";
994 }
995 leaf power-pair {
996 type lldp-power-pair;
997 description
998 "Power pair.";
999 }
1000 leaf power-class {
1001 type lldp-power-class;
1002 description
1003 "Power class.";
1004 }
1005 }
1006 leaf max-frame-size {
1007 type uint16;
1008 description
1009 "Maximum frame size.";
1010 }
1011 }
1012 list organization-definition-information-table {
1013 key "index";
1014 config false;
1015 description
1016 "Remote organization definition information table.";
1017 leaf index {
1018 type uint32;
1019 description
1020 "Unique id, read-only attribute.";
1021 }
1022 leaf oui {
1023 type cienawstypes:string-maxl-16;
1024 description
1025 "OUI.";
1026 }
1027 leaf subtype {
1028 type uint8;
1029 description
1030 "Sub-Type.";
1031 }
1032 leaf information {
1033 type cienawstypes:string-maxl-256;
1034 description
1035 "Information.";
1036 }
1037 }
1038 list unrecognized-tlv-table {
1039 key "index";
1040 config false;
1041 description
1042 "Remote unrecognized TLV table.";
1043 leaf index {
1044 type uint32;
1045 description
1046 "Unique id, read-only attribute.";
1047 }
1048 leaf type {
1049 type uint8;
1050 description
1051 "Type.";
1052 }
1053 leaf length {
1054 type uint32;
1055 description
1056 "Length.";
1057 }
1058 leaf value {
1059 type cienawstypes:string-maxl-256;
1060 description
1061 "Value.";
1062 }
1063 }
1064 }
1065 }
1066 }
1067 }
1068 rpc waveserver-lldp-clear-statistics {
1069 description
1070 "Clear the LLDP statistics.";
1071 output {
1072 leaf return-code {
1073 type uint32;
1074 description
1075 "return code: 0 is success; non-zero is failure";
1076 }
1077 }
1078 }
1079 rpc waveserver-lldp-clear-port-statistics {
1080 description
1081 "Clear the LLDP statistics for the specified port.";
1082 input {
1083 leaf port-id {
1084 type cienawstypes:port-name;
1085 mandatory true;
1086 description
1087 "The port ID/name string.";
1088 }
1089 }
1090 output {
1091 leaf return-code {
1092 type uint32;
1093 description
1094 "return code: 0 is success; non-zero is failure";
1095 }
1096 }
1097 }
1098}