]> git.proxmox.com Git - mirror_frr.git/blame - yang/frr-isisd.yang
isisd: Add support for RFC6119 (IPv6 TE in IS-IS)
[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
806defc8
IR
18 import frr-vrf {
19 prefix frr-vrf;
20 }
21
22 import frr-route-map {
23 prefix frr-route-map;
24 }
25
20bd27e2
EDP
26 import frr-route-types {
27 prefix frr-route-types;
28 }
29
30 organization
8678d638 31 "FRRouting";
20bd27e2
EDP
32 contact
33 "FRR Users List: <mailto:frog@lists.frrouting.org> FRR Development
34 List: <mailto:dev@lists.frrouting.org>";
35 description
fe3b629a
RW
36 "This module defines a model for managing FRR isisd daemon.
37
38 Copyright 2020 FRRouting
39
40 Redistribution and use in source and binary forms, with or without
41 modification, are permitted provided that the following conditions
42 are met:
43
44 1. Redistributions of source code must retain the above copyright notice,
45 this list of conditions and the following disclaimer.
46
47 2. Redistributions in binary form must reproduce the above copyright
48 notice, this list of conditions and the following disclaimer in the
49 documentation and/or other materials provided with the distribution.
50
51 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
52 \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
53 LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
54 A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
55 HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
56 SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
57 LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
58 DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
59 THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
60 (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
61 OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.";
20bd27e2 62
01d43141
EDP
63 revision 2021-02-15 {
64 description
65 "Group SRGB and SRLB in a container so that they can be displayed
66 and configured together";
67 }
d2c970ff
EDP
68 revision 2020-04-06 {
69 description
70 "Group LSP timers in a container so that they can be displayed and
71 configured together";
72 }
26eb18e2
EDP
73 revision 2019-12-17 {
74 description
75 "Changed default area is-type to level-1-2";
76 }
f22b9250
QY
77 revision 2019-09-09 {
78 description
79 "Changed interface references to use
d2c970ff 80 frr-interface:interface-ref typedef";
f22b9250 81 }
20bd27e2
EDP
82 revision 2018-07-26 {
83 description
84 "Initial revision.";
85 reference
86 "ISO/IEC 10589:2002.";
87 }
88
89 typedef level {
90 type enumeration {
91 enum "level-1" {
92 value 1;
93 description
94 "This enum indicates L1-only capability.";
95 }
96 enum "level-2" {
97 value 2;
98 description
99 "This enum indicates L2-only capability.";
100 }
101 enum "level-1-2" {
102 value 3;
103 description
104 "This enum indicates capability for both levels.";
105 }
106 }
107 description
108 "This type defines IS-IS level of an object.";
109 }
110
aec5ef49
RW
111 typedef extended-circuit-id {
112 type uint32;
113 description
114 "This type defines the extended circuit ID
115 associated with an interface.";
116 }
117
20bd27e2
EDP
118 typedef network-type {
119 type enumeration {
120 enum "unknown" {
121 value 0;
122 description
123 "Unknown network type. Only valid as a state.";
124 }
125 enum "broadcast" {
126 value 1;
127 description
128 "Broadcast circuit network-type.";
129 }
130 enum "point-to-point" {
131 value 2;
132 description
133 "Point-to-point circuit network-type.";
134 }
135 enum "loopback" {
136 value 3;
137 description
138 "Loopback circuit network-type. Only valid as a state.";
139 }
140 }
141 }
142
143 typedef lsp-id {
144 type string {
145 pattern "[0-9A-Fa-f]{4}\\.[0-9A-Fa-f]{4}\\.[0-9A-Fa-f]{4}\\.[0-9][0-9]-[0-9][0-9]";
146 }
147 description
148 "This type defines the IS-IS LSP ID format using a
149 pattern, An example LSP ID is 0143.0438.AeF0.02-01";
150 }
151
aec5ef49
RW
152 typedef snpa {
153 type string {
154 length "0 .. 20";
155 }
156 description
157 "This type defines the Subnetwork Point
158 of Attachment (SNPA) format.
159 The SNPA should be encoded according to the rules
160 specified for the particular type of subnetwork
161 being used. As an example, for an ethernet subnetwork,
162 the SNPA is encoded as a MAC address like
163 '00aa.bbcc.ddee'.";
164 }
165
20bd27e2
EDP
166 typedef system-id {
167 type string {
168 pattern "[0-9A-Fa-f]{4}\\.[0-9A-Fa-f]{4}\\.[0-9A-Fa-f]{4}";
169 }
170 description
171 "This type defines IS-IS system-id using a pattern,
172 An example system-id is 0143.0438.AeF0";
173 }
174
175 typedef net-address {
176 type string {
177 pattern "[a-fA-F0-9]{2}(\\.[a-fA-F0-9]{4}){3,9}\\.[a-fA-F0-9]{2}";
178 }
179 description
180 "This type defines an OSI NET address using a pattern,
181 An example net-address is 49.0123.6452.1972.00";
182 }
183
184 typedef if-state-type {
185 type enumeration {
186 enum "up" {
187 value 0;
188 description
189 "Up state.";
190 }
191 enum "down" {
192 value 1;
193 description
194 "Down state";
195 }
196 }
197 description
198 "This type defines the state of an interface";
199 }
200
201 typedef adj-state-type {
202 type enumeration {
203 enum "up" {
204 value 0;
205 description
206 "State indicates the adjacency is established.";
207 }
208 enum "down" {
209 value 1;
210 description
211 "State indicates the adjacency is NOT established.";
212 }
213 enum "init" {
214 value 2;
215 description
216 "State indicates the adjacency is establishing.";
217 }
218 enum "failed" {
219 value 3;
220 description
221 "State indicates the adjacency is failed.";
222 }
223 }
224 description
225 "This type defines states of an adjacency";
226 }
227
228 typedef metric-style-type {
229 type enumeration {
230 enum "narrow" {
231 value 0;
232 description
233 "This enum describes narrow metric style";
234 reference
235 "RFC1195";
236 }
237 enum "wide" {
238 value 1;
239 description
240 "This enum describes wide metric style";
241 reference
242 "RFC5305";
243 }
244 enum "transition" {
245 value 2;
246 description
247 "This enum describes transition metric style";
248 }
249 }
250 }
251
d20b14bc
RW
252 typedef access-list-ref {
253 type string;
254 }
255
381200be
RW
256 typedef prefix-list-ref {
257 type string;
258 }
259
20bd27e2
EDP
260 grouping redistribute-attributes {
261 description
262 "Common optional attributes of any redistribute entry.";
82c25998 263 leaf route-map {
806defc8 264 type frr-route-map:route-map-ref;
82c25998
DT
265 description
266 "Applies the conditions of the specified route-map to routes that
267 are redistributed into this routing instance.";
268 }
20bd27e2 269
82c25998
DT
270 leaf metric {
271 type uint32 {
272 range "0..16777215";
20bd27e2 273 }
82c25998
DT
274 default "0";
275 description
276 "Metric used for the redistributed route. If 0,
277 the default-metric attribute is used instead.";
20bd27e2
EDP
278 }
279 }
280
281 grouping redistribute-default {
282 description
283 "Redistribution of default route within a level.";
284 leaf always {
5f1e5e3f
EDP
285 type boolean;
286 default "false";
20bd27e2
EDP
287 description
288 "Always advertise default route.";
289 }
290
291 uses redistribute-attributes;
292 }
293
294 grouping isis-password {
295 description
296 "Authentication attributes or an IS-IS area or domain.";
297 leaf password {
298 type string {
299 length "1..254";
300 }
301 mandatory true;
302 description
303 "Actual password.";
304 }
305
306 leaf password-type {
307 type enumeration {
308 enum "clear" {
309 value 1;
310 description
311 "Clear-text password type.";
312 }
313 enum "md5" {
314 value 54;
315 description
316 "MD5 password type.";
317 }
318 }
319 mandatory true;
320 description
321 "Type of password used.";
322 }
323 }
324
325 grouping isis-area-password {
326 uses isis-password;
327
328 leaf authenticate-snp {
329 type enumeration {
330 enum "none" {
331 value 0;
332 description
333 "No SNP authentication.";
334 }
335 enum "send-only" {
336 value 1;
337 description
338 "Send authenticated PDUs but do not check on receiving.";
339 }
340 enum "validate" {
341 value 3;
342 description
343 "Send authenticated PDUs and check on receiving.";
344 }
345 }
346 default "none";
347 description
348 "SNP PDUs authentication.";
349 }
350 }
351
d20b14bc
RW
352 grouping global-config-lfa {
353 container lfa {
354 description
355 "LFA configuration.";
356
357 leaf load-sharing {
358 type boolean;
359 default "true";
360 description
361 "Load share prefixes across multiple backups.";
362 }
363 leaf priority-limit {
364 type enumeration {
365 enum "critical" {
366 value 0;
367 description
368 "Compute for critical priority prefixes only.";
369 }
370 enum "high" {
371 value 1;
372 description
373 "Compute for critical & high priority prefixes.";
374 }
375 enum "medium" {
376 value 2;
377 description
378 "Compute for critical, high & medium priority prefixes.";
379 }
380 }
381 description
382 "Limit backup computation up to the prefix priority.";
383 }
384 list tiebreaker {
385 key "index";
386 unique "type";
387 description
388 "Configure tiebreaker for multiple backups.";
389 leaf index {
390 type uint8 {
391 range "1..255";
392 }
393 description
394 "Preference order among tiebreakers.";
395 }
396 leaf type {
397 type enumeration {
398 enum "downstream" {
399 value 0;
400 description
401 "Prefer backup path via downstream node.";
402 }
403 enum "lowest-backup-metric" {
404 value 1;
405 description
406 "Prefer backup path with lowest total metric.";
407 }
408 enum "node-protecting" {
409 value 2;
410 description
411 "Prefer node protecting backup path.";
412 }
413 }
414 mandatory true;
415 description
416 "Tiebreaker type.";
417 }
418 }
419 }
420 }
421
381200be
RW
422 grouping global-config-remote-lfa {
423 container remote-lfa {
424 description
425 "Remote LFA configuration.";
426
427 leaf prefix-list {
428 type prefix-list-ref;
429 description
430 "Filter PQ node router ID based on prefix list.";
431 }
432 }
433 }
434
d20b14bc
RW
435 grouping interface-config-lfa {
436 container lfa {
437 description
438 "LFA configuration.";
439 leaf enable {
440 type boolean;
441 default false;
442 description
443 "Enables LFA computation.";
444 }
445 leaf-list exclude-interface {
446 type frr-interface:interface-ref;
447 description
448 "Exclude an interface from computation.";
449 }
450 }
451 }
452
381200be
RW
453 grouping interface-config-remote-lfa {
454 container remote-lfa {
455 description
456 "Remote LFA configuration.";
457
458 leaf enable {
459 type boolean;
460 default false;
461 description
462 "Enables remote LFA computation using LDP tunnels.";
463 must ". = 'false' or ../../lfa/enable = 'true'" {
464 error-message
465 "Remote LFA depends on classic LFA being configured in the interface.";
466 }
467
468 }
469 leaf maximum-metric {
470 type uint32 {
471 range "1..16777215";
472 }
473 description
474 "Limit remote LFA node selection within the metric.";
475 }
476 }
477 }
478
ed5d7032
RW
479 grouping interface-config-ti-lfa {
480 container ti-lfa {
481 description
482 "TI-LFA configuration.";
483 leaf enable {
3bb513c3
CH
484 must ". = 'false' or ../../lfa/enable = 'false'" {
485 error-message
486 "Can't enable both classic LFA and TI-LFA in the same interface.";
487 }
ed5d7032
RW
488 type boolean;
489 default false;
490 description
491 "Enables TI-LFA computation.";
492 }
493 leaf node-protection {
494 type boolean;
495 must ". = 'false' or ../enable = 'true'";
496 default false;
497 description
498 "Node protection is provided by the alternate.";
499 }
ce4eccfa
FR
500 leaf link-fallback {
501 type boolean;
502 must ". = 'false' or ../enable = 'true'";
503 default false;
504 description
505 "Fallback to link protection.";
506 }
ed5d7032
RW
507 }
508 }
509
e206450b 510 grouping interface-config {
d2c970ff
EDP
511 description
512 "Interface configuration grouping";
e206450b
RW
513 leaf area-tag {
514 type string;
515 mandatory true;
516 description
517 "Area-tag associated to this circuit.";
518 }
519
520 leaf ipv4-routing {
521 type boolean;
522 default "false";
523 description
524 "Routing IS-IS IPv4 traffic over this circuit.";
525 }
526
527 leaf ipv6-routing {
528 type boolean;
529 default "false";
530 description
531 "Routing IS-IS IPv6 traffic over this circuit.";
532 }
533
534 leaf circuit-type {
535 type level;
536 default "level-1-2";
537 description
538 "IS-type of this circuit.";
539 }
540
4affdba7
G
541 container bfd-monitoring {
542 leaf enabled {
543 type boolean;
544 default "false";
545 description
546 "Monitor IS-IS peers on this circuit.";
547 }
548 leaf profile {
549 type string;
550 description
551 "Let BFD use a pre-configured profile.";
552 }
e206450b
RW
553 }
554
555 container csnp-interval {
556 description
557 "Complete Sequence Number PDU (CSNP) generation interval.";
558 leaf level-1 {
559 type uint16 {
560 range "1..600";
561 }
562 units "seconds";
563 default "10";
564 description
565 "CNSP interval for level-1";
566 }
567
568 leaf level-2 {
569 type uint16 {
570 range "1..600";
571 }
572 units "seconds";
573 default "10";
574 description
575 "CNSP interval for level-2";
576 }
577 }
578
579 container psnp-interval {
580 description
581 "Partial Sequence Number PDU (PSNP) generation interval.";
582 leaf level-1 {
583 type uint16 {
584 range "1..120";
585 }
586 units "seconds";
587 default "2";
588 description
589 "PNSP interval for level-1";
590 }
591
592 leaf level-2 {
593 type uint16 {
594 range "1..120";
595 }
596 units "seconds";
597 default "2";
598 description
599 "PCNSP interval for level-2";
600 }
601 }
602
603 container hello {
604 description
605 "Parameters related to IS-IS hello PDUs.";
606 leaf padding {
607 type boolean;
608 default "true";
609 description
610 "Add padding to IS-IS hello PDUs.";
611 }
612
613 container interval {
614 description
615 "Interval between consecutive hello messages.";
616 leaf level-1 {
617 type uint32 {
618 range "1..600";
619 }
620 units "seconds";
621 default "3";
622 description
623 "Holding time for level-1; interval will depend on multiplier.";
624 }
625
626 leaf level-2 {
627 type uint32 {
628 range "1..600";
629 }
630 units "seconds";
631 default "3";
632 description
633 "Holding time for level-2; interval will depend on multiplier.";
634 }
635 }
636
637 container multiplier {
638 description
639 "Multiplier for the hello messages holding time.";
640 leaf level-1 {
641 type uint16 {
642 range "2..100";
643 }
644 default "10";
645 description
646 "Multiplier for the hello holding time.";
647 }
648
649 leaf level-2 {
650 type uint16 {
651 range "2..100";
652 }
653 default "10";
654 description
655 "Multiplier for the hello holding time.";
656 }
657 }
658 }
659
660 container metric {
661 description
662 "Default metric for this IS-IS circuit.";
663 leaf level-1 {
664 type uint32 {
665 range "0..16777215";
666 }
667 must ". < 64 or /frr-isisd:isis/instance[area-tag = current()/../../area-tag]/metric-style = 'wide'";
668 default "10";
669 description
670 "Default level-1 metric for this IS-IS circuit.";
671 }
672
673 leaf level-2 {
674 type uint32 {
675 range "0..16777215";
676 }
677 must ". < 64 or /frr-isisd:isis/instance[area-tag = current()/../../area-tag]/metric-style = 'wide'";
678 default "10";
679 description
680 "Default level-2 metric for this IS-IS circuit.";
681 }
682 }
683
684 container priority {
685 description
686 "Priority for Designated Router election.";
687 leaf level-1 {
688 type uint8 {
689 range "0..127";
690 }
691 default "64";
692 description
693 "Level-1 priority for this IS-IS circuit.";
694 }
695
696 leaf level-2 {
697 type uint8 {
698 range "0..127";
699 }
700 default "64";
701 description
702 "Level-2 priority for this IS-IS circuit.";
703 }
704 }
705
706 leaf network-type {
707 type network-type;
e206450b 708 must "(. = \"point-to-point\") or (. = \"broadcast\")";
d2c970ff 709 default "broadcast";
e206450b
RW
710 description
711 "Explicitly configured type of IS-IS circuit (broadcast or point-to-point).";
712 }
713
714 leaf passive {
715 type boolean;
716 default "false";
717 description
718 "Interface is in passive mode.";
719 }
720
721 container password {
722 presence "Present if a password is set for this IS interface.";
723 uses isis-password;
724 }
725
726 leaf disable-three-way-handshake {
727 type boolean;
728 default "false";
729 description
730 "Disables three-way handshake when creating new adjacencies.";
731 }
732
733 container multi-topology {
734 description
735 "IS-IS topologies configured on this circuit.";
736 leaf ipv4-unicast {
737 type boolean;
738 default "true";
739 description
740 "IPv4 unicast topology.";
741 }
742
743 leaf ipv4-multicast {
744 type boolean;
745 default "true";
746 description
747 "IPv4 multicast topology.";
748 }
749
750 leaf ipv4-management {
751 type boolean;
752 default "true";
753 description
754 "IPv4 management topology.";
755 }
756
757 leaf ipv6-unicast {
758 type boolean;
759 default "true";
760 description
761 "IPv6 unicast topology.";
762 }
763
764 leaf ipv6-multicast {
765 type boolean;
766 default "true";
767 description
768 "IPv6 multicast topology.";
769 }
770
771 leaf ipv6-management {
772 type boolean;
773 default "true";
774 description
775 "IPv6 management topology.";
776 }
777
778 leaf ipv6-dstsrc {
779 type boolean;
780 default "true";
781 description
782 "IPv6 destination-source topology.";
783 }
784 }
1cbf96a8 785
786 container mpls {
787 description
788 "Configuration of MPLS parameters";
789 leaf ldp-sync {
790 type boolean;
791 default "true";
792 description
793 "Enable MPLS LDP-Sync functionality on this circuit.";
794 }
795 leaf holddown {
796 type uint16 {
797 range "0..10000";
ec62fbaa
IR
798 }
799 units "seconds";
800 description
801 "Time to wait for LDP-Sync to occur before restoring interface metric.";
1cbf96a8 802 }
803 }
804
ed5d7032
RW
805 container fast-reroute {
806 description
807 "Interface IP Fast-reroute configuration.";
808 container level-1 {
809 description
810 "Level-1 IP Fast-reroute configuration.";
d20b14bc 811 uses interface-config-lfa;
381200be 812 uses interface-config-remote-lfa;
ed5d7032
RW
813 uses interface-config-ti-lfa;
814 }
815 container level-2 {
816 description
817 "Level-2 IP Fast-reroute configuration.";
d20b14bc 818 uses interface-config-lfa;
381200be 819 uses interface-config-remote-lfa;
ed5d7032
RW
820 uses interface-config-ti-lfa;
821 }
822 }
e206450b
RW
823 }
824
aec5ef49 825 grouping adjacency-state {
d2c970ff
EDP
826 description
827 "Adjacency state";
aec5ef49
RW
828 container adjacencies {
829 config false;
d2c970ff
EDP
830 description
831 "This container lists the adjacencies of
832 the local node.";
aec5ef49 833 list adjacency {
d2c970ff
EDP
834 description
835 "List of operational adjacencies.";
aec5ef49
RW
836 leaf neighbor-sys-type {
837 type level;
838 description
839 "Level capability of neighboring system";
840 }
d2c970ff 841
aec5ef49
RW
842 leaf neighbor-sysid {
843 type system-id;
844 description
845 "The system-id of the neighbor";
846 }
d2c970ff 847
aec5ef49
RW
848 leaf neighbor-extended-circuit-id {
849 type extended-circuit-id;
850 description
851 "Circuit ID of the neighbor";
852 }
d2c970ff 853
aec5ef49
RW
854 leaf neighbor-snpa {
855 type snpa;
856 description
857 "SNPA of the neighbor";
858 }
d2c970ff 859
aec5ef49
RW
860 leaf hold-timer {
861 type uint16;
d2c970ff 862 units "seconds";
aec5ef49
RW
863 description
864 "The holding time in seconds for this
865 adjacency. This value is based on
866 received hello PDUs and the elapsed
867 time since receipt.";
868 }
d2c970ff 869
aec5ef49
RW
870 leaf neighbor-priority {
871 type uint8 {
872 range "0 .. 127";
873 }
874 description
875 "Priority of the neighboring IS for becoming
876 the DIS.";
877 }
d2c970ff 878
aec5ef49
RW
879 leaf state {
880 type adj-state-type;
881 description
882 "This leaf describes the state of the interface.";
883 }
aec5ef49 884 }
aec5ef49 885 }
aec5ef49
RW
886 }
887
c32496ee 888 grouping event-counters {
d2c970ff
EDP
889 description
890 "Grouping for IS-IS interface event counters";
c32496ee
RW
891 container event-counters {
892 config false;
d2c970ff
EDP
893 description
894 "IS-IS interface event counters.";
c32496ee
RW
895 leaf adjacency-changes {
896 type uint32;
897 description
898 "The number of times an adjacency state change has
899 occurred on this interface.";
900 }
d2c970ff 901
c32496ee
RW
902 leaf adjacency-number {
903 type uint32;
904 description
905 "The number of adjacencies on this interface.";
906 }
d2c970ff 907
c32496ee
RW
908 leaf init-fails {
909 type uint32;
910 description
911 "The number of times initialization of this
912 interface has failed. This counts events such
913 as PPP NCP failures. Failures to form an
914 adjacency are counted by adjacency-rejects.";
915 }
d2c970ff 916
c32496ee
RW
917 leaf adjacency-rejects {
918 type uint32;
919 description
920 "The number of times an adjacency has been
921 rejected on this interface.";
922 }
d2c970ff 923
c32496ee
RW
924 leaf id-len-mismatch {
925 type uint32;
926 description
927 "The number of times an IS-IS PDU with an ID
928 field length different from that for this
929 system has been received on this interface.";
930 }
d2c970ff 931
c32496ee
RW
932 leaf max-area-addresses-mismatch {
933 type uint32;
934 description
935 "The number of times an IS-IS PDU has been
936 received on this interface with the
937 max area address field differing from that of
938 this system.";
939 }
d2c970ff 940
c32496ee
RW
941 leaf authentication-type-fails {
942 type uint32;
943 description
944 "Number of authentication type mismatches.";
945 }
d2c970ff 946
c32496ee
RW
947 leaf authentication-fails {
948 type uint32;
949 description
950 "Number of authentication key failures.";
951 }
c32496ee 952 }
c32496ee
RW
953 }
954
aec5ef49
RW
955 grouping interface-state {
956 description
957 "IS-IS interface operational state.";
958 uses adjacency-state;
d2c970ff 959
c32496ee 960 uses event-counters;
aec5ef49
RW
961 }
962
20bd27e2
EDP
963 grouping notification-instance-hdr {
964 description
965 "Instance specific IS-IS notification data grouping";
966 leaf routing-instance {
967 type string;
968 description
969 "Name of the routing-instance instance.";
970 }
971
972 leaf routing-protocol-name {
973 type string;
974 description
975 "Name of the IS-IS instance.";
976 }
977
978 leaf isis-level {
979 type level;
980 description
981 "IS-IS level of the instance.";
982 }
983 }
984
985 grouping notification-interface-hdr {
986 description
987 "Interface specific IS-IS notification data grouping";
988 leaf interface-name {
f22b9250 989 type frr-interface:interface-ref;
20bd27e2
EDP
990 description
991 "IS-IS interface name";
992 }
993
994 leaf interface-level {
995 type level;
996 description
997 "IS-IS level of the interface.";
998 }
999
1000 leaf extended-circuit-id {
aec5ef49 1001 type extended-circuit-id;
20bd27e2
EDP
1002 description
1003 "Eextended circuit-id of the interface.";
1004 }
1005 }
1006
1007 container isis {
1008 description
1009 "Configuration of the IS-IS routing daemon.";
1010 list instance {
65251ce8 1011 key "area-tag vrf";
20bd27e2
EDP
1012 description
1013 "IS-IS routing instance.";
1014 leaf area-tag {
1015 type string;
1016 description
1017 "Area-tag associated to this routing instance.";
1018 }
1019
65251ce8 1020 leaf vrf {
806defc8 1021 type frr-vrf:vrf-ref;
65251ce8 1022 description
1023 "VRF NAME.";
1024 }
1025
20bd27e2
EDP
1026 leaf is-type {
1027 type level;
26eb18e2 1028 default "level-1-2";
20bd27e2
EDP
1029 description
1030 "Level of the IS-IS routing instance (OSI only).";
1031 }
1032
1033 leaf-list area-address {
1034 type net-address;
1035 max-elements 3;
1036 description
1037 "List of OSI NET addresses for this protocol instance.";
1038 }
1039
1040 leaf dynamic-hostname {
1041 type boolean;
1042 default "true";
1043 description
1044 "Dynamic hostname support for IS-IS.";
1045 }
1046
f3abc412 1047 leaf attach-send {
1048 type boolean;
1049 default "true";
1050 description
1051 "If true, attached bits are sent in LSP if L1/L2 router for inter-area traffic.";
1052 }
1053
1054 leaf attach-receive-ignore {
1055 type boolean;
1056 default "false";
1057 description
1058 "If false, attached bits received in LSP, cause default route add, if L1 router for inter-area traffic.";
1059 }
1060
20bd27e2 1061 leaf attached {
5f1e5e3f
EDP
1062 type boolean;
1063 default "false";
f3abc412 1064 status deprecated;
20bd27e2 1065 description
5f1e5e3f 1066 "If true, identify as L1/L2 router for inter-area traffic.";
20bd27e2
EDP
1067 }
1068
1069 leaf overload {
5f1e5e3f
EDP
1070 type boolean;
1071 default "false";
20bd27e2 1072 description
5f1e5e3f 1073 "If true, avoid any transit traffic.";
20bd27e2
EDP
1074 }
1075
1076 leaf metric-style {
1077 type metric-style-type;
1078 must ". = 'wide' or count(../multi-topology/*) = 0";
1079 default "wide";
1080 description
1081 "Define the style of TLVs metric supported.";
1082 }
1083
1084 leaf purge-originator {
5f1e5e3f
EDP
1085 type boolean;
1086 default "false";
20bd27e2
EDP
1087 description
1088 "Use the RFC 6232 purge-originator.";
1089 reference
1090 "RFC6232";
1091 }
1092
1093 container lsp {
1094 description
1095 "Configuration of Link-State Packets (LSP) parameters";
1096 leaf mtu {
1097 type uint16 {
1098 range "128..4352";
1099 }
1100 default "1497";
1101 description
1102 "MTU of an LSP.";
1103 }
1104
d2c970ff 1105 container timers {
20bd27e2 1106 description
d2c970ff
EDP
1107 "LSP-related timers";
1108 container level-1 {
20bd27e2 1109 description
d2c970ff
EDP
1110 "Level-1 LSP-related timers";
1111 leaf refresh-interval {
1112 type uint16;
1113 units "seconds";
1114 default "900";
1115 description
1116 "LSP refresh interval for level-1.";
1117 }
20bd27e2 1118
d2c970ff
EDP
1119 leaf maximum-lifetime {
1120 type uint16 {
1121 range "350..65535";
1122 }
1123 units "seconds";
1124 must ". >= ../refresh-interval + 300";
1125 default "1200";
1126 description
1127 "Maximum LSP lifetime for level-1.";
1128 }
20bd27e2 1129
d2c970ff
EDP
1130 leaf generation-interval {
1131 type uint16 {
1132 range "1..120";
1133 }
1134 units "seconds";
1135 must ". < ../refresh-interval";
1136 default "30";
1137 description
1138 "Minimum time allowed before level-1 LSP retransmissions.";
20bd27e2 1139 }
20bd27e2
EDP
1140 }
1141
d2c970ff 1142 container level-2 {
20bd27e2 1143 description
d2c970ff
EDP
1144 "Level-2 LSP-related timers";
1145 leaf refresh-interval {
1146 type uint16;
1147 units "seconds";
1148 default "900";
1149 description
1150 "LSP refresh interval for level-2.";
1151 }
20bd27e2 1152
d2c970ff
EDP
1153 leaf maximum-lifetime {
1154 type uint16 {
1155 range "350..65535";
1156 }
1157 units "seconds";
1158 must ". >= ../refresh-interval + 300";
1159 default "1200";
1160 description
1161 "Maximum LSP lifetime for level-2.";
20bd27e2 1162 }
20bd27e2 1163
d2c970ff
EDP
1164 leaf generation-interval {
1165 type uint16 {
1166 range "1..120";
1167 }
1168 units "seconds";
1169 must ". < ../refresh-interval";
1170 default "30";
1171 description
1172 "Minimum time allowed before level-2 LSP retransmissions.";
20bd27e2 1173 }
20bd27e2
EDP
1174 }
1175 }
1176 }
1177
1178 container spf {
1179 description
1180 "Parameters related to the Shortest Path First algorithm.";
1181 container ietf-backoff-delay {
1182 presence "Present if IETF SPF back-off delay is enabled.";
1183 description
1184 "SPF back-off delay algorithm parameters (see RFC 8405).";
1185 leaf init-delay {
1186 type uint16 {
1187 range "0..60000";
1188 }
1189 units "msec";
1190 mandatory true;
1191 description
1192 "Delay used while in QUIET state";
1193 }
1194
1195 leaf short-delay {
1196 type uint16 {
1197 range "0..60000";
1198 }
1199 units "msec";
1200 mandatory true;
1201 description
1202 "Delay used while in SHORT_WAIT state";
1203 }
1204
1205 leaf long-delay {
1206 type uint16 {
1207 range "0..60000";
1208 }
1209 units "msec";
1210 mandatory true;
1211 description
1212 "Delay used while in LONG_WAIT state";
1213 }
1214
1215 leaf hold-down {
1216 type uint16 {
1217 range "0..60000";
1218 }
1219 units "msec";
1220 mandatory true;
1221 description
1222 "Time with no received IGP events before considering IGP stable";
1223 }
1224
1225 leaf time-to-learn {
1226 type uint16 {
1227 range "0..60000";
1228 }
1229 units "msec";
1230 mandatory true;
1231 description
1232 "Maximum duration needed to learn all the events related to a
1233 single failure";
1234 }
1235 }
1236
1237 container minimum-interval {
1238 description
1239 "Minimum interval between consecutive executions of the
1240 SPF algorithm.";
1241 leaf level-1 {
1242 type uint16 {
1243 range "1..120";
1244 }
1245 units "seconds";
1246 default "1";
1247 description
1248 "Minimum time between consecutive level-1 SPFs.";
1249 }
1250
1251 leaf level-2 {
1252 type uint16 {
1253 range "1..120";
1254 }
1255 units "seconds";
1256 default "1";
1257 description
1258 "Minimum time between consecutive level-2 SPFs.";
1259 }
1260 }
d20b14bc
RW
1261
1262 container prefix-priorities {
1263 description
1264 "SPF Prefix Priority configuration";
1265
1266 container critical {
1267 description
1268 "Critical prefix priority";
1269 leaf access-list-name {
1270 type access-list-ref;
1271 description
1272 "Access List to determine prefixes for
1273 this priority";
1274 }
1275 }
1276 container high {
1277 description
1278 "High prefix priority";
1279 leaf access-list-name {
1280 type access-list-ref;
1281 description
1282 "Access List to determine prefixes for
1283 this priority";
1284 }
1285 }
1286 container medium {
1287 description
1288 "Medium prefix priority";
1289 leaf access-list-name {
1290 type access-list-ref;
1291 description
1292 "Access List to determine prefixes for
1293 this priority";
1294 }
1295 }
1296 }
20bd27e2
EDP
1297 }
1298
1299 container area-password {
1300 presence "Present if authentication is required for IS level-1.";
1301 description
1302 "Authentication password for an IS-IS area.";
1303 uses isis-area-password;
1304 }
1305
1306 container domain-password {
1307 presence "Present if authentication is required for IS level-2.";
1308 description
1309 "Authentication password for an IS-IS domain.";
1310 uses isis-area-password;
1311 }
1312
1313 container default-information-originate {
1314 description
1315 "Distribution of default information.";
1316 list ipv4 {
1317 key "level";
1318 description
1319 "Distribute default route for IPv4.";
1320 leaf level {
1321 type level;
1322 must "(. != \"level-1-2\") and ((../../../is-type = \"level-1-2\") or (. = ../../../is-type))";
1323 }
1324
1325 uses redistribute-default;
1326 }
1327
1328 list ipv6 {
1329 key "level";
1330 description
1331 "Distribute default route for IPv6.";
1332 leaf level {
1333 type level;
1334 must "(. != \"level-1-2\") and ((../../../is-type = \"level-1-2\") or (. = ../../../is-type))";
1335 }
1336
1337 uses redistribute-default;
1338 }
1339 }
1340
1341 container redistribute {
1342 description
1343 "Redistributes routes learned from other routing protocols.";
1344 list ipv4 {
1345 key "protocol level";
1346 description
1347 "IPv4 route redistribution.";
1348 leaf protocol {
1349 type frr-route-types:frr-route-types-v4;
1350 must ". != \"isis\"";
1351 description
1352 "Originating routing protocol for the IPv4 routes.";
1353 }
1354
1355 leaf level {
1356 type level;
1357 must "(. != \"level-1-2\") and ((../../../is-type = \"level-1-2\") or (. = ../../../is-type))";
1358 description
1359 "IS-IS level into which the routes should be redistributed.";
1360 }
1361
1362 uses redistribute-attributes;
1363 }
1364
1365 list ipv6 {
1366 key "protocol level";
1367 description
1368 "IPv6 route redistribution.";
1369 leaf protocol {
1370 type frr-route-types:frr-route-types-v6;
1371 must ". != \"isis\"";
1372 description
1373 "Originating routing protocol for the IPv6 routes.";
1374 }
1375
1376 leaf level {
1377 type level;
1378 must "(. != \"level-1-2\") and ((../../../is-type = \"level-1-2\") or (. = ../../../is-type))";
1379 description
1380 "IS-IS level into which the routes should be redistributed.";
1381 }
1382
1383 uses redistribute-attributes;
1384 }
1385 }
1386
1387 container multi-topology {
1388 description
1389 "IS-IS topologies configured for this area.";
1390 container ipv4-multicast {
1391 presence "Present if a separate IPv4-multicast topology is configured for this area.";
1392 description
1393 "IPv4 multicast topology.";
1394 leaf overload {
5f1e5e3f
EDP
1395 type boolean;
1396 default "false";
20bd27e2
EDP
1397 }
1398 }
1399
1400 container ipv4-management {
1401 presence "Present if a separate IPv4-management topology is configured for this area.";
1402 description
1403 "IPv4 management topology.";
1404 leaf overload {
5f1e5e3f
EDP
1405 type boolean;
1406 default "false";
20bd27e2
EDP
1407 }
1408 }
1409
1410 container ipv6-unicast {
1411 presence "Present if a separate IPv6-unicast topology is configured for this area.";
1412 description
1413 "IPv6 unicast topology.";
1414 leaf overload {
5f1e5e3f
EDP
1415 type boolean;
1416 default "false";
20bd27e2
EDP
1417 }
1418 }
1419
1420 container ipv6-multicast {
1421 presence "Present if a separate IPv6-multicast topology is configured for this area.";
1422 description
1423 "IPv6 multicast topology.";
1424 leaf overload {
5f1e5e3f
EDP
1425 type boolean;
1426 default "false";
20bd27e2
EDP
1427 }
1428 }
1429
1430 container ipv6-management {
1431 presence "Present if a separate IPv6-management topology is configured for this area.";
1432 description
1433 "IPv6 management topology.";
1434 leaf overload {
5f1e5e3f
EDP
1435 type boolean;
1436 default "false";
20bd27e2
EDP
1437 }
1438 }
1439
1440 container ipv6-dstsrc {
1441 presence "Present if a separate IPv6 destination-source topology is configured for this area.";
1442 description
1443 "IPv6 destination-source topology.";
1444 leaf overload {
5f1e5e3f
EDP
1445 type boolean;
1446 default "false";
20bd27e2
EDP
1447 }
1448 }
1449 }
1450
d20b14bc
RW
1451 container fast-reroute {
1452 description
1453 "IP Fast-reroute configuration.";
1454 container level-1 {
1455 description
1456 "Level-1 IP Fast-reroute configuration.";
1457 uses global-config-lfa;
381200be 1458 uses global-config-remote-lfa;
d20b14bc
RW
1459 }
1460 container level-2 {
1461 description
1462 "Level-2 IP Fast-reroute configuration.";
1463 uses global-config-lfa;
381200be 1464 uses global-config-remote-lfa;
d20b14bc
RW
1465 }
1466 }
1467
20bd27e2 1468 leaf log-adjacency-changes {
5f1e5e3f
EDP
1469 type boolean;
1470 default "false";
20bd27e2
EDP
1471 description
1472 "Log changes to the IS-IS adjacencies in this area.";
1473 }
20bd27e2 1474
2e2a8b91
OD
1475 container mpls-te {
1476 presence "Present if MPLS-TE is enabled.";
20bd27e2 1477 description
2e2a8b91
OD
1478 "Enable MPLS-TE functionality.";
1479 leaf router-address {
1480 type inet:ipv4-address;
1481 description
1482 "Stable IP address of the advertising router.";
1483 }
173f8887
OD
1484 leaf router-address-v6 {
1485 type inet:ipv6-address;
1486 description
1487 "Stable IPv6 address of the advertising router.";
1488 }
20bd27e2 1489 }
7e405d3b
RW
1490
1491 container segment-routing {
1492 description
1493 "Segment Routing global configuration.";
1494 leaf enabled {
1495 type boolean;
1496 default "false";
1497 description
1498 "Enables segment-routing protocol extensions.";
1499 }
01d43141 1500 container label-blocks {
d8391312 1501 description
01d43141
EDP
1502 "Local and global label blocks.";
1503 container srgb {
1504 description
1505 "Global blocks to be advertised.";
01d43141 1506 leaf lower-bound {
3bb513c3 1507 must "../upper-bound > .";
01d43141
EDP
1508 type uint32;
1509 default "16000";
1510 description
1511 "Lower value in the label range.";
1512 }
1513 leaf upper-bound {
3bb513c3 1514 must ". > ../lower-bound";
01d43141
EDP
1515 type uint32;
1516 default "23999";
1517 description
1518 "Upper value in the label range.";
1519 }
d8391312 1520 }
01d43141
EDP
1521 container srlb {
1522 description
1523 "Local blocks to be advertised.";
01d43141 1524 leaf lower-bound {
3bb513c3 1525 must "../upper-bound > .";
01d43141
EDP
1526 type uint32;
1527 default "15000";
1528 description
1529 "Lower value in the label range.";
1530 }
1531 leaf upper-bound {
3bb513c3 1532 must ". > ../lower-bound";
01d43141
EDP
1533 type uint32;
1534 default "15999";
1535 description
1536 "Upper value in the label range.";
1537 }
d8391312
OD
1538 }
1539 }
7e405d3b
RW
1540 container msd {
1541 description
1542 "MSD configuration.";
1543 leaf node-msd {
1544 type uint8;
1545 description
1546 "Node MSD is the lowest MSD supported by the node.";
1547 }
1548 }
1549 container prefix-sid-map {
1550 description
1551 "Prefix SID configuration.";
1552 list prefix-sid {
1553 key "prefix";
1554 unique "sid-value-type sid-value";
1555 description
1556 "List of prefix SID mapped to IPv4/IPv6
1557 local prefixes.";
1558 leaf prefix {
1559 type inet:ip-prefix;
1560 description
1561 "Connected prefix sid.";
1562 }
1563 leaf sid-value-type {
1564 type enumeration {
1565 enum "index" {
1566 value 0;
1567 description
1568 "The value will be interpreted as an index.";
1569 }
1570 enum "absolute" {
1571 value 1;
1572 description
1573 "The value will become interpreted as an absolute
1574 value.";
1575 }
1576 }
1577 default "index";
1578 description
1579 "This leaf defines how value must be interpreted.";
1580 }
1581 leaf sid-value {
1582 type uint32;
1583 mandatory true;
1584 description
1585 "Value associated with prefix. The value must be
1586 interpreted in the context of sid-value-type.";
1587 }
1588 leaf last-hop-behavior {
1589 type enumeration {
1590 enum "explicit-null" {
1591 value 0;
1592 description
1593 "Use explicit-null for the SID.";
1594 }
1595 enum "no-php" {
1596 value 1;
1597 description
1598 "Do not use Penultimate Hop Popping (PHP)
1599 for the SID.";
1600 }
1601 enum "php" {
1602 value 2;
1603 description
1604 "Use PHP for the SID.";
1605 }
1606 }
1607 default "php";
1608 description
1609 "Configure last hop behavior.";
1610 }
01983712
RW
1611 leaf n-flag-clear {
1612 type boolean;
1613 default "false";
1614 description
1615 "Not a node SID";
1616 }
7e405d3b
RW
1617 }
1618 }
1619 }
1cbf96a8 1620
1621 container mpls {
1622 description
1623 "Configuration of MPLS parameters";
1624 container ldp-sync {
1625 presence "Present if MPLS LDP-Sync is enabled.";
1626 description
1627 "Enable MPLS LDP-Sync functionality.";
1628 leaf holddown {
1629 type uint16 {
1630 range "0..10000";
1631 }
1632 units "seconds";
1633 default "0";
1634 description
1635 "Time to wait for LDP-Sync to occur before restoring interface metric.";
1636 }
1637 }
1638 }
1639
20bd27e2
EDP
1640 }
1641 }
1642
1643 augment "/frr-interface:lib/frr-interface:interface" {
1644 description
1645 "Extends interface model with IS-IS related parameters.";
1646 container isis {
1647 presence "Present if an IS-IS circuit is defined for this interface.";
1648 description
1649 "IS-IS interface parameters.";
e206450b 1650 uses interface-config;
27171928
RW
1651 }
1652 }
1653
1654 augment "/frr-interface:lib/frr-interface:interface/frr-interface:state" {
1655 description
1656 "Extends interface model with IS-IS operational data.";
1657 container isis {
1658 presence "Present if an IS-IS circuit is defined for this interface.";
1659 description
1660 "IS-IS interface operational data.";
d2c970ff 1661
aec5ef49 1662 uses interface-state;
20bd27e2
EDP
1663 }
1664 }
1665
1666 notification database-overload {
1667 description
1668 "This notification is sent when an IS-IS instance
1669 overload state changes.";
1670 uses notification-instance-hdr;
1671
1672 leaf overload {
1673 type enumeration {
1674 enum "off" {
1675 value 0;
1676 description
1677 "Indicates IS-IS instance has left overload state";
1678 }
1679 enum "on" {
1680 value 1;
1681 description
1682 "Indicates IS-IS instance has entered overload state";
1683 }
1684 }
1685 description
1686 "New overload state of the IS-IS instance";
1687 }
1688 }
1689
1690 notification lsp-too-large {
1691 description
1692 "This notification is sent when we attempt to propagate
1693 an LSP that is larger than the dataLinkBlockSize for the
1694 circuit. The notification generation must be throttled
f79f7a7b 1695 with at least 5 seconds between successive
20bd27e2
EDP
1696 notifications.";
1697 uses notification-instance-hdr;
1698
1699 uses notification-interface-hdr;
1700
1701 leaf pdu-size {
1702 type uint32;
1703 description
1704 "Size of the LSP PDU";
1705 }
1706
1707 leaf lsp-id {
1708 type lsp-id;
1709 description
1710 "LSP ID";
1711 }
1712 }
1713
1714 notification if-state-change {
1715 description
1716 "This notification is sent when an interface
1717 state change is detected.";
1718 uses notification-instance-hdr;
1719
1720 uses notification-interface-hdr;
1721
1722 leaf state {
1723 type if-state-type;
1724 description
1725 "Interface state.";
1726 }
1727 }
1728
1729 notification corrupted-lsp-detected {
1730 description
1731 "This notification is sent when we find that
1732 an LSP that was stored in memory has become
1733 corrupted.";
1734 uses notification-instance-hdr;
1735
1736 leaf lsp-id {
1737 type lsp-id;
1738 description
1739 "LSP ID";
1740 }
1741 }
1742
1743 notification attempt-to-exceed-max-sequence {
1744 description
1745 "This notification is sent when the system
1746 wraps the 32-bit sequence counter of an LSP.";
1747 uses notification-instance-hdr;
1748
1749 leaf lsp-id {
1750 type lsp-id;
1751 description
1752 "LSP ID";
1753 }
1754 }
1755
1756 notification id-len-mismatch {
1757 description
1758 "This notification is sent when we receive a PDU
1759 with a different value for the System ID length.
1760 The notification generation must be throttled
f79f7a7b 1761 with at least 5 seconds between successive
20bd27e2
EDP
1762 notifications.";
1763 uses notification-instance-hdr;
1764
1765 uses notification-interface-hdr;
1766
1767 leaf pdu-field-len {
1768 type uint8;
1769 description
1770 "Size of the ID length in the received PDU";
1771 }
1772
1773 leaf raw-pdu {
1774 type binary;
1775 description
1776 "Received raw PDU.";
1777 }
1778 }
1779
1780 notification max-area-addresses-mismatch {
1781 description
1782 "This notification is sent when we receive a PDU
1783 with a different value for the Maximum Area Addresses.
1784 The notification generation must be throttled
f79f7a7b 1785 with at least 5 seconds between successive
20bd27e2
EDP
1786 notifications.";
1787 uses notification-instance-hdr;
1788
1789 uses notification-interface-hdr;
1790
1791 leaf max-area-addresses {
1792 type uint8;
1793 description
1794 "Received number of supported areas";
1795 }
1796
1797 leaf raw-pdu {
1798 type binary;
1799 description
1800 "Received raw PDU.";
1801 }
1802 }
1803
1804 notification own-lsp-purge {
1805 description
1806 "This notification is sent when the system receives
1807 a PDU with its own system ID and zero age.";
1808 uses notification-instance-hdr;
1809
1810 uses notification-interface-hdr;
1811
1812 leaf lsp-id {
1813 type lsp-id;
1814 description
1815 "LSP ID";
1816 }
1817 }
1818
1819 notification sequence-number-skipped {
1820 description
1821 "This notification is sent when the system receives a
1822 PDU with its own system ID and different contents. The
1823 system has to reoriginate the LSP with a higher sequence
1824 number.";
1825 uses notification-instance-hdr;
1826
1827 uses notification-interface-hdr;
1828
1829 leaf lsp-id {
1830 type lsp-id;
1831 description
1832 "LSP ID";
1833 }
1834 }
1835
1836 notification authentication-type-failure {
1837 description
1838 "This notification is sent when the system receives a
1839 PDU with the wrong authentication type field.
1840 The notification generation must be throttled
f79f7a7b 1841 with at least 5 seconds between successive
20bd27e2
EDP
1842 notifications.";
1843 uses notification-instance-hdr;
1844
1845 uses notification-interface-hdr;
1846
1847 leaf raw-pdu {
1848 type binary;
1849 description
1850 "Received raw PDU.";
1851 }
1852 }
1853
1854 notification authentication-failure {
1855 description
1856 "This notification is sent when the system receives
1857 a PDU with the wrong authentication information.
1858 The notification generation must be throttled with
f79f7a7b 1859 with at least 5 seconds between successive
20bd27e2
EDP
1860 notifications.";
1861 uses notification-instance-hdr;
1862
1863 uses notification-interface-hdr;
1864
1865 leaf raw-pdu {
1866 type binary;
1867 description
1868 "Received raw PDU.";
1869 }
1870 }
1871
1872 notification version-skew {
1873 description
1874 "This notification is sent when the system receives a
1875 PDU with a different protocol version number.
1876 The notification generation must be throttled
f79f7a7b 1877 with at least 5 seconds between successive
20bd27e2
EDP
1878 notifications.";
1879 uses notification-instance-hdr;
1880
1881 uses notification-interface-hdr;
1882
1883 leaf protocol-version {
1884 type uint8;
1885 description
1886 "Protocol version received in the PDU.";
1887 }
1888
1889 leaf raw-pdu {
1890 type binary;
1891 description
1892 "Received raw PDU.";
1893 }
1894 }
1895
1896 notification area-mismatch {
1897 description
1898 "This notification is sent when the system receives a
1899 Hello PDU from an IS that does not share any area
1900 address. The notification generation must be throttled
f79f7a7b 1901 with at least 5 seconds between successive
20bd27e2
EDP
1902 notifications.";
1903 uses notification-instance-hdr;
1904
1905 uses notification-interface-hdr;
1906
1907 leaf raw-pdu {
1908 type binary;
1909 description
1910 "Received raw PDU.";
1911 }
1912 }
1913
1914 notification rejected-adjacency {
1915 description
1916 "This notification is sent when the system receives a
1917 Hello PDU from an IS but does not establish an adjacency
1918 for some reason. The notification generation must be
f79f7a7b 1919 throttled with at least 5 seconds between successive
20bd27e2
EDP
1920 notifications.";
1921 uses notification-instance-hdr;
1922
1923 uses notification-interface-hdr;
1924
1925 leaf raw-pdu {
1926 type binary;
1927 description
1928 "Received raw PDU.";
1929 }
1930
1931 leaf reason {
1932 type string;
1933 description
1934 "The system may provide a reason to reject the
1935 adjacency. If the reason is not available,
1936 an empty string will be returned.";
1937 }
1938 }
1939
1940 notification lsp-error-detected {
1941 description
1942 "This notification is sent when the system receives an
1943 LSP with a parse error. The notification generation must
f79f7a7b 1944 be throttled with at least 5 seconds between successive
20bd27e2
EDP
1945 notifications.";
1946 uses notification-instance-hdr;
1947
1948 uses notification-interface-hdr;
1949
1950 leaf lsp-id {
1951 type lsp-id;
1952 description
1953 "LSP ID.";
1954 }
1955
1956 leaf raw-pdu {
1957 type binary;
1958 description
1959 "Received raw PDU.";
1960 }
1961
1962 leaf error-offset {
1963 type uint32;
1964 description
1965 "If the problem is a malformed TLV, the error-offset
1966 points to the start of the TLV. If the problem is with
1967 the LSP header, the error-offset points to the errant
1968 byte";
1969 }
1970
1971 leaf tlv-type {
1972 type uint8;
1973 description
1974 "If the problem is a malformed TLV, the tlv-type is set
1975 to the type value of the suspicious TLV. Otherwise,
1976 this leaf is not present.";
1977 }
1978 }
1979
1980 notification adjacency-state-change {
1981 description
1982 "This notification is sent when an IS-IS adjacency
1983 moves to Up state or to Down state.";
1984 uses notification-instance-hdr;
1985
1986 uses notification-interface-hdr;
1987
1988 leaf neighbor {
1989 type string;
1990 description
1991 "Name of the neighbor. If the name of the neighbor is
1992 not available, it is not returned.";
1993 }
1994
1995 leaf neighbor-system-id {
1996 type system-id;
1997 description
1998 "Neighbor system-id";
1999 }
2000
2001 leaf state {
2002 type adj-state-type;
2003 description
2004 "New state of the IS-IS adjacency.";
2005 }
2006
2007 leaf reason {
2008 type string;
2009 description
2010 "If the adjacency is going to DOWN, this leaf provides
2011 a reason for the adjacency going down. The reason is
2012 provided as a text. If the adjacency is going to UP, no
2013 reason is provided.";
2014 }
2015 }
2016
2017 notification lsp-received {
2018 description
2019 "This notification is sent when an LSP is received.
2020 The notification generation must be throttled with at
f79f7a7b 2021 least 5 seconds between successive notifications.";
20bd27e2
EDP
2022 uses notification-instance-hdr;
2023
2024 uses notification-interface-hdr;
2025
2026 leaf lsp-id {
2027 type lsp-id;
2028 description
2029 "LSP ID";
2030 }
2031
2032 leaf sequence {
2033 type uint32;
2034 description
2035 "Sequence number of the received LSP.";
2036 }
2037
2038 leaf received-timestamp {
2039 type yang:timestamp;
2040 description
2041 "Timestamp when the LSP was received.";
2042 }
2043
2044 leaf neighbor-system-id {
2045 type system-id;
2046 description
2047 "Neighbor system-id of LSP sender";
2048 }
2049 }
2050
2051 notification lsp-generation {
2052 description
2053 "This notification is sent when an LSP is regenerated.
2054 The notification generation must be throttled with at
f79f7a7b 2055 least 5 seconds between successive notifications.";
20bd27e2
EDP
2056 uses notification-instance-hdr;
2057
2058 leaf lsp-id {
2059 type lsp-id;
2060 description
2061 "LSP ID";
2062 }
2063
2064 leaf sequence {
2065 type uint32;
2066 description
2067 "Sequence number of the received LSP.";
2068 }
2069
2070 leaf send-timestamp {
2071 type yang:timestamp;
2072 description
2073 "Timestamp when our LSP was regenerated.";
2074 }
2075 }
2076}