]> git.proxmox.com Git - mirror_frr.git/blame - yang/frr-isisd.yang
Merge pull request #8919 from mobash-rasool/ospfv3-fixes
[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 }
20bd27e2 1484 }
7e405d3b
RW
1485
1486 container segment-routing {
1487 description
1488 "Segment Routing global configuration.";
1489 leaf enabled {
1490 type boolean;
1491 default "false";
1492 description
1493 "Enables segment-routing protocol extensions.";
1494 }
01d43141 1495 container label-blocks {
d8391312 1496 description
01d43141
EDP
1497 "Local and global label blocks.";
1498 container srgb {
1499 description
1500 "Global blocks to be advertised.";
01d43141 1501 leaf lower-bound {
3bb513c3 1502 must "../upper-bound > .";
01d43141
EDP
1503 type uint32;
1504 default "16000";
1505 description
1506 "Lower value in the label range.";
1507 }
1508 leaf upper-bound {
3bb513c3 1509 must ". > ../lower-bound";
01d43141
EDP
1510 type uint32;
1511 default "23999";
1512 description
1513 "Upper value in the label range.";
1514 }
d8391312 1515 }
01d43141
EDP
1516 container srlb {
1517 description
1518 "Local blocks to be advertised.";
01d43141 1519 leaf lower-bound {
3bb513c3 1520 must "../upper-bound > .";
01d43141
EDP
1521 type uint32;
1522 default "15000";
1523 description
1524 "Lower value in the label range.";
1525 }
1526 leaf upper-bound {
3bb513c3 1527 must ". > ../lower-bound";
01d43141
EDP
1528 type uint32;
1529 default "15999";
1530 description
1531 "Upper value in the label range.";
1532 }
d8391312
OD
1533 }
1534 }
7e405d3b
RW
1535 container msd {
1536 description
1537 "MSD configuration.";
1538 leaf node-msd {
1539 type uint8;
1540 description
1541 "Node MSD is the lowest MSD supported by the node.";
1542 }
1543 }
1544 container prefix-sid-map {
1545 description
1546 "Prefix SID configuration.";
1547 list prefix-sid {
1548 key "prefix";
1549 unique "sid-value-type sid-value";
1550 description
1551 "List of prefix SID mapped to IPv4/IPv6
1552 local prefixes.";
1553 leaf prefix {
1554 type inet:ip-prefix;
1555 description
1556 "Connected prefix sid.";
1557 }
1558 leaf sid-value-type {
1559 type enumeration {
1560 enum "index" {
1561 value 0;
1562 description
1563 "The value will be interpreted as an index.";
1564 }
1565 enum "absolute" {
1566 value 1;
1567 description
1568 "The value will become interpreted as an absolute
1569 value.";
1570 }
1571 }
1572 default "index";
1573 description
1574 "This leaf defines how value must be interpreted.";
1575 }
1576 leaf sid-value {
1577 type uint32;
1578 mandatory true;
1579 description
1580 "Value associated with prefix. The value must be
1581 interpreted in the context of sid-value-type.";
1582 }
1583 leaf last-hop-behavior {
1584 type enumeration {
1585 enum "explicit-null" {
1586 value 0;
1587 description
1588 "Use explicit-null for the SID.";
1589 }
1590 enum "no-php" {
1591 value 1;
1592 description
1593 "Do not use Penultimate Hop Popping (PHP)
1594 for the SID.";
1595 }
1596 enum "php" {
1597 value 2;
1598 description
1599 "Use PHP for the SID.";
1600 }
1601 }
1602 default "php";
1603 description
1604 "Configure last hop behavior.";
1605 }
01983712
RW
1606 leaf n-flag-clear {
1607 type boolean;
1608 default "false";
1609 description
1610 "Not a node SID";
1611 }
7e405d3b
RW
1612 }
1613 }
1614 }
1cbf96a8 1615
1616 container mpls {
1617 description
1618 "Configuration of MPLS parameters";
1619 container ldp-sync {
1620 presence "Present if MPLS LDP-Sync is enabled.";
1621 description
1622 "Enable MPLS LDP-Sync functionality.";
1623 leaf holddown {
1624 type uint16 {
1625 range "0..10000";
1626 }
1627 units "seconds";
1628 default "0";
1629 description
1630 "Time to wait for LDP-Sync to occur before restoring interface metric.";
1631 }
1632 }
1633 }
1634
20bd27e2
EDP
1635 }
1636 }
1637
1638 augment "/frr-interface:lib/frr-interface:interface" {
1639 description
1640 "Extends interface model with IS-IS related parameters.";
1641 container isis {
1642 presence "Present if an IS-IS circuit is defined for this interface.";
1643 description
1644 "IS-IS interface parameters.";
e206450b 1645 uses interface-config;
27171928
RW
1646 }
1647 }
1648
1649 augment "/frr-interface:lib/frr-interface:interface/frr-interface:state" {
1650 description
1651 "Extends interface model with IS-IS operational data.";
1652 container isis {
1653 presence "Present if an IS-IS circuit is defined for this interface.";
1654 description
1655 "IS-IS interface operational data.";
d2c970ff 1656
aec5ef49 1657 uses interface-state;
20bd27e2
EDP
1658 }
1659 }
1660
1661 notification database-overload {
1662 description
1663 "This notification is sent when an IS-IS instance
1664 overload state changes.";
1665 uses notification-instance-hdr;
1666
1667 leaf overload {
1668 type enumeration {
1669 enum "off" {
1670 value 0;
1671 description
1672 "Indicates IS-IS instance has left overload state";
1673 }
1674 enum "on" {
1675 value 1;
1676 description
1677 "Indicates IS-IS instance has entered overload state";
1678 }
1679 }
1680 description
1681 "New overload state of the IS-IS instance";
1682 }
1683 }
1684
1685 notification lsp-too-large {
1686 description
1687 "This notification is sent when we attempt to propagate
1688 an LSP that is larger than the dataLinkBlockSize for the
1689 circuit. The notification generation must be throttled
f79f7a7b 1690 with at least 5 seconds between successive
20bd27e2
EDP
1691 notifications.";
1692 uses notification-instance-hdr;
1693
1694 uses notification-interface-hdr;
1695
1696 leaf pdu-size {
1697 type uint32;
1698 description
1699 "Size of the LSP PDU";
1700 }
1701
1702 leaf lsp-id {
1703 type lsp-id;
1704 description
1705 "LSP ID";
1706 }
1707 }
1708
1709 notification if-state-change {
1710 description
1711 "This notification is sent when an interface
1712 state change is detected.";
1713 uses notification-instance-hdr;
1714
1715 uses notification-interface-hdr;
1716
1717 leaf state {
1718 type if-state-type;
1719 description
1720 "Interface state.";
1721 }
1722 }
1723
1724 notification corrupted-lsp-detected {
1725 description
1726 "This notification is sent when we find that
1727 an LSP that was stored in memory has become
1728 corrupted.";
1729 uses notification-instance-hdr;
1730
1731 leaf lsp-id {
1732 type lsp-id;
1733 description
1734 "LSP ID";
1735 }
1736 }
1737
1738 notification attempt-to-exceed-max-sequence {
1739 description
1740 "This notification is sent when the system
1741 wraps the 32-bit sequence counter of an LSP.";
1742 uses notification-instance-hdr;
1743
1744 leaf lsp-id {
1745 type lsp-id;
1746 description
1747 "LSP ID";
1748 }
1749 }
1750
1751 notification id-len-mismatch {
1752 description
1753 "This notification is sent when we receive a PDU
1754 with a different value for the System ID length.
1755 The notification generation must be throttled
f79f7a7b 1756 with at least 5 seconds between successive
20bd27e2
EDP
1757 notifications.";
1758 uses notification-instance-hdr;
1759
1760 uses notification-interface-hdr;
1761
1762 leaf pdu-field-len {
1763 type uint8;
1764 description
1765 "Size of the ID length in the received PDU";
1766 }
1767
1768 leaf raw-pdu {
1769 type binary;
1770 description
1771 "Received raw PDU.";
1772 }
1773 }
1774
1775 notification max-area-addresses-mismatch {
1776 description
1777 "This notification is sent when we receive a PDU
1778 with a different value for the Maximum Area Addresses.
1779 The notification generation must be throttled
f79f7a7b 1780 with at least 5 seconds between successive
20bd27e2
EDP
1781 notifications.";
1782 uses notification-instance-hdr;
1783
1784 uses notification-interface-hdr;
1785
1786 leaf max-area-addresses {
1787 type uint8;
1788 description
1789 "Received number of supported areas";
1790 }
1791
1792 leaf raw-pdu {
1793 type binary;
1794 description
1795 "Received raw PDU.";
1796 }
1797 }
1798
1799 notification own-lsp-purge {
1800 description
1801 "This notification is sent when the system receives
1802 a PDU with its own system ID and zero age.";
1803 uses notification-instance-hdr;
1804
1805 uses notification-interface-hdr;
1806
1807 leaf lsp-id {
1808 type lsp-id;
1809 description
1810 "LSP ID";
1811 }
1812 }
1813
1814 notification sequence-number-skipped {
1815 description
1816 "This notification is sent when the system receives a
1817 PDU with its own system ID and different contents. The
1818 system has to reoriginate the LSP with a higher sequence
1819 number.";
1820 uses notification-instance-hdr;
1821
1822 uses notification-interface-hdr;
1823
1824 leaf lsp-id {
1825 type lsp-id;
1826 description
1827 "LSP ID";
1828 }
1829 }
1830
1831 notification authentication-type-failure {
1832 description
1833 "This notification is sent when the system receives a
1834 PDU with the wrong authentication type field.
1835 The notification generation must be throttled
f79f7a7b 1836 with at least 5 seconds between successive
20bd27e2
EDP
1837 notifications.";
1838 uses notification-instance-hdr;
1839
1840 uses notification-interface-hdr;
1841
1842 leaf raw-pdu {
1843 type binary;
1844 description
1845 "Received raw PDU.";
1846 }
1847 }
1848
1849 notification authentication-failure {
1850 description
1851 "This notification is sent when the system receives
1852 a PDU with the wrong authentication information.
1853 The notification generation must be throttled with
f79f7a7b 1854 with at least 5 seconds between successive
20bd27e2
EDP
1855 notifications.";
1856 uses notification-instance-hdr;
1857
1858 uses notification-interface-hdr;
1859
1860 leaf raw-pdu {
1861 type binary;
1862 description
1863 "Received raw PDU.";
1864 }
1865 }
1866
1867 notification version-skew {
1868 description
1869 "This notification is sent when the system receives a
1870 PDU with a different protocol version number.
1871 The notification generation must be throttled
f79f7a7b 1872 with at least 5 seconds between successive
20bd27e2
EDP
1873 notifications.";
1874 uses notification-instance-hdr;
1875
1876 uses notification-interface-hdr;
1877
1878 leaf protocol-version {
1879 type uint8;
1880 description
1881 "Protocol version received in the PDU.";
1882 }
1883
1884 leaf raw-pdu {
1885 type binary;
1886 description
1887 "Received raw PDU.";
1888 }
1889 }
1890
1891 notification area-mismatch {
1892 description
1893 "This notification is sent when the system receives a
1894 Hello PDU from an IS that does not share any area
1895 address. The notification generation must be throttled
f79f7a7b 1896 with at least 5 seconds between successive
20bd27e2
EDP
1897 notifications.";
1898 uses notification-instance-hdr;
1899
1900 uses notification-interface-hdr;
1901
1902 leaf raw-pdu {
1903 type binary;
1904 description
1905 "Received raw PDU.";
1906 }
1907 }
1908
1909 notification rejected-adjacency {
1910 description
1911 "This notification is sent when the system receives a
1912 Hello PDU from an IS but does not establish an adjacency
1913 for some reason. The notification generation must be
f79f7a7b 1914 throttled with at least 5 seconds between successive
20bd27e2
EDP
1915 notifications.";
1916 uses notification-instance-hdr;
1917
1918 uses notification-interface-hdr;
1919
1920 leaf raw-pdu {
1921 type binary;
1922 description
1923 "Received raw PDU.";
1924 }
1925
1926 leaf reason {
1927 type string;
1928 description
1929 "The system may provide a reason to reject the
1930 adjacency. If the reason is not available,
1931 an empty string will be returned.";
1932 }
1933 }
1934
1935 notification lsp-error-detected {
1936 description
1937 "This notification is sent when the system receives an
1938 LSP with a parse error. The notification generation must
f79f7a7b 1939 be throttled with at least 5 seconds between successive
20bd27e2
EDP
1940 notifications.";
1941 uses notification-instance-hdr;
1942
1943 uses notification-interface-hdr;
1944
1945 leaf lsp-id {
1946 type lsp-id;
1947 description
1948 "LSP ID.";
1949 }
1950
1951 leaf raw-pdu {
1952 type binary;
1953 description
1954 "Received raw PDU.";
1955 }
1956
1957 leaf error-offset {
1958 type uint32;
1959 description
1960 "If the problem is a malformed TLV, the error-offset
1961 points to the start of the TLV. If the problem is with
1962 the LSP header, the error-offset points to the errant
1963 byte";
1964 }
1965
1966 leaf tlv-type {
1967 type uint8;
1968 description
1969 "If the problem is a malformed TLV, the tlv-type is set
1970 to the type value of the suspicious TLV. Otherwise,
1971 this leaf is not present.";
1972 }
1973 }
1974
1975 notification adjacency-state-change {
1976 description
1977 "This notification is sent when an IS-IS adjacency
1978 moves to Up state or to Down state.";
1979 uses notification-instance-hdr;
1980
1981 uses notification-interface-hdr;
1982
1983 leaf neighbor {
1984 type string;
1985 description
1986 "Name of the neighbor. If the name of the neighbor is
1987 not available, it is not returned.";
1988 }
1989
1990 leaf neighbor-system-id {
1991 type system-id;
1992 description
1993 "Neighbor system-id";
1994 }
1995
1996 leaf state {
1997 type adj-state-type;
1998 description
1999 "New state of the IS-IS adjacency.";
2000 }
2001
2002 leaf reason {
2003 type string;
2004 description
2005 "If the adjacency is going to DOWN, this leaf provides
2006 a reason for the adjacency going down. The reason is
2007 provided as a text. If the adjacency is going to UP, no
2008 reason is provided.";
2009 }
2010 }
2011
2012 notification lsp-received {
2013 description
2014 "This notification is sent when an LSP is received.
2015 The notification generation must be throttled with at
f79f7a7b 2016 least 5 seconds between successive notifications.";
20bd27e2
EDP
2017 uses notification-instance-hdr;
2018
2019 uses notification-interface-hdr;
2020
2021 leaf lsp-id {
2022 type lsp-id;
2023 description
2024 "LSP ID";
2025 }
2026
2027 leaf sequence {
2028 type uint32;
2029 description
2030 "Sequence number of the received LSP.";
2031 }
2032
2033 leaf received-timestamp {
2034 type yang:timestamp;
2035 description
2036 "Timestamp when the LSP was received.";
2037 }
2038
2039 leaf neighbor-system-id {
2040 type system-id;
2041 description
2042 "Neighbor system-id of LSP sender";
2043 }
2044 }
2045
2046 notification lsp-generation {
2047 description
2048 "This notification is sent when an LSP is regenerated.
2049 The notification generation must be throttled with at
f79f7a7b 2050 least 5 seconds between successive notifications.";
20bd27e2
EDP
2051 uses notification-instance-hdr;
2052
2053 leaf lsp-id {
2054 type lsp-id;
2055 description
2056 "LSP ID";
2057 }
2058
2059 leaf sequence {
2060 type uint32;
2061 description
2062 "Sequence number of the received LSP.";
2063 }
2064
2065 leaf send-timestamp {
2066 type yang:timestamp;
2067 description
2068 "Timestamp when our LSP was regenerated.";
2069 }
2070 }
2071}