]> git.proxmox.com Git - mirror_frr.git/blame - yang/frr-isisd.yang
Merge pull request #5644 from donaldsharp/more_pim_doc
[mirror_frr.git] / yang / frr-isisd.yang
CommitLineData
20bd27e2
EDP
1module frr-isisd {
2 yang-version 1.1;
3 namespace "http://frrouting.org/yang/isisd";
4 prefix frr-isisd;
5
6 import ietf-yang-types {
7 prefix yang;
8 }
9
10 import ietf-inet-types {
11 prefix inet;
12 }
13
14 import frr-interface {
15 prefix frr-interface;
16 }
17
18 import frr-route-types {
19 prefix frr-route-types;
20 }
21
22 organization
23 "Free Range Routing";
24 contact
25 "FRR Users List: <mailto:frog@lists.frrouting.org> FRR Development
26 List: <mailto:dev@lists.frrouting.org>";
27 description
28 "This module defines a model for managing FRR isisd daemon.";
29
26eb18e2
EDP
30 revision 2019-12-17 {
31 description
32 "Changed default area is-type to level-1-2";
33 }
f22b9250
QY
34 revision 2019-09-09 {
35 description
36 "Changed interface references to use
37 frr-interface:interface-ref typedef";
38 }
20bd27e2
EDP
39 revision 2018-07-26 {
40 description
41 "Initial revision.";
42 reference
43 "ISO/IEC 10589:2002.";
44 }
45
46 typedef level {
47 type enumeration {
48 enum "level-1" {
49 value 1;
50 description
51 "This enum indicates L1-only capability.";
52 }
53 enum "level-2" {
54 value 2;
55 description
56 "This enum indicates L2-only capability.";
57 }
58 enum "level-1-2" {
59 value 3;
60 description
61 "This enum indicates capability for both levels.";
62 }
63 }
64 description
65 "This type defines IS-IS level of an object.";
66 }
67
aec5ef49
RW
68 typedef extended-circuit-id {
69 type uint32;
70 description
71 "This type defines the extended circuit ID
72 associated with an interface.";
73 }
74
20bd27e2
EDP
75 typedef network-type {
76 type enumeration {
77 enum "unknown" {
78 value 0;
79 description
80 "Unknown network type. Only valid as a state.";
81 }
82 enum "broadcast" {
83 value 1;
84 description
85 "Broadcast circuit network-type.";
86 }
87 enum "point-to-point" {
88 value 2;
89 description
90 "Point-to-point circuit network-type.";
91 }
92 enum "loopback" {
93 value 3;
94 description
95 "Loopback circuit network-type. Only valid as a state.";
96 }
97 }
98 }
99
100 typedef lsp-id {
101 type string {
102 pattern "[0-9A-Fa-f]{4}\\.[0-9A-Fa-f]{4}\\.[0-9A-Fa-f]{4}\\.[0-9][0-9]-[0-9][0-9]";
103 }
104 description
105 "This type defines the IS-IS LSP ID format using a
106 pattern, An example LSP ID is 0143.0438.AeF0.02-01";
107 }
108
aec5ef49
RW
109 typedef snpa {
110 type string {
111 length "0 .. 20";
112 }
113 description
114 "This type defines the Subnetwork Point
115 of Attachment (SNPA) format.
116 The SNPA should be encoded according to the rules
117 specified for the particular type of subnetwork
118 being used. As an example, for an ethernet subnetwork,
119 the SNPA is encoded as a MAC address like
120 '00aa.bbcc.ddee'.";
121 }
122
20bd27e2
EDP
123 typedef system-id {
124 type string {
125 pattern "[0-9A-Fa-f]{4}\\.[0-9A-Fa-f]{4}\\.[0-9A-Fa-f]{4}";
126 }
127 description
128 "This type defines IS-IS system-id using a pattern,
129 An example system-id is 0143.0438.AeF0";
130 }
131
132 typedef net-address {
133 type string {
134 pattern "[a-fA-F0-9]{2}(\\.[a-fA-F0-9]{4}){3,9}\\.[a-fA-F0-9]{2}";
135 }
136 description
137 "This type defines an OSI NET address using a pattern,
138 An example net-address is 49.0123.6452.1972.00";
139 }
140
141 typedef if-state-type {
142 type enumeration {
143 enum "up" {
144 value 0;
145 description
146 "Up state.";
147 }
148 enum "down" {
149 value 1;
150 description
151 "Down state";
152 }
153 }
154 description
155 "This type defines the state of an interface";
156 }
157
158 typedef adj-state-type {
159 type enumeration {
160 enum "up" {
161 value 0;
162 description
163 "State indicates the adjacency is established.";
164 }
165 enum "down" {
166 value 1;
167 description
168 "State indicates the adjacency is NOT established.";
169 }
170 enum "init" {
171 value 2;
172 description
173 "State indicates the adjacency is establishing.";
174 }
175 enum "failed" {
176 value 3;
177 description
178 "State indicates the adjacency is failed.";
179 }
180 }
181 description
182 "This type defines states of an adjacency";
183 }
184
185 typedef metric-style-type {
186 type enumeration {
187 enum "narrow" {
188 value 0;
189 description
190 "This enum describes narrow metric style";
191 reference
192 "RFC1195";
193 }
194 enum "wide" {
195 value 1;
196 description
197 "This enum describes wide metric style";
198 reference
199 "RFC5305";
200 }
201 enum "transition" {
202 value 2;
203 description
204 "This enum describes transition metric style";
205 }
206 }
207 }
208
209 grouping redistribute-attributes {
210 description
211 "Common optional attributes of any redistribute entry.";
82c25998
DT
212 leaf route-map {
213 type string {
214 length "1..max";
20bd27e2 215 }
82c25998
DT
216 description
217 "Applies the conditions of the specified route-map to routes that
218 are redistributed into this routing instance.";
219 }
20bd27e2 220
82c25998
DT
221 leaf metric {
222 type uint32 {
223 range "0..16777215";
20bd27e2 224 }
82c25998
DT
225 default "0";
226 description
227 "Metric used for the redistributed route. If 0,
228 the default-metric attribute is used instead.";
20bd27e2
EDP
229 }
230 }
231
232 grouping redistribute-default {
233 description
234 "Redistribution of default route within a level.";
235 leaf always {
5f1e5e3f
EDP
236 type boolean;
237 default "false";
20bd27e2
EDP
238 description
239 "Always advertise default route.";
240 }
241
242 uses redistribute-attributes;
243 }
244
245 grouping isis-password {
246 description
247 "Authentication attributes or an IS-IS area or domain.";
248 leaf password {
249 type string {
250 length "1..254";
251 }
252 mandatory true;
253 description
254 "Actual password.";
255 }
256
257 leaf password-type {
258 type enumeration {
259 enum "clear" {
260 value 1;
261 description
262 "Clear-text password type.";
263 }
264 enum "md5" {
265 value 54;
266 description
267 "MD5 password type.";
268 }
269 }
270 mandatory true;
271 description
272 "Type of password used.";
273 }
274 }
275
276 grouping isis-area-password {
277 uses isis-password;
278
279 leaf authenticate-snp {
280 type enumeration {
281 enum "none" {
282 value 0;
283 description
284 "No SNP authentication.";
285 }
286 enum "send-only" {
287 value 1;
288 description
289 "Send authenticated PDUs but do not check on receiving.";
290 }
291 enum "validate" {
292 value 3;
293 description
294 "Send authenticated PDUs and check on receiving.";
295 }
296 }
297 default "none";
298 description
299 "SNP PDUs authentication.";
300 }
301 }
302
e206450b
RW
303 grouping interface-config {
304 description "Interface configuration grouping";
305
306 leaf area-tag {
307 type string;
308 mandatory true;
309 description
310 "Area-tag associated to this circuit.";
311 }
312
313 leaf ipv4-routing {
314 type boolean;
315 default "false";
316 description
317 "Routing IS-IS IPv4 traffic over this circuit.";
318 }
319
320 leaf ipv6-routing {
321 type boolean;
322 default "false";
323 description
324 "Routing IS-IS IPv6 traffic over this circuit.";
325 }
326
327 leaf circuit-type {
328 type level;
329 default "level-1-2";
330 description
331 "IS-type of this circuit.";
332 }
333
334 leaf bfd-monitoring {
335 type boolean;
336 default false;
337 description "Monitor IS-IS peers on this circuit.";
338 }
339
340 container csnp-interval {
341 description
342 "Complete Sequence Number PDU (CSNP) generation interval.";
343 leaf level-1 {
344 type uint16 {
345 range "1..600";
346 }
347 units "seconds";
348 default "10";
349 description
350 "CNSP interval for level-1";
351 }
352
353 leaf level-2 {
354 type uint16 {
355 range "1..600";
356 }
357 units "seconds";
358 default "10";
359 description
360 "CNSP interval for level-2";
361 }
362 }
363
364 container psnp-interval {
365 description
366 "Partial Sequence Number PDU (PSNP) generation interval.";
367 leaf level-1 {
368 type uint16 {
369 range "1..120";
370 }
371 units "seconds";
372 default "2";
373 description
374 "PNSP interval for level-1";
375 }
376
377 leaf level-2 {
378 type uint16 {
379 range "1..120";
380 }
381 units "seconds";
382 default "2";
383 description
384 "PCNSP interval for level-2";
385 }
386 }
387
388 container hello {
389 description
390 "Parameters related to IS-IS hello PDUs.";
391 leaf padding {
392 type boolean;
393 default "true";
394 description
395 "Add padding to IS-IS hello PDUs.";
396 }
397
398 container interval {
399 description
400 "Interval between consecutive hello messages.";
401 leaf level-1 {
402 type uint32 {
403 range "1..600";
404 }
405 units "seconds";
406 default "3";
407 description
408 "Holding time for level-1; interval will depend on multiplier.";
409 }
410
411 leaf level-2 {
412 type uint32 {
413 range "1..600";
414 }
415 units "seconds";
416 default "3";
417 description
418 "Holding time for level-2; interval will depend on multiplier.";
419 }
420 }
421
422 container multiplier {
423 description
424 "Multiplier for the hello messages holding time.";
425 leaf level-1 {
426 type uint16 {
427 range "2..100";
428 }
429 default "10";
430 description
431 "Multiplier for the hello holding time.";
432 }
433
434 leaf level-2 {
435 type uint16 {
436 range "2..100";
437 }
438 default "10";
439 description
440 "Multiplier for the hello holding time.";
441 }
442 }
443 }
444
445 container metric {
446 description
447 "Default metric for this IS-IS circuit.";
448 leaf level-1 {
449 type uint32 {
450 range "0..16777215";
451 }
452 must ". < 64 or /frr-isisd:isis/instance[area-tag = current()/../../area-tag]/metric-style = 'wide'";
453 default "10";
454 description
455 "Default level-1 metric for this IS-IS circuit.";
456 }
457
458 leaf level-2 {
459 type uint32 {
460 range "0..16777215";
461 }
462 must ". < 64 or /frr-isisd:isis/instance[area-tag = current()/../../area-tag]/metric-style = 'wide'";
463 default "10";
464 description
465 "Default level-2 metric for this IS-IS circuit.";
466 }
467 }
468
469 container priority {
470 description
471 "Priority for Designated Router election.";
472 leaf level-1 {
473 type uint8 {
474 range "0..127";
475 }
476 default "64";
477 description
478 "Level-1 priority for this IS-IS circuit.";
479 }
480
481 leaf level-2 {
482 type uint8 {
483 range "0..127";
484 }
485 default "64";
486 description
487 "Level-2 priority for this IS-IS circuit.";
488 }
489 }
490
491 leaf network-type {
492 type network-type;
493 default "broadcast";
494 must "(. = \"point-to-point\") or (. = \"broadcast\")";
495 description
496 "Explicitly configured type of IS-IS circuit (broadcast or point-to-point).";
497 }
498
499 leaf passive {
500 type boolean;
501 default "false";
502 description
503 "Interface is in passive mode.";
504 }
505
506 container password {
507 presence "Present if a password is set for this IS interface.";
508 uses isis-password;
509 }
510
511 leaf disable-three-way-handshake {
512 type boolean;
513 default "false";
514 description
515 "Disables three-way handshake when creating new adjacencies.";
516 }
517
518 container multi-topology {
519 description
520 "IS-IS topologies configured on this circuit.";
521 leaf ipv4-unicast {
522 type boolean;
523 default "true";
524 description
525 "IPv4 unicast topology.";
526 }
527
528 leaf ipv4-multicast {
529 type boolean;
530 default "true";
531 description
532 "IPv4 multicast topology.";
533 }
534
535 leaf ipv4-management {
536 type boolean;
537 default "true";
538 description
539 "IPv4 management topology.";
540 }
541
542 leaf ipv6-unicast {
543 type boolean;
544 default "true";
545 description
546 "IPv6 unicast topology.";
547 }
548
549 leaf ipv6-multicast {
550 type boolean;
551 default "true";
552 description
553 "IPv6 multicast topology.";
554 }
555
556 leaf ipv6-management {
557 type boolean;
558 default "true";
559 description
560 "IPv6 management topology.";
561 }
562
563 leaf ipv6-dstsrc {
564 type boolean;
565 default "true";
566 description
567 "IPv6 destination-source topology.";
568 }
569 }
570 }
571
aec5ef49
RW
572 grouping adjacency-state {
573 container adjacencies {
574 config false;
575 list adjacency {
576 leaf neighbor-sys-type {
577 type level;
578 description
579 "Level capability of neighboring system";
580 }
581 leaf neighbor-sysid {
582 type system-id;
583 description
584 "The system-id of the neighbor";
585 }
586 leaf neighbor-extended-circuit-id {
587 type extended-circuit-id;
588 description
589 "Circuit ID of the neighbor";
590 }
591 leaf neighbor-snpa {
592 type snpa;
593 description
594 "SNPA of the neighbor";
595 }
596 leaf hold-timer {
597 type uint16;
598 units seconds;
599 description
600 "The holding time in seconds for this
601 adjacency. This value is based on
602 received hello PDUs and the elapsed
603 time since receipt.";
604 }
605 leaf neighbor-priority {
606 type uint8 {
607 range "0 .. 127";
608 }
609 description
610 "Priority of the neighboring IS for becoming
611 the DIS.";
612 }
613 leaf state {
614 type adj-state-type;
615 description
616 "This leaf describes the state of the interface.";
617 }
618
619 description
620 "List of operational adjacencies.";
621 }
622 description
623 "This container lists the adjacencies of
624 the local node.";
625 }
626 description
627 "Adjacency state";
628 }
629
c32496ee
RW
630 grouping event-counters {
631 container event-counters {
632 config false;
633 leaf adjacency-changes {
634 type uint32;
635 description
636 "The number of times an adjacency state change has
637 occurred on this interface.";
638 }
639 leaf adjacency-number {
640 type uint32;
641 description
642 "The number of adjacencies on this interface.";
643 }
644 leaf init-fails {
645 type uint32;
646 description
647 "The number of times initialization of this
648 interface has failed. This counts events such
649 as PPP NCP failures. Failures to form an
650 adjacency are counted by adjacency-rejects.";
651 }
652 leaf adjacency-rejects {
653 type uint32;
654 description
655 "The number of times an adjacency has been
656 rejected on this interface.";
657 }
658 leaf id-len-mismatch {
659 type uint32;
660 description
661 "The number of times an IS-IS PDU with an ID
662 field length different from that for this
663 system has been received on this interface.";
664 }
665 leaf max-area-addresses-mismatch {
666 type uint32;
667 description
668 "The number of times an IS-IS PDU has been
669 received on this interface with the
670 max area address field differing from that of
671 this system.";
672 }
673 leaf authentication-type-fails {
674 type uint32;
675 description
676 "Number of authentication type mismatches.";
677 }
678 leaf authentication-fails {
679 type uint32;
680 description
681 "Number of authentication key failures.";
682 }
683 description "IS-IS interface event counters.";
684 }
685 description
686 "Grouping for IS-IS interface event counters";
687 }
688
aec5ef49
RW
689 grouping interface-state {
690 description
691 "IS-IS interface operational state.";
692 uses adjacency-state;
c32496ee 693 uses event-counters;
aec5ef49
RW
694 }
695
20bd27e2
EDP
696 grouping notification-instance-hdr {
697 description
698 "Instance specific IS-IS notification data grouping";
699 leaf routing-instance {
700 type string;
701 description
702 "Name of the routing-instance instance.";
703 }
704
705 leaf routing-protocol-name {
706 type string;
707 description
708 "Name of the IS-IS instance.";
709 }
710
711 leaf isis-level {
712 type level;
713 description
714 "IS-IS level of the instance.";
715 }
716 }
717
718 grouping notification-interface-hdr {
719 description
720 "Interface specific IS-IS notification data grouping";
721 leaf interface-name {
f22b9250 722 type frr-interface:interface-ref;
20bd27e2
EDP
723 description
724 "IS-IS interface name";
725 }
726
727 leaf interface-level {
728 type level;
729 description
730 "IS-IS level of the interface.";
731 }
732
733 leaf extended-circuit-id {
aec5ef49 734 type extended-circuit-id;
20bd27e2
EDP
735 description
736 "Eextended circuit-id of the interface.";
737 }
738 }
739
740 container isis {
741 description
742 "Configuration of the IS-IS routing daemon.";
743 list instance {
744 key "area-tag";
745 description
746 "IS-IS routing instance.";
747 leaf area-tag {
748 type string;
749 description
750 "Area-tag associated to this routing instance.";
751 }
752
753 leaf is-type {
754 type level;
26eb18e2 755 default "level-1-2";
20bd27e2
EDP
756 description
757 "Level of the IS-IS routing instance (OSI only).";
758 }
759
760 leaf-list area-address {
761 type net-address;
762 max-elements 3;
763 description
764 "List of OSI NET addresses for this protocol instance.";
765 }
766
767 leaf dynamic-hostname {
768 type boolean;
769 default "true";
770 description
771 "Dynamic hostname support for IS-IS.";
772 }
773
774 leaf attached {
5f1e5e3f
EDP
775 type boolean;
776 default "false";
20bd27e2 777 description
5f1e5e3f 778 "If true, identify as L1/L2 router for inter-area traffic.";
20bd27e2
EDP
779 }
780
781 leaf overload {
5f1e5e3f
EDP
782 type boolean;
783 default "false";
20bd27e2 784 description
5f1e5e3f 785 "If true, avoid any transit traffic.";
20bd27e2
EDP
786 }
787
788 leaf metric-style {
789 type metric-style-type;
790 must ". = 'wide' or count(../multi-topology/*) = 0";
791 default "wide";
792 description
793 "Define the style of TLVs metric supported.";
794 }
795
796 leaf purge-originator {
5f1e5e3f
EDP
797 type boolean;
798 default "false";
20bd27e2
EDP
799 description
800 "Use the RFC 6232 purge-originator.";
801 reference
802 "RFC6232";
803 }
804
805 container lsp {
806 description
807 "Configuration of Link-State Packets (LSP) parameters";
808 leaf mtu {
809 type uint16 {
810 range "128..4352";
811 }
812 default "1497";
813 description
814 "MTU of an LSP.";
815 }
816
817 container refresh-interval {
818 description
819 "";
820 leaf level-1 {
821 type uint16;
822 units "seconds";
823 default "900";
824 description
825 "LSP refresh interval for level-1.";
826 }
827
828 leaf level-2 {
829 type uint16;
830 units "seconds";
831 default "900";
832 description
833 "LSP refresh interval for level-2.";
834 }
835 }
836
837 container maximum-lifetime {
838 description
839 "Maximum LSP lifetime.";
840 leaf level-1 {
841 type uint16 {
842 range "350..65535";
843 }
844 units "seconds";
845 must ". >= ../../refresh-interval/level-1 + 300";
846 default "1200";
847 description
848 "Maximum LSP lifetime for level-1.";
849 }
850
851 leaf level-2 {
852 type uint16 {
853 range "350..65535";
854 }
855 units "seconds";
856 must ". >= ../../refresh-interval/level-2 + 300";
857 default "1200";
858 description
859 "Maximum LSP lifetime for level-2.";
860 }
861 }
862
863 container generation-interval {
864 description
865 "Minimum LSP regeneration interval.";
866 leaf level-1 {
867 type uint16 {
868 range "1..120";
869 }
870 units "seconds";
871 must ". < ../../refresh-interval/level-1";
872 default "30";
873 description
874 "Minimum time allowed before level-1 LSP retransmissions.";
875 }
876
877 leaf level-2 {
878 type uint16 {
879 range "1..120";
880 }
881 units "seconds";
882 must ". < ../../refresh-interval/level-2";
883 default "30";
884 description
885 "Minimum time allowed before level-2 LSP retransmissions.";
886 }
887 }
888 }
889
890 container spf {
891 description
892 "Parameters related to the Shortest Path First algorithm.";
893 container ietf-backoff-delay {
894 presence "Present if IETF SPF back-off delay is enabled.";
895 description
896 "SPF back-off delay algorithm parameters (see RFC 8405).";
897 leaf init-delay {
898 type uint16 {
899 range "0..60000";
900 }
901 units "msec";
902 mandatory true;
903 description
904 "Delay used while in QUIET state";
905 }
906
907 leaf short-delay {
908 type uint16 {
909 range "0..60000";
910 }
911 units "msec";
912 mandatory true;
913 description
914 "Delay used while in SHORT_WAIT state";
915 }
916
917 leaf long-delay {
918 type uint16 {
919 range "0..60000";
920 }
921 units "msec";
922 mandatory true;
923 description
924 "Delay used while in LONG_WAIT state";
925 }
926
927 leaf hold-down {
928 type uint16 {
929 range "0..60000";
930 }
931 units "msec";
932 mandatory true;
933 description
934 "Time with no received IGP events before considering IGP stable";
935 }
936
937 leaf time-to-learn {
938 type uint16 {
939 range "0..60000";
940 }
941 units "msec";
942 mandatory true;
943 description
944 "Maximum duration needed to learn all the events related to a
945 single failure";
946 }
947 }
948
949 container minimum-interval {
950 description
951 "Minimum interval between consecutive executions of the
952 SPF algorithm.";
953 leaf level-1 {
954 type uint16 {
955 range "1..120";
956 }
957 units "seconds";
958 default "1";
959 description
960 "Minimum time between consecutive level-1 SPFs.";
961 }
962
963 leaf level-2 {
964 type uint16 {
965 range "1..120";
966 }
967 units "seconds";
968 default "1";
969 description
970 "Minimum time between consecutive level-2 SPFs.";
971 }
972 }
973 }
974
975 container area-password {
976 presence "Present if authentication is required for IS level-1.";
977 description
978 "Authentication password for an IS-IS area.";
979 uses isis-area-password;
980 }
981
982 container domain-password {
983 presence "Present if authentication is required for IS level-2.";
984 description
985 "Authentication password for an IS-IS domain.";
986 uses isis-area-password;
987 }
988
989 container default-information-originate {
990 description
991 "Distribution of default information.";
992 list ipv4 {
993 key "level";
994 description
995 "Distribute default route for IPv4.";
996 leaf level {
997 type level;
998 must "(. != \"level-1-2\") and ((../../../is-type = \"level-1-2\") or (. = ../../../is-type))";
999 }
1000
1001 uses redistribute-default;
1002 }
1003
1004 list ipv6 {
1005 key "level";
1006 description
1007 "Distribute default route for IPv6.";
1008 leaf level {
1009 type level;
1010 must "(. != \"level-1-2\") and ((../../../is-type = \"level-1-2\") or (. = ../../../is-type))";
1011 }
1012
1013 uses redistribute-default;
1014 }
1015 }
1016
1017 container redistribute {
1018 description
1019 "Redistributes routes learned from other routing protocols.";
1020 list ipv4 {
1021 key "protocol level";
1022 description
1023 "IPv4 route redistribution.";
1024 leaf protocol {
1025 type frr-route-types:frr-route-types-v4;
1026 must ". != \"isis\"";
1027 description
1028 "Originating routing protocol for the IPv4 routes.";
1029 }
1030
1031 leaf level {
1032 type level;
1033 must "(. != \"level-1-2\") and ((../../../is-type = \"level-1-2\") or (. = ../../../is-type))";
1034 description
1035 "IS-IS level into which the routes should be redistributed.";
1036 }
1037
1038 uses redistribute-attributes;
1039 }
1040
1041 list ipv6 {
1042 key "protocol level";
1043 description
1044 "IPv6 route redistribution.";
1045 leaf protocol {
1046 type frr-route-types:frr-route-types-v6;
1047 must ". != \"isis\"";
1048 description
1049 "Originating routing protocol for the IPv6 routes.";
1050 }
1051
1052 leaf level {
1053 type level;
1054 must "(. != \"level-1-2\") and ((../../../is-type = \"level-1-2\") or (. = ../../../is-type))";
1055 description
1056 "IS-IS level into which the routes should be redistributed.";
1057 }
1058
1059 uses redistribute-attributes;
1060 }
1061 }
1062
1063 container multi-topology {
1064 description
1065 "IS-IS topologies configured for this area.";
1066 container ipv4-multicast {
1067 presence "Present if a separate IPv4-multicast topology is configured for this area.";
1068 description
1069 "IPv4 multicast topology.";
1070 leaf overload {
5f1e5e3f
EDP
1071 type boolean;
1072 default "false";
20bd27e2
EDP
1073 }
1074 }
1075
1076 container ipv4-management {
1077 presence "Present if a separate IPv4-management topology is configured for this area.";
1078 description
1079 "IPv4 management topology.";
1080 leaf overload {
5f1e5e3f
EDP
1081 type boolean;
1082 default "false";
20bd27e2
EDP
1083 }
1084 }
1085
1086 container ipv6-unicast {
1087 presence "Present if a separate IPv6-unicast topology is configured for this area.";
1088 description
1089 "IPv6 unicast topology.";
1090 leaf overload {
5f1e5e3f
EDP
1091 type boolean;
1092 default "false";
20bd27e2
EDP
1093 }
1094 }
1095
1096 container ipv6-multicast {
1097 presence "Present if a separate IPv6-multicast topology is configured for this area.";
1098 description
1099 "IPv6 multicast topology.";
1100 leaf overload {
5f1e5e3f
EDP
1101 type boolean;
1102 default "false";
20bd27e2
EDP
1103 }
1104 }
1105
1106 container ipv6-management {
1107 presence "Present if a separate IPv6-management topology is configured for this area.";
1108 description
1109 "IPv6 management topology.";
1110 leaf overload {
5f1e5e3f
EDP
1111 type boolean;
1112 default "false";
20bd27e2
EDP
1113 }
1114 }
1115
1116 container ipv6-dstsrc {
1117 presence "Present if a separate IPv6 destination-source topology is configured for this area.";
1118 description
1119 "IPv6 destination-source topology.";
1120 leaf overload {
5f1e5e3f
EDP
1121 type boolean;
1122 default "false";
20bd27e2
EDP
1123 }
1124 }
1125 }
1126
1127 leaf log-adjacency-changes {
5f1e5e3f
EDP
1128 type boolean;
1129 default "false";
20bd27e2
EDP
1130 description
1131 "Log changes to the IS-IS adjacencies in this area.";
1132 }
20bd27e2 1133
2e2a8b91
OD
1134 container mpls-te {
1135 presence "Present if MPLS-TE is enabled.";
20bd27e2 1136 description
2e2a8b91
OD
1137 "Enable MPLS-TE functionality.";
1138 leaf router-address {
1139 type inet:ipv4-address;
1140 description
1141 "Stable IP address of the advertising router.";
1142 }
20bd27e2
EDP
1143 }
1144 }
1145 }
1146
1147 augment "/frr-interface:lib/frr-interface:interface" {
1148 description
1149 "Extends interface model with IS-IS related parameters.";
1150 container isis {
1151 presence "Present if an IS-IS circuit is defined for this interface.";
1152 description
1153 "IS-IS interface parameters.";
e206450b 1154 uses interface-config;
aec5ef49 1155 uses interface-state;
20bd27e2
EDP
1156 }
1157 }
1158
1159 notification database-overload {
1160 description
1161 "This notification is sent when an IS-IS instance
1162 overload state changes.";
1163 uses notification-instance-hdr;
1164
1165 leaf overload {
1166 type enumeration {
1167 enum "off" {
1168 value 0;
1169 description
1170 "Indicates IS-IS instance has left overload state";
1171 }
1172 enum "on" {
1173 value 1;
1174 description
1175 "Indicates IS-IS instance has entered overload state";
1176 }
1177 }
1178 description
1179 "New overload state of the IS-IS instance";
1180 }
1181 }
1182
1183 notification lsp-too-large {
1184 description
1185 "This notification is sent when we attempt to propagate
1186 an LSP that is larger than the dataLinkBlockSize for the
1187 circuit. The notification generation must be throttled
f79f7a7b 1188 with at least 5 seconds between successive
20bd27e2
EDP
1189 notifications.";
1190 uses notification-instance-hdr;
1191
1192 uses notification-interface-hdr;
1193
1194 leaf pdu-size {
1195 type uint32;
1196 description
1197 "Size of the LSP PDU";
1198 }
1199
1200 leaf lsp-id {
1201 type lsp-id;
1202 description
1203 "LSP ID";
1204 }
1205 }
1206
1207 notification if-state-change {
1208 description
1209 "This notification is sent when an interface
1210 state change is detected.";
1211 uses notification-instance-hdr;
1212
1213 uses notification-interface-hdr;
1214
1215 leaf state {
1216 type if-state-type;
1217 description
1218 "Interface state.";
1219 }
1220 }
1221
1222 notification corrupted-lsp-detected {
1223 description
1224 "This notification is sent when we find that
1225 an LSP that was stored in memory has become
1226 corrupted.";
1227 uses notification-instance-hdr;
1228
1229 leaf lsp-id {
1230 type lsp-id;
1231 description
1232 "LSP ID";
1233 }
1234 }
1235
1236 notification attempt-to-exceed-max-sequence {
1237 description
1238 "This notification is sent when the system
1239 wraps the 32-bit sequence counter of an LSP.";
1240 uses notification-instance-hdr;
1241
1242 leaf lsp-id {
1243 type lsp-id;
1244 description
1245 "LSP ID";
1246 }
1247 }
1248
1249 notification id-len-mismatch {
1250 description
1251 "This notification is sent when we receive a PDU
1252 with a different value for the System ID length.
1253 The notification generation must be throttled
f79f7a7b 1254 with at least 5 seconds between successive
20bd27e2
EDP
1255 notifications.";
1256 uses notification-instance-hdr;
1257
1258 uses notification-interface-hdr;
1259
1260 leaf pdu-field-len {
1261 type uint8;
1262 description
1263 "Size of the ID length in the received PDU";
1264 }
1265
1266 leaf raw-pdu {
1267 type binary;
1268 description
1269 "Received raw PDU.";
1270 }
1271 }
1272
1273 notification max-area-addresses-mismatch {
1274 description
1275 "This notification is sent when we receive a PDU
1276 with a different value for the Maximum Area Addresses.
1277 The notification generation must be throttled
f79f7a7b 1278 with at least 5 seconds between successive
20bd27e2
EDP
1279 notifications.";
1280 uses notification-instance-hdr;
1281
1282 uses notification-interface-hdr;
1283
1284 leaf max-area-addresses {
1285 type uint8;
1286 description
1287 "Received number of supported areas";
1288 }
1289
1290 leaf raw-pdu {
1291 type binary;
1292 description
1293 "Received raw PDU.";
1294 }
1295 }
1296
1297 notification own-lsp-purge {
1298 description
1299 "This notification is sent when the system receives
1300 a PDU with its own system ID and zero age.";
1301 uses notification-instance-hdr;
1302
1303 uses notification-interface-hdr;
1304
1305 leaf lsp-id {
1306 type lsp-id;
1307 description
1308 "LSP ID";
1309 }
1310 }
1311
1312 notification sequence-number-skipped {
1313 description
1314 "This notification is sent when the system receives a
1315 PDU with its own system ID and different contents. The
1316 system has to reoriginate the LSP with a higher sequence
1317 number.";
1318 uses notification-instance-hdr;
1319
1320 uses notification-interface-hdr;
1321
1322 leaf lsp-id {
1323 type lsp-id;
1324 description
1325 "LSP ID";
1326 }
1327 }
1328
1329 notification authentication-type-failure {
1330 description
1331 "This notification is sent when the system receives a
1332 PDU with the wrong authentication type field.
1333 The notification generation must be throttled
f79f7a7b 1334 with at least 5 seconds between successive
20bd27e2
EDP
1335 notifications.";
1336 uses notification-instance-hdr;
1337
1338 uses notification-interface-hdr;
1339
1340 leaf raw-pdu {
1341 type binary;
1342 description
1343 "Received raw PDU.";
1344 }
1345 }
1346
1347 notification authentication-failure {
1348 description
1349 "This notification is sent when the system receives
1350 a PDU with the wrong authentication information.
1351 The notification generation must be throttled with
f79f7a7b 1352 with at least 5 seconds between successive
20bd27e2
EDP
1353 notifications.";
1354 uses notification-instance-hdr;
1355
1356 uses notification-interface-hdr;
1357
1358 leaf raw-pdu {
1359 type binary;
1360 description
1361 "Received raw PDU.";
1362 }
1363 }
1364
1365 notification version-skew {
1366 description
1367 "This notification is sent when the system receives a
1368 PDU with a different protocol version number.
1369 The notification generation must be throttled
f79f7a7b 1370 with at least 5 seconds between successive
20bd27e2
EDP
1371 notifications.";
1372 uses notification-instance-hdr;
1373
1374 uses notification-interface-hdr;
1375
1376 leaf protocol-version {
1377 type uint8;
1378 description
1379 "Protocol version received in the PDU.";
1380 }
1381
1382 leaf raw-pdu {
1383 type binary;
1384 description
1385 "Received raw PDU.";
1386 }
1387 }
1388
1389 notification area-mismatch {
1390 description
1391 "This notification is sent when the system receives a
1392 Hello PDU from an IS that does not share any area
1393 address. The notification generation must be throttled
f79f7a7b 1394 with at least 5 seconds between successive
20bd27e2
EDP
1395 notifications.";
1396 uses notification-instance-hdr;
1397
1398 uses notification-interface-hdr;
1399
1400 leaf raw-pdu {
1401 type binary;
1402 description
1403 "Received raw PDU.";
1404 }
1405 }
1406
1407 notification rejected-adjacency {
1408 description
1409 "This notification is sent when the system receives a
1410 Hello PDU from an IS but does not establish an adjacency
1411 for some reason. The notification generation must be
f79f7a7b 1412 throttled with at least 5 seconds between successive
20bd27e2
EDP
1413 notifications.";
1414 uses notification-instance-hdr;
1415
1416 uses notification-interface-hdr;
1417
1418 leaf raw-pdu {
1419 type binary;
1420 description
1421 "Received raw PDU.";
1422 }
1423
1424 leaf reason {
1425 type string;
1426 description
1427 "The system may provide a reason to reject the
1428 adjacency. If the reason is not available,
1429 an empty string will be returned.";
1430 }
1431 }
1432
1433 notification lsp-error-detected {
1434 description
1435 "This notification is sent when the system receives an
1436 LSP with a parse error. The notification generation must
f79f7a7b 1437 be throttled with at least 5 seconds between successive
20bd27e2
EDP
1438 notifications.";
1439 uses notification-instance-hdr;
1440
1441 uses notification-interface-hdr;
1442
1443 leaf lsp-id {
1444 type lsp-id;
1445 description
1446 "LSP ID.";
1447 }
1448
1449 leaf raw-pdu {
1450 type binary;
1451 description
1452 "Received raw PDU.";
1453 }
1454
1455 leaf error-offset {
1456 type uint32;
1457 description
1458 "If the problem is a malformed TLV, the error-offset
1459 points to the start of the TLV. If the problem is with
1460 the LSP header, the error-offset points to the errant
1461 byte";
1462 }
1463
1464 leaf tlv-type {
1465 type uint8;
1466 description
1467 "If the problem is a malformed TLV, the tlv-type is set
1468 to the type value of the suspicious TLV. Otherwise,
1469 this leaf is not present.";
1470 }
1471 }
1472
1473 notification adjacency-state-change {
1474 description
1475 "This notification is sent when an IS-IS adjacency
1476 moves to Up state or to Down state.";
1477 uses notification-instance-hdr;
1478
1479 uses notification-interface-hdr;
1480
1481 leaf neighbor {
1482 type string;
1483 description
1484 "Name of the neighbor. If the name of the neighbor is
1485 not available, it is not returned.";
1486 }
1487
1488 leaf neighbor-system-id {
1489 type system-id;
1490 description
1491 "Neighbor system-id";
1492 }
1493
1494 leaf state {
1495 type adj-state-type;
1496 description
1497 "New state of the IS-IS adjacency.";
1498 }
1499
1500 leaf reason {
1501 type string;
1502 description
1503 "If the adjacency is going to DOWN, this leaf provides
1504 a reason for the adjacency going down. The reason is
1505 provided as a text. If the adjacency is going to UP, no
1506 reason is provided.";
1507 }
1508 }
1509
1510 notification lsp-received {
1511 description
1512 "This notification is sent when an LSP is received.
1513 The notification generation must be throttled with at
f79f7a7b 1514 least 5 seconds between successive notifications.";
20bd27e2
EDP
1515 uses notification-instance-hdr;
1516
1517 uses notification-interface-hdr;
1518
1519 leaf lsp-id {
1520 type lsp-id;
1521 description
1522 "LSP ID";
1523 }
1524
1525 leaf sequence {
1526 type uint32;
1527 description
1528 "Sequence number of the received LSP.";
1529 }
1530
1531 leaf received-timestamp {
1532 type yang:timestamp;
1533 description
1534 "Timestamp when the LSP was received.";
1535 }
1536
1537 leaf neighbor-system-id {
1538 type system-id;
1539 description
1540 "Neighbor system-id of LSP sender";
1541 }
1542 }
1543
1544 notification lsp-generation {
1545 description
1546 "This notification is sent when an LSP is regenerated.
1547 The notification generation must be throttled with at
f79f7a7b 1548 least 5 seconds between successive notifications.";
20bd27e2
EDP
1549 uses notification-instance-hdr;
1550
1551 leaf lsp-id {
1552 type lsp-id;
1553 description
1554 "LSP ID";
1555 }
1556
1557 leaf sequence {
1558 type uint32;
1559 description
1560 "Sequence number of the received LSP.";
1561 }
1562
1563 leaf send-timestamp {
1564 type yang:timestamp;
1565 description
1566 "Timestamp when our LSP was regenerated.";
1567 }
1568 }
1569}