]> git.proxmox.com Git - mirror_frr.git/blob - isisd/isis_northbound.c
isisd, yang: add configuration model and callback stubs
[mirror_frr.git] / isisd / isis_northbound.c
1 /*
2 * Copyright (C) 2001,2002 Sampo Saaristo
3 * Tampere University of Technology
4 * Institute of Communications Engineering
5 * Copyright (C) 2018 Volta Networks
6 * Emanuele Di Pascale
7 *
8 * This program is free software; you can redistribute it and/or modify it
9 * under the terms of the GNU General Public License as published by the Free
10 * Software Foundation; either version 2 of the License, or (at your option)
11 * any later version.
12 *
13 * This program is distributed in the hope that it will be useful, but WITHOUT
14 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
15 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
16 * more details.
17 *
18 * You should have received a copy of the GNU General Public License along
19 * with this program; see the file COPYING; if not, write to the Free Software
20 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
21 */
22
23 #include <zebra.h>
24 #include "northbound.h"
25 #include "libfrr.h"
26 #include "linklist.h"
27 #include "log.h"
28 #include "isisd/dict.h"
29 #include "isisd/isis_constants.h"
30 #include "isisd/isis_common.h"
31 #include "isisd/isis_flags.h"
32 #include "isisd/isis_circuit.h"
33 #include "isisd/isisd.h"
34 #include "isisd/isis_lsp.h"
35 #include "isisd/isis_pdu.h"
36 #include "isisd/isis_dynhn.h"
37 #include "isisd/isis_misc.h"
38 #include "isisd/isis_csm.h"
39 #include "isisd/isis_adjacency.h"
40 #include "isisd/isis_spf.h"
41 #include "isisd/isis_te.h"
42 #include "isisd/isis_memory.h"
43 #include "isisd/isis_mt.h"
44 #include "isisd/isis_cli.h"
45 #include "isisd/isis_redist.h"
46 #include "lib/spf_backoff.h"
47 #include "lib/lib_errors.h"
48 #include "lib/vrf.h"
49
50 /*
51 * XPath: /frr-isisd:isis/instance
52 */
53 static int isis_instance_create(enum nb_event event,
54 const struct lyd_node *dnode,
55 union nb_resource *resource)
56 {
57 /* TODO: implement me. */
58 return NB_OK;
59 }
60
61 static int isis_instance_delete(enum nb_event event,
62 const struct lyd_node *dnode)
63 {
64 /* TODO: implement me. */
65 return NB_OK;
66 }
67
68 /*
69 * XPath: /frr-isisd:isis/instance/is-type
70 */
71 static int isis_instance_is_type_modify(enum nb_event event,
72 const struct lyd_node *dnode,
73 union nb_resource *resource)
74 {
75 /* TODO: implement me. */
76 return NB_OK;
77 }
78
79 /*
80 * XPath: /frr-isisd:isis/instance/area-address
81 */
82 static int isis_instance_area_address_create(enum nb_event event,
83 const struct lyd_node *dnode,
84 union nb_resource *resource)
85 {
86 /* TODO: implement me. */
87 return NB_OK;
88 }
89
90 static int isis_instance_area_address_delete(enum nb_event event,
91 const struct lyd_node *dnode)
92 {
93 /* TODO: implement me. */
94 return NB_OK;
95 }
96
97 /*
98 * XPath: /frr-isisd:isis/instance/dynamic-hostname
99 */
100 static int isis_instance_dynamic_hostname_modify(enum nb_event event,
101 const struct lyd_node *dnode,
102 union nb_resource *resource)
103 {
104 /* TODO: implement me. */
105 return NB_OK;
106 }
107
108 /*
109 * XPath: /frr-isisd:isis/instance/attached
110 */
111 static int isis_instance_attached_create(enum nb_event event,
112 const struct lyd_node *dnode,
113 union nb_resource *resource)
114 {
115 /* TODO: implement me. */
116 return NB_OK;
117 }
118
119 static int isis_instance_attached_delete(enum nb_event event,
120 const struct lyd_node *dnode)
121 {
122 /* TODO: implement me. */
123 return NB_OK;
124 }
125
126 /*
127 * XPath: /frr-isisd:isis/instance/overload
128 */
129 static int isis_instance_overload_create(enum nb_event event,
130 const struct lyd_node *dnode,
131 union nb_resource *resource)
132 {
133 /* TODO: implement me. */
134 return NB_OK;
135 }
136
137 static int isis_instance_overload_delete(enum nb_event event,
138 const struct lyd_node *dnode)
139 {
140 /* TODO: implement me. */
141 return NB_OK;
142 }
143
144 /*
145 * XPath: /frr-isisd:isis/instance/metric-style
146 */
147 static int isis_instance_metric_style_modify(enum nb_event event,
148 const struct lyd_node *dnode,
149 union nb_resource *resource)
150 {
151 /* TODO: implement me. */
152 return NB_OK;
153 }
154
155 /*
156 * XPath: /frr-isisd:isis/instance/purge-originator
157 */
158 static int isis_instance_purge_originator_create(enum nb_event event,
159 const struct lyd_node *dnode,
160 union nb_resource *resource)
161 {
162 /* TODO: implement me. */
163 return NB_OK;
164 }
165
166 static int isis_instance_purge_originator_delete(enum nb_event event,
167 const struct lyd_node *dnode)
168 {
169 /* TODO: implement me. */
170 return NB_OK;
171 }
172
173 /*
174 * XPath: /frr-isisd:isis/instance/lsp/mtu
175 */
176 static int isis_instance_lsp_mtu_modify(enum nb_event event,
177 const struct lyd_node *dnode,
178 union nb_resource *resource)
179 {
180 /* TODO: implement me. */
181 return NB_OK;
182 }
183
184 /*
185 * XPath: /frr-isisd:isis/instance/lsp/refresh-interval/level-1
186 */
187 static int
188 isis_instance_lsp_refresh_interval_level_1_modify(enum nb_event event,
189 const struct lyd_node *dnode,
190 union nb_resource *resource)
191 {
192 /* TODO: implement me. */
193 return NB_OK;
194 }
195
196 /*
197 * XPath: /frr-isisd:isis/instance/lsp/refresh-interval/level-2
198 */
199 static int
200 isis_instance_lsp_refresh_interval_level_2_modify(enum nb_event event,
201 const struct lyd_node *dnode,
202 union nb_resource *resource)
203 {
204 /* TODO: implement me. */
205 return NB_OK;
206 }
207
208 /*
209 * XPath: /frr-isisd:isis/instance/lsp/maximum-lifetime/level-1
210 */
211 static int
212 isis_instance_lsp_maximum_lifetime_level_1_modify(enum nb_event event,
213 const struct lyd_node *dnode,
214 union nb_resource *resource)
215 {
216 /* TODO: implement me. */
217 return NB_OK;
218 }
219
220 /*
221 * XPath: /frr-isisd:isis/instance/lsp/maximum-lifetime/level-2
222 */
223 static int
224 isis_instance_lsp_maximum_lifetime_level_2_modify(enum nb_event event,
225 const struct lyd_node *dnode,
226 union nb_resource *resource)
227 {
228 /* TODO: implement me. */
229 return NB_OK;
230 }
231
232 /*
233 * XPath: /frr-isisd:isis/instance/lsp/generation-interval/level-1
234 */
235 static int isis_instance_lsp_generation_interval_level_1_modify(
236 enum nb_event event, const struct lyd_node *dnode,
237 union nb_resource *resource)
238 {
239 /* TODO: implement me. */
240 return NB_OK;
241 }
242
243 /*
244 * XPath: /frr-isisd:isis/instance/lsp/generation-interval/level-2
245 */
246 static int isis_instance_lsp_generation_interval_level_2_modify(
247 enum nb_event event, const struct lyd_node *dnode,
248 union nb_resource *resource)
249 {
250 /* TODO: implement me. */
251 return NB_OK;
252 }
253
254 /*
255 * XPath: /frr-isisd:isis/instance/spf/ietf-backoff-delay
256 */
257 static int
258 isis_instance_spf_ietf_backoff_delay_create(enum nb_event event,
259 const struct lyd_node *dnode,
260 union nb_resource *resource)
261 {
262 /* TODO: implement me. */
263 return NB_OK;
264 }
265
266 static int
267 isis_instance_spf_ietf_backoff_delay_delete(enum nb_event event,
268 const struct lyd_node *dnode)
269 {
270 /* TODO: implement me. */
271 return NB_OK;
272 }
273
274 /*
275 * XPath: /frr-isisd:isis/instance/spf/ietf-backoff-delay/init-delay
276 */
277 static int isis_instance_spf_ietf_backoff_delay_init_delay_modify(
278 enum nb_event event, const struct lyd_node *dnode,
279 union nb_resource *resource)
280 {
281 /* TODO: implement me. */
282 return NB_OK;
283 }
284
285 /*
286 * XPath: /frr-isisd:isis/instance/spf/ietf-backoff-delay/short-delay
287 */
288 static int isis_instance_spf_ietf_backoff_delay_short_delay_modify(
289 enum nb_event event, const struct lyd_node *dnode,
290 union nb_resource *resource)
291 {
292 /* TODO: implement me. */
293 return NB_OK;
294 }
295
296 /*
297 * XPath: /frr-isisd:isis/instance/spf/ietf-backoff-delay/long-delay
298 */
299 static int isis_instance_spf_ietf_backoff_delay_long_delay_modify(
300 enum nb_event event, const struct lyd_node *dnode,
301 union nb_resource *resource)
302 {
303 /* TODO: implement me. */
304 return NB_OK;
305 }
306
307 /*
308 * XPath: /frr-isisd:isis/instance/spf/ietf-backoff-delay/hold-down
309 */
310 static int isis_instance_spf_ietf_backoff_delay_hold_down_modify(
311 enum nb_event event, const struct lyd_node *dnode,
312 union nb_resource *resource)
313 {
314 /* TODO: implement me. */
315 return NB_OK;
316 }
317
318 /*
319 * XPath: /frr-isisd:isis/instance/spf/ietf-backoff-delay/time-to-learn
320 */
321 static int isis_instance_spf_ietf_backoff_delay_time_to_learn_modify(
322 enum nb_event event, const struct lyd_node *dnode,
323 union nb_resource *resource)
324 {
325 /* TODO: implement me. */
326 return NB_OK;
327 }
328
329 /*
330 * XPath: /frr-isisd:isis/instance/spf/minimum-interval/level-1
331 */
332 static int
333 isis_instance_spf_minimum_interval_level_1_modify(enum nb_event event,
334 const struct lyd_node *dnode,
335 union nb_resource *resource)
336 {
337 /* TODO: implement me. */
338 return NB_OK;
339 }
340
341 /*
342 * XPath: /frr-isisd:isis/instance/spf/minimum-interval/level-2
343 */
344 static int
345 isis_instance_spf_minimum_interval_level_2_modify(enum nb_event event,
346 const struct lyd_node *dnode,
347 union nb_resource *resource)
348 {
349 /* TODO: implement me. */
350 return NB_OK;
351 }
352
353 /*
354 * XPath: /frr-isisd:isis/instance/area-password
355 */
356 static int isis_instance_area_password_create(enum nb_event event,
357 const struct lyd_node *dnode,
358 union nb_resource *resource)
359 {
360 /* TODO: implement me. */
361 return NB_OK;
362 }
363
364 static int isis_instance_area_password_delete(enum nb_event event,
365 const struct lyd_node *dnode)
366 {
367 /* TODO: implement me. */
368 return NB_OK;
369 }
370
371 /*
372 * XPath: /frr-isisd:isis/instance/area-password/password
373 */
374 static int
375 isis_instance_area_password_password_modify(enum nb_event event,
376 const struct lyd_node *dnode,
377 union nb_resource *resource)
378 {
379 /* TODO: implement me. */
380 return NB_OK;
381 }
382
383 /*
384 * XPath: /frr-isisd:isis/instance/area-password/password-type
385 */
386 static int
387 isis_instance_area_password_password_type_modify(enum nb_event event,
388 const struct lyd_node *dnode,
389 union nb_resource *resource)
390 {
391 /* TODO: implement me. */
392 return NB_OK;
393 }
394
395 /*
396 * XPath: /frr-isisd:isis/instance/area-password/authenticate-snp
397 */
398 static int isis_instance_area_password_authenticate_snp_modify(
399 enum nb_event event, const struct lyd_node *dnode,
400 union nb_resource *resource)
401 {
402 /* TODO: implement me. */
403 return NB_OK;
404 }
405
406 /*
407 * XPath: /frr-isisd:isis/instance/domain-password
408 */
409 static int isis_instance_domain_password_create(enum nb_event event,
410 const struct lyd_node *dnode,
411 union nb_resource *resource)
412 {
413 /* TODO: implement me. */
414 return NB_OK;
415 }
416
417 static int isis_instance_domain_password_delete(enum nb_event event,
418 const struct lyd_node *dnode)
419 {
420 /* TODO: implement me. */
421 return NB_OK;
422 }
423
424 /*
425 * XPath: /frr-isisd:isis/instance/domain-password/password
426 */
427 static int
428 isis_instance_domain_password_password_modify(enum nb_event event,
429 const struct lyd_node *dnode,
430 union nb_resource *resource)
431 {
432 /* TODO: implement me. */
433 return NB_OK;
434 }
435
436 /*
437 * XPath: /frr-isisd:isis/instance/domain-password/password-type
438 */
439 static int
440 isis_instance_domain_password_password_type_modify(enum nb_event event,
441 const struct lyd_node *dnode,
442 union nb_resource *resource)
443 {
444 /* TODO: implement me. */
445 return NB_OK;
446 }
447
448 /*
449 * XPath: /frr-isisd:isis/instance/domain-password/authenticate-snp
450 */
451 static int isis_instance_domain_password_authenticate_snp_modify(
452 enum nb_event event, const struct lyd_node *dnode,
453 union nb_resource *resource)
454 {
455 /* TODO: implement me. */
456 return NB_OK;
457 }
458
459 /*
460 * XPath: /frr-isisd:isis/instance/default-information-originate/ipv4
461 */
462 static int isis_instance_default_information_originate_ipv4_create(
463 enum nb_event event, const struct lyd_node *dnode,
464 union nb_resource *resource)
465 {
466 /* TODO: implement me. */
467 return NB_OK;
468 }
469
470 static int isis_instance_default_information_originate_ipv4_delete(
471 enum nb_event event, const struct lyd_node *dnode)
472 {
473 /* TODO: implement me. */
474 return NB_OK;
475 }
476
477 /*
478 * XPath: /frr-isisd:isis/instance/default-information-originate/ipv4/always
479 */
480 static int isis_instance_default_information_originate_ipv4_always_create(
481 enum nb_event event, const struct lyd_node *dnode,
482 union nb_resource *resource)
483 {
484 /* TODO: implement me. */
485 return NB_OK;
486 }
487
488 static int isis_instance_default_information_originate_ipv4_always_delete(
489 enum nb_event event, const struct lyd_node *dnode)
490 {
491 /* TODO: implement me. */
492 return NB_OK;
493 }
494
495 /*
496 * XPath: /frr-isisd:isis/instance/default-information-originate/ipv4/route-map
497 */
498 static int isis_instance_default_information_originate_ipv4_route_map_modify(
499 enum nb_event event, const struct lyd_node *dnode,
500 union nb_resource *resource)
501 {
502 /* TODO: implement me. */
503 return NB_OK;
504 }
505
506 static int isis_instance_default_information_originate_ipv4_route_map_delete(
507 enum nb_event event, const struct lyd_node *dnode)
508 {
509 /* TODO: implement me. */
510 return NB_OK;
511 }
512
513 /*
514 * XPath: /frr-isisd:isis/instance/default-information-originate/ipv4/metric
515 */
516 static int isis_instance_default_information_originate_ipv4_metric_modify(
517 enum nb_event event, const struct lyd_node *dnode,
518 union nb_resource *resource)
519 {
520 /* TODO: implement me. */
521 return NB_OK;
522 }
523
524 static int isis_instance_default_information_originate_ipv4_metric_delete(
525 enum nb_event event, const struct lyd_node *dnode)
526 {
527 /* TODO: implement me. */
528 return NB_OK;
529 }
530
531 /*
532 * XPath: /frr-isisd:isis/instance/default-information-originate/ipv6
533 */
534 static int isis_instance_default_information_originate_ipv6_create(
535 enum nb_event event, const struct lyd_node *dnode,
536 union nb_resource *resource)
537 {
538 /* TODO: implement me. */
539 return NB_OK;
540 }
541
542 static int isis_instance_default_information_originate_ipv6_delete(
543 enum nb_event event, const struct lyd_node *dnode)
544 {
545 /* TODO: implement me. */
546 return NB_OK;
547 }
548
549 /*
550 * XPath: /frr-isisd:isis/instance/default-information-originate/ipv6/always
551 */
552 static int isis_instance_default_information_originate_ipv6_always_create(
553 enum nb_event event, const struct lyd_node *dnode,
554 union nb_resource *resource)
555 {
556 /* TODO: implement me. */
557 return NB_OK;
558 }
559
560 static int isis_instance_default_information_originate_ipv6_always_delete(
561 enum nb_event event, const struct lyd_node *dnode)
562 {
563 /* TODO: implement me. */
564 return NB_OK;
565 }
566
567 /*
568 * XPath: /frr-isisd:isis/instance/default-information-originate/ipv6/route-map
569 */
570 static int isis_instance_default_information_originate_ipv6_route_map_modify(
571 enum nb_event event, const struct lyd_node *dnode,
572 union nb_resource *resource)
573 {
574 /* TODO: implement me. */
575 return NB_OK;
576 }
577
578 static int isis_instance_default_information_originate_ipv6_route_map_delete(
579 enum nb_event event, const struct lyd_node *dnode)
580 {
581 /* TODO: implement me. */
582 return NB_OK;
583 }
584
585 /*
586 * XPath: /frr-isisd:isis/instance/default-information-originate/ipv6/metric
587 */
588 static int isis_instance_default_information_originate_ipv6_metric_modify(
589 enum nb_event event, const struct lyd_node *dnode,
590 union nb_resource *resource)
591 {
592 /* TODO: implement me. */
593 return NB_OK;
594 }
595
596 static int isis_instance_default_information_originate_ipv6_metric_delete(
597 enum nb_event event, const struct lyd_node *dnode)
598 {
599 /* TODO: implement me. */
600 return NB_OK;
601 }
602
603 /*
604 * XPath: /frr-isisd:isis/instance/redistribute/ipv4
605 */
606 static int isis_instance_redistribute_ipv4_create(enum nb_event event,
607 const struct lyd_node *dnode,
608 union nb_resource *resource)
609 {
610 /* TODO: implement me. */
611 return NB_OK;
612 }
613
614 static int isis_instance_redistribute_ipv4_delete(enum nb_event event,
615 const struct lyd_node *dnode)
616 {
617 /* TODO: implement me. */
618 return NB_OK;
619 }
620
621 /*
622 * XPath: /frr-isisd:isis/instance/redistribute/ipv4/route-map
623 */
624 static int
625 isis_instance_redistribute_ipv4_route_map_modify(enum nb_event event,
626 const struct lyd_node *dnode,
627 union nb_resource *resource)
628 {
629 /* TODO: implement me. */
630 return NB_OK;
631 }
632
633 static int
634 isis_instance_redistribute_ipv4_route_map_delete(enum nb_event event,
635 const struct lyd_node *dnode)
636 {
637 /* TODO: implement me. */
638 return NB_OK;
639 }
640
641 /*
642 * XPath: /frr-isisd:isis/instance/redistribute/ipv4/metric
643 */
644 static int
645 isis_instance_redistribute_ipv4_metric_modify(enum nb_event event,
646 const struct lyd_node *dnode,
647 union nb_resource *resource)
648 {
649 /* TODO: implement me. */
650 return NB_OK;
651 }
652
653 static int
654 isis_instance_redistribute_ipv4_metric_delete(enum nb_event event,
655 const struct lyd_node *dnode)
656 {
657 /* TODO: implement me. */
658 return NB_OK;
659 }
660
661 /*
662 * XPath: /frr-isisd:isis/instance/redistribute/ipv6
663 */
664 static int isis_instance_redistribute_ipv6_create(enum nb_event event,
665 const struct lyd_node *dnode,
666 union nb_resource *resource)
667 {
668 /* TODO: implement me. */
669 return NB_OK;
670 }
671
672 static int isis_instance_redistribute_ipv6_delete(enum nb_event event,
673 const struct lyd_node *dnode)
674 {
675 /* TODO: implement me. */
676 return NB_OK;
677 }
678
679 /*
680 * XPath: /frr-isisd:isis/instance/redistribute/ipv6/route-map
681 */
682 static int
683 isis_instance_redistribute_ipv6_route_map_modify(enum nb_event event,
684 const struct lyd_node *dnode,
685 union nb_resource *resource)
686 {
687 /* TODO: implement me. */
688 return NB_OK;
689 }
690
691 static int
692 isis_instance_redistribute_ipv6_route_map_delete(enum nb_event event,
693 const struct lyd_node *dnode)
694 {
695 /* TODO: implement me. */
696 return NB_OK;
697 }
698
699 /*
700 * XPath: /frr-isisd:isis/instance/redistribute/ipv6/metric
701 */
702 static int
703 isis_instance_redistribute_ipv6_metric_modify(enum nb_event event,
704 const struct lyd_node *dnode,
705 union nb_resource *resource)
706 {
707 /* TODO: implement me. */
708 return NB_OK;
709 }
710
711 static int
712 isis_instance_redistribute_ipv6_metric_delete(enum nb_event event,
713 const struct lyd_node *dnode)
714 {
715 /* TODO: implement me. */
716 return NB_OK;
717 }
718
719 /*
720 * XPath: /frr-isisd:isis/instance/multi-topology/ipv4-multicast
721 */
722 static int
723 isis_instance_multi_topology_ipv4_multicast_create(enum nb_event event,
724 const struct lyd_node *dnode,
725 union nb_resource *resource)
726 {
727 /* TODO: implement me. */
728 return NB_OK;
729 }
730
731 static int
732 isis_instance_multi_topology_ipv4_multicast_delete(enum nb_event event,
733 const struct lyd_node *dnode)
734 {
735 /* TODO: implement me. */
736 return NB_OK;
737 }
738
739 /*
740 * XPath: /frr-isisd:isis/instance/multi-topology/ipv4-multicast/overload
741 */
742 static int isis_instance_multi_topology_ipv4_multicast_overload_create(
743 enum nb_event event, const struct lyd_node *dnode,
744 union nb_resource *resource)
745 {
746 /* TODO: implement me. */
747 return NB_OK;
748 }
749
750 static int isis_instance_multi_topology_ipv4_multicast_overload_delete(
751 enum nb_event event, const struct lyd_node *dnode)
752 {
753 /* TODO: implement me. */
754 return NB_OK;
755 }
756
757 /*
758 * XPath: /frr-isisd:isis/instance/multi-topology/ipv4-management
759 */
760 static int isis_instance_multi_topology_ipv4_management_create(
761 enum nb_event event, const struct lyd_node *dnode,
762 union nb_resource *resource)
763 {
764 /* TODO: implement me. */
765 return NB_OK;
766 }
767
768 static int isis_instance_multi_topology_ipv4_management_delete(
769 enum nb_event event, const struct lyd_node *dnode)
770 {
771 /* TODO: implement me. */
772 return NB_OK;
773 }
774
775 /*
776 * XPath: /frr-isisd:isis/instance/multi-topology/ipv4-management/overload
777 */
778 static int isis_instance_multi_topology_ipv4_management_overload_create(
779 enum nb_event event, const struct lyd_node *dnode,
780 union nb_resource *resource)
781 {
782 /* TODO: implement me. */
783 return NB_OK;
784 }
785
786 static int isis_instance_multi_topology_ipv4_management_overload_delete(
787 enum nb_event event, const struct lyd_node *dnode)
788 {
789 /* TODO: implement me. */
790 return NB_OK;
791 }
792
793 /*
794 * XPath: /frr-isisd:isis/instance/multi-topology/ipv6-unicast
795 */
796 static int
797 isis_instance_multi_topology_ipv6_unicast_create(enum nb_event event,
798 const struct lyd_node *dnode,
799 union nb_resource *resource)
800 {
801 /* TODO: implement me. */
802 return NB_OK;
803 }
804
805 static int
806 isis_instance_multi_topology_ipv6_unicast_delete(enum nb_event event,
807 const struct lyd_node *dnode)
808 {
809 /* TODO: implement me. */
810 return NB_OK;
811 }
812
813 /*
814 * XPath: /frr-isisd:isis/instance/multi-topology/ipv6-unicast/overload
815 */
816 static int isis_instance_multi_topology_ipv6_unicast_overload_create(
817 enum nb_event event, const struct lyd_node *dnode,
818 union nb_resource *resource)
819 {
820 /* TODO: implement me. */
821 return NB_OK;
822 }
823
824 static int isis_instance_multi_topology_ipv6_unicast_overload_delete(
825 enum nb_event event, const struct lyd_node *dnode)
826 {
827 /* TODO: implement me. */
828 return NB_OK;
829 }
830
831 /*
832 * XPath: /frr-isisd:isis/instance/multi-topology/ipv6-multicast
833 */
834 static int
835 isis_instance_multi_topology_ipv6_multicast_create(enum nb_event event,
836 const struct lyd_node *dnode,
837 union nb_resource *resource)
838 {
839 /* TODO: implement me. */
840 return NB_OK;
841 }
842
843 static int
844 isis_instance_multi_topology_ipv6_multicast_delete(enum nb_event event,
845 const struct lyd_node *dnode)
846 {
847 /* TODO: implement me. */
848 return NB_OK;
849 }
850
851 /*
852 * XPath: /frr-isisd:isis/instance/multi-topology/ipv6-multicast/overload
853 */
854 static int isis_instance_multi_topology_ipv6_multicast_overload_create(
855 enum nb_event event, const struct lyd_node *dnode,
856 union nb_resource *resource)
857 {
858 /* TODO: implement me. */
859 return NB_OK;
860 }
861
862 static int isis_instance_multi_topology_ipv6_multicast_overload_delete(
863 enum nb_event event, const struct lyd_node *dnode)
864 {
865 /* TODO: implement me. */
866 return NB_OK;
867 }
868
869 /*
870 * XPath: /frr-isisd:isis/instance/multi-topology/ipv6-management
871 */
872 static int isis_instance_multi_topology_ipv6_management_create(
873 enum nb_event event, const struct lyd_node *dnode,
874 union nb_resource *resource)
875 {
876 /* TODO: implement me. */
877 return NB_OK;
878 }
879
880 static int isis_instance_multi_topology_ipv6_management_delete(
881 enum nb_event event, const struct lyd_node *dnode)
882 {
883 /* TODO: implement me. */
884 return NB_OK;
885 }
886
887 /*
888 * XPath: /frr-isisd:isis/instance/multi-topology/ipv6-management/overload
889 */
890 static int isis_instance_multi_topology_ipv6_management_overload_create(
891 enum nb_event event, const struct lyd_node *dnode,
892 union nb_resource *resource)
893 {
894 /* TODO: implement me. */
895 return NB_OK;
896 }
897
898 static int isis_instance_multi_topology_ipv6_management_overload_delete(
899 enum nb_event event, const struct lyd_node *dnode)
900 {
901 /* TODO: implement me. */
902 return NB_OK;
903 }
904
905 /*
906 * XPath: /frr-isisd:isis/instance/multi-topology/ipv6-dstsrc
907 */
908 static int
909 isis_instance_multi_topology_ipv6_dstsrc_create(enum nb_event event,
910 const struct lyd_node *dnode,
911 union nb_resource *resource)
912 {
913 /* TODO: implement me. */
914 return NB_OK;
915 }
916
917 static int
918 isis_instance_multi_topology_ipv6_dstsrc_delete(enum nb_event event,
919 const struct lyd_node *dnode)
920 {
921 /* TODO: implement me. */
922 return NB_OK;
923 }
924
925 /*
926 * XPath: /frr-isisd:isis/instance/multi-topology/ipv6-dstsrc/overload
927 */
928 static int isis_instance_multi_topology_ipv6_dstsrc_overload_create(
929 enum nb_event event, const struct lyd_node *dnode,
930 union nb_resource *resource)
931 {
932 /* TODO: implement me. */
933 return NB_OK;
934 }
935
936 static int isis_instance_multi_topology_ipv6_dstsrc_overload_delete(
937 enum nb_event event, const struct lyd_node *dnode)
938 {
939 /* TODO: implement me. */
940 return NB_OK;
941 }
942
943 /*
944 * XPath: /frr-isisd:isis/instance/log-adjacency-changes
945 */
946 static int
947 isis_instance_log_adjacency_changes_create(enum nb_event event,
948 const struct lyd_node *dnode,
949 union nb_resource *resource)
950 {
951 /* TODO: implement me. */
952 return NB_OK;
953 }
954
955 static int
956 isis_instance_log_adjacency_changes_delete(enum nb_event event,
957 const struct lyd_node *dnode)
958 {
959 /* TODO: implement me. */
960 return NB_OK;
961 }
962
963 /*
964 * XPath: /frr-isisd:isis/mpls-te
965 */
966 static int isis_mpls_te_create(enum nb_event event,
967 const struct lyd_node *dnode,
968 union nb_resource *resource)
969 {
970 /* TODO: implement me. */
971 return NB_OK;
972 }
973
974 static int isis_mpls_te_delete(enum nb_event event,
975 const struct lyd_node *dnode)
976 {
977 /* TODO: implement me. */
978 return NB_OK;
979 }
980
981 /*
982 * XPath: /frr-isisd:isis/mpls-te/router-address
983 */
984 static int isis_mpls_te_router_address_modify(enum nb_event event,
985 const struct lyd_node *dnode,
986 union nb_resource *resource)
987 {
988 /* TODO: implement me. */
989 return NB_OK;
990 }
991
992 static int isis_mpls_te_router_address_delete(enum nb_event event,
993 const struct lyd_node *dnode)
994 {
995 /* TODO: implement me. */
996 return NB_OK;
997 }
998
999 /*
1000 * XPath: /frr-interface:lib/interface/frr-isisd:isis
1001 */
1002 static int lib_interface_isis_create(enum nb_event event,
1003 const struct lyd_node *dnode,
1004 union nb_resource *resource)
1005 {
1006 /* TODO: implement me. */
1007 return NB_OK;
1008 }
1009
1010 static int lib_interface_isis_delete(enum nb_event event,
1011 const struct lyd_node *dnode)
1012 {
1013 /* TODO: implement me. */
1014 return NB_OK;
1015 }
1016
1017 /*
1018 * XPath: /frr-interface:lib/interface/frr-isisd:isis/area-tag
1019 */
1020 static int lib_interface_isis_area_tag_modify(enum nb_event event,
1021 const struct lyd_node *dnode,
1022 union nb_resource *resource)
1023 {
1024 /* TODO: implement me. */
1025 return NB_OK;
1026 }
1027
1028 /*
1029 * XPath: /frr-interface:lib/interface/frr-isisd:isis/circuit-type
1030 */
1031 static int lib_interface_isis_circuit_type_modify(enum nb_event event,
1032 const struct lyd_node *dnode,
1033 union nb_resource *resource)
1034 {
1035 /* TODO: implement me. */
1036 return NB_OK;
1037 }
1038
1039 /*
1040 * XPath: /frr-interface:lib/interface/frr-isisd:isis/ipv4-routing
1041 */
1042 static int lib_interface_isis_ipv4_routing_create(enum nb_event event,
1043 const struct lyd_node *dnode,
1044 union nb_resource *resource)
1045 {
1046 /* TODO: implement me. */
1047 return NB_OK;
1048 }
1049
1050 static int lib_interface_isis_ipv4_routing_delete(enum nb_event event,
1051 const struct lyd_node *dnode)
1052 {
1053 /* TODO: implement me. */
1054 return NB_OK;
1055 }
1056
1057 /*
1058 * XPath: /frr-interface:lib/interface/frr-isisd:isis/ipv6-routing
1059 */
1060 static int lib_interface_isis_ipv6_routing_create(enum nb_event event,
1061 const struct lyd_node *dnode,
1062 union nb_resource *resource)
1063 {
1064 /* TODO: implement me. */
1065 return NB_OK;
1066 }
1067
1068 static int lib_interface_isis_ipv6_routing_delete(enum nb_event event,
1069 const struct lyd_node *dnode)
1070 {
1071 /* TODO: implement me. */
1072 return NB_OK;
1073 }
1074
1075 /*
1076 * XPath: /frr-interface:lib/interface/frr-isisd:isis/csnp-interval/level-1
1077 */
1078 static int
1079 lib_interface_isis_csnp_interval_level_1_modify(enum nb_event event,
1080 const struct lyd_node *dnode,
1081 union nb_resource *resource)
1082 {
1083 /* TODO: implement me. */
1084 return NB_OK;
1085 }
1086
1087 /*
1088 * XPath: /frr-interface:lib/interface/frr-isisd:isis/csnp-interval/level-2
1089 */
1090 static int
1091 lib_interface_isis_csnp_interval_level_2_modify(enum nb_event event,
1092 const struct lyd_node *dnode,
1093 union nb_resource *resource)
1094 {
1095 /* TODO: implement me. */
1096 return NB_OK;
1097 }
1098
1099 /*
1100 * XPath: /frr-interface:lib/interface/frr-isisd:isis/psnp-interval/level-1
1101 */
1102 static int
1103 lib_interface_isis_psnp_interval_level_1_modify(enum nb_event event,
1104 const struct lyd_node *dnode,
1105 union nb_resource *resource)
1106 {
1107 /* TODO: implement me. */
1108 return NB_OK;
1109 }
1110
1111 /*
1112 * XPath: /frr-interface:lib/interface/frr-isisd:isis/psnp-interval/level-2
1113 */
1114 static int
1115 lib_interface_isis_psnp_interval_level_2_modify(enum nb_event event,
1116 const struct lyd_node *dnode,
1117 union nb_resource *resource)
1118 {
1119 /* TODO: implement me. */
1120 return NB_OK;
1121 }
1122
1123 /*
1124 * XPath: /frr-interface:lib/interface/frr-isisd:isis/hello/padding
1125 */
1126 static int lib_interface_isis_hello_padding_modify(enum nb_event event,
1127 const struct lyd_node *dnode,
1128 union nb_resource *resource)
1129 {
1130 /* TODO: implement me. */
1131 return NB_OK;
1132 }
1133
1134 /*
1135 * XPath: /frr-interface:lib/interface/frr-isisd:isis/hello/interval/level-1
1136 */
1137 static int
1138 lib_interface_isis_hello_interval_level_1_modify(enum nb_event event,
1139 const struct lyd_node *dnode,
1140 union nb_resource *resource)
1141 {
1142 /* TODO: implement me. */
1143 return NB_OK;
1144 }
1145
1146 /*
1147 * XPath: /frr-interface:lib/interface/frr-isisd:isis/hello/interval/level-2
1148 */
1149 static int
1150 lib_interface_isis_hello_interval_level_2_modify(enum nb_event event,
1151 const struct lyd_node *dnode,
1152 union nb_resource *resource)
1153 {
1154 /* TODO: implement me. */
1155 return NB_OK;
1156 }
1157
1158 /*
1159 * XPath: /frr-interface:lib/interface/frr-isisd:isis/hello/multiplier/level-1
1160 */
1161 static int
1162 lib_interface_isis_hello_multiplier_level_1_modify(enum nb_event event,
1163 const struct lyd_node *dnode,
1164 union nb_resource *resource)
1165 {
1166 /* TODO: implement me. */
1167 return NB_OK;
1168 }
1169
1170 /*
1171 * XPath: /frr-interface:lib/interface/frr-isisd:isis/hello/multiplier/level-2
1172 */
1173 static int
1174 lib_interface_isis_hello_multiplier_level_2_modify(enum nb_event event,
1175 const struct lyd_node *dnode,
1176 union nb_resource *resource)
1177 {
1178 /* TODO: implement me. */
1179 return NB_OK;
1180 }
1181
1182 /*
1183 * XPath: /frr-interface:lib/interface/frr-isisd:isis/metric/level-1
1184 */
1185 static int
1186 lib_interface_isis_metric_level_1_modify(enum nb_event event,
1187 const struct lyd_node *dnode,
1188 union nb_resource *resource)
1189 {
1190 /* TODO: implement me. */
1191 return NB_OK;
1192 }
1193
1194 /*
1195 * XPath: /frr-interface:lib/interface/frr-isisd:isis/metric/level-2
1196 */
1197 static int
1198 lib_interface_isis_metric_level_2_modify(enum nb_event event,
1199 const struct lyd_node *dnode,
1200 union nb_resource *resource)
1201 {
1202 /* TODO: implement me. */
1203 return NB_OK;
1204 }
1205
1206 /*
1207 * XPath: /frr-interface:lib/interface/frr-isisd:isis/priority/level-1
1208 */
1209 static int
1210 lib_interface_isis_priority_level_1_modify(enum nb_event event,
1211 const struct lyd_node *dnode,
1212 union nb_resource *resource)
1213 {
1214 /* TODO: implement me. */
1215 return NB_OK;
1216 }
1217
1218 /*
1219 * XPath: /frr-interface:lib/interface/frr-isisd:isis/priority/level-2
1220 */
1221 static int
1222 lib_interface_isis_priority_level_2_modify(enum nb_event event,
1223 const struct lyd_node *dnode,
1224 union nb_resource *resource)
1225 {
1226 /* TODO: implement me. */
1227 return NB_OK;
1228 }
1229
1230 /*
1231 * XPath: /frr-interface:lib/interface/frr-isisd:isis/network-type
1232 */
1233 static int lib_interface_isis_network_type_modify(enum nb_event event,
1234 const struct lyd_node *dnode,
1235 union nb_resource *resource)
1236 {
1237 /* TODO: implement me. */
1238 return NB_OK;
1239 }
1240
1241 static int lib_interface_isis_network_type_delete(enum nb_event event,
1242 const struct lyd_node *dnode)
1243 {
1244 /* TODO: implement me. */
1245 return NB_OK;
1246 }
1247
1248 /*
1249 * XPath: /frr-interface:lib/interface/frr-isisd:isis/passive
1250 */
1251 static int lib_interface_isis_passive_create(enum nb_event event,
1252 const struct lyd_node *dnode,
1253 union nb_resource *resource)
1254 {
1255 /* TODO: implement me. */
1256 return NB_OK;
1257 }
1258
1259 static int lib_interface_isis_passive_delete(enum nb_event event,
1260 const struct lyd_node *dnode)
1261 {
1262 /* TODO: implement me. */
1263 return NB_OK;
1264 }
1265
1266 /*
1267 * XPath: /frr-interface:lib/interface/frr-isisd:isis/password
1268 */
1269 static int lib_interface_isis_password_create(enum nb_event event,
1270 const struct lyd_node *dnode,
1271 union nb_resource *resource)
1272 {
1273 /* TODO: implement me. */
1274 return NB_OK;
1275 }
1276
1277 static int lib_interface_isis_password_delete(enum nb_event event,
1278 const struct lyd_node *dnode)
1279 {
1280 /* TODO: implement me. */
1281 return NB_OK;
1282 }
1283
1284 /*
1285 * XPath: /frr-interface:lib/interface/frr-isisd:isis/password/password
1286 */
1287 static int
1288 lib_interface_isis_password_password_modify(enum nb_event event,
1289 const struct lyd_node *dnode,
1290 union nb_resource *resource)
1291 {
1292 /* TODO: implement me. */
1293 return NB_OK;
1294 }
1295
1296 /*
1297 * XPath: /frr-interface:lib/interface/frr-isisd:isis/password/password-type
1298 */
1299 static int
1300 lib_interface_isis_password_password_type_modify(enum nb_event event,
1301 const struct lyd_node *dnode,
1302 union nb_resource *resource)
1303 {
1304 /* TODO: implement me. */
1305 return NB_OK;
1306 }
1307
1308 /*
1309 * XPath:
1310 * /frr-interface:lib/interface/frr-isisd:isis/disable-three-way-handshake
1311 */
1312 static int lib_interface_isis_disable_three_way_handshake_create(
1313 enum nb_event event, const struct lyd_node *dnode,
1314 union nb_resource *resource)
1315 {
1316 /* TODO: implement me. */
1317 return NB_OK;
1318 }
1319
1320 static int lib_interface_isis_disable_three_way_handshake_delete(
1321 enum nb_event event, const struct lyd_node *dnode)
1322 {
1323 /* TODO: implement me. */
1324 return NB_OK;
1325 }
1326
1327 /*
1328 * XPath:
1329 * /frr-interface:lib/interface/frr-isisd:isis/multi-topology/ipv4-unicast
1330 */
1331 static int lib_interface_isis_multi_topology_ipv4_unicast_modify(
1332 enum nb_event event, const struct lyd_node *dnode,
1333 union nb_resource *resource)
1334 {
1335 /* TODO: implement me. */
1336 return NB_OK;
1337 }
1338
1339 /*
1340 * XPath:
1341 * /frr-interface:lib/interface/frr-isisd:isis/multi-topology/ipv4-multicast
1342 */
1343 static int lib_interface_isis_multi_topology_ipv4_multicast_modify(
1344 enum nb_event event, const struct lyd_node *dnode,
1345 union nb_resource *resource)
1346 {
1347 /* TODO: implement me. */
1348 return NB_OK;
1349 }
1350
1351 /*
1352 * XPath:
1353 * /frr-interface:lib/interface/frr-isisd:isis/multi-topology/ipv4-management
1354 */
1355 static int lib_interface_isis_multi_topology_ipv4_management_modify(
1356 enum nb_event event, const struct lyd_node *dnode,
1357 union nb_resource *resource)
1358 {
1359 /* TODO: implement me. */
1360 return NB_OK;
1361 }
1362
1363 /*
1364 * XPath:
1365 * /frr-interface:lib/interface/frr-isisd:isis/multi-topology/ipv6-unicast
1366 */
1367 static int lib_interface_isis_multi_topology_ipv6_unicast_modify(
1368 enum nb_event event, const struct lyd_node *dnode,
1369 union nb_resource *resource)
1370 {
1371 /* TODO: implement me. */
1372 return NB_OK;
1373 }
1374
1375 /*
1376 * XPath:
1377 * /frr-interface:lib/interface/frr-isisd:isis/multi-topology/ipv6-multicast
1378 */
1379 static int lib_interface_isis_multi_topology_ipv6_multicast_modify(
1380 enum nb_event event, const struct lyd_node *dnode,
1381 union nb_resource *resource)
1382 {
1383 /* TODO: implement me. */
1384 return NB_OK;
1385 }
1386
1387 /*
1388 * XPath:
1389 * /frr-interface:lib/interface/frr-isisd:isis/multi-topology/ipv6-management
1390 */
1391 static int lib_interface_isis_multi_topology_ipv6_management_modify(
1392 enum nb_event event, const struct lyd_node *dnode,
1393 union nb_resource *resource)
1394 {
1395 /* TODO: implement me. */
1396 return NB_OK;
1397 }
1398
1399 /*
1400 * XPath: /frr-interface:lib/interface/frr-isisd:isis/multi-topology/ipv6-dstsrc
1401 */
1402 static int lib_interface_isis_multi_topology_ipv6_dstsrc_modify(
1403 enum nb_event event, const struct lyd_node *dnode,
1404 union nb_resource *resource)
1405 {
1406 /* TODO: implement me. */
1407 return NB_OK;
1408 }
1409
1410 /* clang-format off */
1411 const struct frr_yang_module_info frr_isisd_info = {
1412 .name = "frr-isisd",
1413 .nodes = {
1414 {
1415 .xpath = "/frr-isisd:isis/instance",
1416 .cbs.create = isis_instance_create,
1417 .cbs.delete = isis_instance_delete,
1418 },
1419 {
1420 .xpath = "/frr-isisd:isis/instance/is-type",
1421 .cbs.modify = isis_instance_is_type_modify,
1422 },
1423 {
1424 .xpath = "/frr-isisd:isis/instance/area-address",
1425 .cbs.create = isis_instance_area_address_create,
1426 .cbs.delete = isis_instance_area_address_delete,
1427 },
1428 {
1429 .xpath = "/frr-isisd:isis/instance/dynamic-hostname",
1430 .cbs.modify = isis_instance_dynamic_hostname_modify,
1431 },
1432 {
1433 .xpath = "/frr-isisd:isis/instance/attached",
1434 .cbs.create = isis_instance_attached_create,
1435 .cbs.delete = isis_instance_attached_delete,
1436 },
1437 {
1438 .xpath = "/frr-isisd:isis/instance/overload",
1439 .cbs.create = isis_instance_overload_create,
1440 .cbs.delete = isis_instance_overload_delete,
1441 },
1442 {
1443 .xpath = "/frr-isisd:isis/instance/metric-style",
1444 .cbs.modify = isis_instance_metric_style_modify,
1445 },
1446 {
1447 .xpath = "/frr-isisd:isis/instance/purge-originator",
1448 .cbs.create = isis_instance_purge_originator_create,
1449 .cbs.delete = isis_instance_purge_originator_delete,
1450 },
1451 {
1452 .xpath = "/frr-isisd:isis/instance/lsp/mtu",
1453 .cbs.modify = isis_instance_lsp_mtu_modify,
1454 },
1455 {
1456 .xpath = "/frr-isisd:isis/instance/lsp/refresh-interval/level-1",
1457 .cbs.modify = isis_instance_lsp_refresh_interval_level_1_modify,
1458 },
1459 {
1460 .xpath = "/frr-isisd:isis/instance/lsp/refresh-interval/level-2",
1461 .cbs.modify = isis_instance_lsp_refresh_interval_level_2_modify,
1462 },
1463 {
1464 .xpath = "/frr-isisd:isis/instance/lsp/maximum-lifetime/level-1",
1465 .cbs.modify = isis_instance_lsp_maximum_lifetime_level_1_modify,
1466 },
1467 {
1468 .xpath = "/frr-isisd:isis/instance/lsp/maximum-lifetime/level-2",
1469 .cbs.modify = isis_instance_lsp_maximum_lifetime_level_2_modify,
1470 },
1471 {
1472 .xpath = "/frr-isisd:isis/instance/lsp/generation-interval/level-1",
1473 .cbs.modify = isis_instance_lsp_generation_interval_level_1_modify,
1474 },
1475 {
1476 .xpath = "/frr-isisd:isis/instance/lsp/generation-interval/level-2",
1477 .cbs.modify = isis_instance_lsp_generation_interval_level_2_modify,
1478 },
1479 {
1480 .xpath = "/frr-isisd:isis/instance/spf/ietf-backoff-delay",
1481 .cbs.create = isis_instance_spf_ietf_backoff_delay_create,
1482 .cbs.delete = isis_instance_spf_ietf_backoff_delay_delete,
1483 },
1484 {
1485 .xpath = "/frr-isisd:isis/instance/spf/ietf-backoff-delay/init-delay",
1486 .cbs.modify = isis_instance_spf_ietf_backoff_delay_init_delay_modify,
1487 },
1488 {
1489 .xpath = "/frr-isisd:isis/instance/spf/ietf-backoff-delay/short-delay",
1490 .cbs.modify = isis_instance_spf_ietf_backoff_delay_short_delay_modify,
1491 },
1492 {
1493 .xpath = "/frr-isisd:isis/instance/spf/ietf-backoff-delay/long-delay",
1494 .cbs.modify = isis_instance_spf_ietf_backoff_delay_long_delay_modify,
1495 },
1496 {
1497 .xpath = "/frr-isisd:isis/instance/spf/ietf-backoff-delay/hold-down",
1498 .cbs.modify = isis_instance_spf_ietf_backoff_delay_hold_down_modify,
1499 },
1500 {
1501 .xpath = "/frr-isisd:isis/instance/spf/ietf-backoff-delay/time-to-learn",
1502 .cbs.modify = isis_instance_spf_ietf_backoff_delay_time_to_learn_modify,
1503 },
1504 {
1505 .xpath = "/frr-isisd:isis/instance/spf/minimum-interval/level-1",
1506 .cbs.modify = isis_instance_spf_minimum_interval_level_1_modify,
1507 },
1508 {
1509 .xpath = "/frr-isisd:isis/instance/spf/minimum-interval/level-2",
1510 .cbs.modify = isis_instance_spf_minimum_interval_level_2_modify,
1511 },
1512 {
1513 .xpath = "/frr-isisd:isis/instance/area-password",
1514 .cbs.create = isis_instance_area_password_create,
1515 .cbs.delete = isis_instance_area_password_delete,
1516 },
1517 {
1518 .xpath = "/frr-isisd:isis/instance/area-password/password",
1519 .cbs.modify = isis_instance_area_password_password_modify,
1520 },
1521 {
1522 .xpath = "/frr-isisd:isis/instance/area-password/password-type",
1523 .cbs.modify = isis_instance_area_password_password_type_modify,
1524 },
1525 {
1526 .xpath = "/frr-isisd:isis/instance/area-password/authenticate-snp",
1527 .cbs.modify = isis_instance_area_password_authenticate_snp_modify,
1528 },
1529 {
1530 .xpath = "/frr-isisd:isis/instance/domain-password",
1531 .cbs.create = isis_instance_domain_password_create,
1532 .cbs.delete = isis_instance_domain_password_delete,
1533 },
1534 {
1535 .xpath = "/frr-isisd:isis/instance/domain-password/password",
1536 .cbs.modify = isis_instance_domain_password_password_modify,
1537 },
1538 {
1539 .xpath = "/frr-isisd:isis/instance/domain-password/password-type",
1540 .cbs.modify = isis_instance_domain_password_password_type_modify,
1541 },
1542 {
1543 .xpath = "/frr-isisd:isis/instance/domain-password/authenticate-snp",
1544 .cbs.modify = isis_instance_domain_password_authenticate_snp_modify,
1545 },
1546 {
1547 .xpath = "/frr-isisd:isis/instance/default-information-originate/ipv4",
1548 .cbs.create = isis_instance_default_information_originate_ipv4_create,
1549 .cbs.delete = isis_instance_default_information_originate_ipv4_delete,
1550 },
1551 {
1552 .xpath = "/frr-isisd:isis/instance/default-information-originate/ipv4/always",
1553 .cbs.create = isis_instance_default_information_originate_ipv4_always_create,
1554 .cbs.delete = isis_instance_default_information_originate_ipv4_always_delete,
1555 },
1556 {
1557 .xpath = "/frr-isisd:isis/instance/default-information-originate/ipv4/route-map",
1558 .cbs.modify = isis_instance_default_information_originate_ipv4_route_map_modify,
1559 .cbs.delete = isis_instance_default_information_originate_ipv4_route_map_delete,
1560 },
1561 {
1562 .xpath = "/frr-isisd:isis/instance/default-information-originate/ipv4/metric",
1563 .cbs.modify = isis_instance_default_information_originate_ipv4_metric_modify,
1564 .cbs.delete = isis_instance_default_information_originate_ipv4_metric_delete,
1565 },
1566 {
1567 .xpath = "/frr-isisd:isis/instance/default-information-originate/ipv6",
1568 .cbs.create = isis_instance_default_information_originate_ipv6_create,
1569 .cbs.delete = isis_instance_default_information_originate_ipv6_delete,
1570 },
1571 {
1572 .xpath = "/frr-isisd:isis/instance/default-information-originate/ipv6/always",
1573 .cbs.create = isis_instance_default_information_originate_ipv6_always_create,
1574 .cbs.delete = isis_instance_default_information_originate_ipv6_always_delete,
1575 },
1576 {
1577 .xpath = "/frr-isisd:isis/instance/default-information-originate/ipv6/route-map",
1578 .cbs.modify = isis_instance_default_information_originate_ipv6_route_map_modify,
1579 .cbs.delete = isis_instance_default_information_originate_ipv6_route_map_delete,
1580 },
1581 {
1582 .xpath = "/frr-isisd:isis/instance/default-information-originate/ipv6/metric",
1583 .cbs.modify = isis_instance_default_information_originate_ipv6_metric_modify,
1584 .cbs.delete = isis_instance_default_information_originate_ipv6_metric_delete,
1585 },
1586 {
1587 .xpath = "/frr-isisd:isis/instance/redistribute/ipv4",
1588 .cbs.create = isis_instance_redistribute_ipv4_create,
1589 .cbs.delete = isis_instance_redistribute_ipv4_delete,
1590 },
1591 {
1592 .xpath = "/frr-isisd:isis/instance/redistribute/ipv4/route-map",
1593 .cbs.modify = isis_instance_redistribute_ipv4_route_map_modify,
1594 .cbs.delete = isis_instance_redistribute_ipv4_route_map_delete,
1595 },
1596 {
1597 .xpath = "/frr-isisd:isis/instance/redistribute/ipv4/metric",
1598 .cbs.modify = isis_instance_redistribute_ipv4_metric_modify,
1599 .cbs.delete = isis_instance_redistribute_ipv4_metric_delete,
1600 },
1601 {
1602 .xpath = "/frr-isisd:isis/instance/redistribute/ipv6",
1603 .cbs.create = isis_instance_redistribute_ipv6_create,
1604 .cbs.delete = isis_instance_redistribute_ipv6_delete,
1605 },
1606 {
1607 .xpath = "/frr-isisd:isis/instance/redistribute/ipv6/route-map",
1608 .cbs.modify = isis_instance_redistribute_ipv6_route_map_modify,
1609 .cbs.delete = isis_instance_redistribute_ipv6_route_map_delete,
1610 },
1611 {
1612 .xpath = "/frr-isisd:isis/instance/redistribute/ipv6/metric",
1613 .cbs.modify = isis_instance_redistribute_ipv6_metric_modify,
1614 .cbs.delete = isis_instance_redistribute_ipv6_metric_delete,
1615 },
1616 {
1617 .xpath = "/frr-isisd:isis/instance/multi-topology/ipv4-multicast",
1618 .cbs.create = isis_instance_multi_topology_ipv4_multicast_create,
1619 .cbs.delete = isis_instance_multi_topology_ipv4_multicast_delete,
1620 },
1621 {
1622 .xpath = "/frr-isisd:isis/instance/multi-topology/ipv4-multicast/overload",
1623 .cbs.create = isis_instance_multi_topology_ipv4_multicast_overload_create,
1624 .cbs.delete = isis_instance_multi_topology_ipv4_multicast_overload_delete,
1625 },
1626 {
1627 .xpath = "/frr-isisd:isis/instance/multi-topology/ipv4-management",
1628 .cbs.create = isis_instance_multi_topology_ipv4_management_create,
1629 .cbs.delete = isis_instance_multi_topology_ipv4_management_delete,
1630 },
1631 {
1632 .xpath = "/frr-isisd:isis/instance/multi-topology/ipv4-management/overload",
1633 .cbs.create = isis_instance_multi_topology_ipv4_management_overload_create,
1634 .cbs.delete = isis_instance_multi_topology_ipv4_management_overload_delete,
1635 },
1636 {
1637 .xpath = "/frr-isisd:isis/instance/multi-topology/ipv6-unicast",
1638 .cbs.create = isis_instance_multi_topology_ipv6_unicast_create,
1639 .cbs.delete = isis_instance_multi_topology_ipv6_unicast_delete,
1640 },
1641 {
1642 .xpath = "/frr-isisd:isis/instance/multi-topology/ipv6-unicast/overload",
1643 .cbs.create = isis_instance_multi_topology_ipv6_unicast_overload_create,
1644 .cbs.delete = isis_instance_multi_topology_ipv6_unicast_overload_delete,
1645 },
1646 {
1647 .xpath = "/frr-isisd:isis/instance/multi-topology/ipv6-multicast",
1648 .cbs.create = isis_instance_multi_topology_ipv6_multicast_create,
1649 .cbs.delete = isis_instance_multi_topology_ipv6_multicast_delete,
1650 },
1651 {
1652 .xpath = "/frr-isisd:isis/instance/multi-topology/ipv6-multicast/overload",
1653 .cbs.create = isis_instance_multi_topology_ipv6_multicast_overload_create,
1654 .cbs.delete = isis_instance_multi_topology_ipv6_multicast_overload_delete,
1655 },
1656 {
1657 .xpath = "/frr-isisd:isis/instance/multi-topology/ipv6-management",
1658 .cbs.create = isis_instance_multi_topology_ipv6_management_create,
1659 .cbs.delete = isis_instance_multi_topology_ipv6_management_delete,
1660 },
1661 {
1662 .xpath = "/frr-isisd:isis/instance/multi-topology/ipv6-management/overload",
1663 .cbs.create = isis_instance_multi_topology_ipv6_management_overload_create,
1664 .cbs.delete = isis_instance_multi_topology_ipv6_management_overload_delete,
1665 },
1666 {
1667 .xpath = "/frr-isisd:isis/instance/multi-topology/ipv6-dstsrc",
1668 .cbs.create = isis_instance_multi_topology_ipv6_dstsrc_create,
1669 .cbs.delete = isis_instance_multi_topology_ipv6_dstsrc_delete,
1670 },
1671 {
1672 .xpath = "/frr-isisd:isis/instance/multi-topology/ipv6-dstsrc/overload",
1673 .cbs.create = isis_instance_multi_topology_ipv6_dstsrc_overload_create,
1674 .cbs.delete = isis_instance_multi_topology_ipv6_dstsrc_overload_delete,
1675 },
1676 {
1677 .xpath = "/frr-isisd:isis/instance/log-adjacency-changes",
1678 .cbs.create = isis_instance_log_adjacency_changes_create,
1679 .cbs.delete = isis_instance_log_adjacency_changes_delete,
1680 },
1681 {
1682 .xpath = "/frr-isisd:isis/mpls-te",
1683 .cbs.create = isis_mpls_te_create,
1684 .cbs.delete = isis_mpls_te_delete,
1685 },
1686 {
1687 .xpath = "/frr-isisd:isis/mpls-te/router-address",
1688 .cbs.modify = isis_mpls_te_router_address_modify,
1689 .cbs.delete = isis_mpls_te_router_address_delete,
1690 },
1691 {
1692 .xpath = "/frr-interface:lib/interface/frr-isisd:isis",
1693 .cbs.create = lib_interface_isis_create,
1694 .cbs.delete = lib_interface_isis_delete,
1695 },
1696 {
1697 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/area-tag",
1698 .cbs.modify = lib_interface_isis_area_tag_modify,
1699 },
1700 {
1701 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/circuit-type",
1702 .cbs.modify = lib_interface_isis_circuit_type_modify,
1703 },
1704 {
1705 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/ipv4-routing",
1706 .cbs.create = lib_interface_isis_ipv4_routing_create,
1707 .cbs.delete = lib_interface_isis_ipv4_routing_delete,
1708 },
1709 {
1710 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/ipv6-routing",
1711 .cbs.create = lib_interface_isis_ipv6_routing_create,
1712 .cbs.delete = lib_interface_isis_ipv6_routing_delete,
1713 },
1714 {
1715 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/csnp-interval/level-1",
1716 .cbs.modify = lib_interface_isis_csnp_interval_level_1_modify,
1717 },
1718 {
1719 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/csnp-interval/level-2",
1720 .cbs.modify = lib_interface_isis_csnp_interval_level_2_modify,
1721 },
1722 {
1723 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/psnp-interval/level-1",
1724 .cbs.modify = lib_interface_isis_psnp_interval_level_1_modify,
1725 },
1726 {
1727 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/psnp-interval/level-2",
1728 .cbs.modify = lib_interface_isis_psnp_interval_level_2_modify,
1729 },
1730 {
1731 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/hello/padding",
1732 .cbs.modify = lib_interface_isis_hello_padding_modify,
1733 },
1734 {
1735 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/hello/interval/level-1",
1736 .cbs.modify = lib_interface_isis_hello_interval_level_1_modify,
1737 },
1738 {
1739 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/hello/interval/level-2",
1740 .cbs.modify = lib_interface_isis_hello_interval_level_2_modify,
1741 },
1742 {
1743 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/hello/multiplier/level-1",
1744 .cbs.modify = lib_interface_isis_hello_multiplier_level_1_modify,
1745 },
1746 {
1747 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/hello/multiplier/level-2",
1748 .cbs.modify = lib_interface_isis_hello_multiplier_level_2_modify,
1749 },
1750 {
1751 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/metric/level-1",
1752 .cbs.modify = lib_interface_isis_metric_level_1_modify,
1753 },
1754 {
1755 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/metric/level-2",
1756 .cbs.modify = lib_interface_isis_metric_level_2_modify,
1757 },
1758 {
1759 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/priority/level-1",
1760 .cbs.modify = lib_interface_isis_priority_level_1_modify,
1761 },
1762 {
1763 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/priority/level-2",
1764 .cbs.modify = lib_interface_isis_priority_level_2_modify,
1765 },
1766 {
1767 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/network-type",
1768 .cbs.modify = lib_interface_isis_network_type_modify,
1769 .cbs.delete = lib_interface_isis_network_type_delete,
1770 },
1771 {
1772 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/passive",
1773 .cbs.create = lib_interface_isis_passive_create,
1774 .cbs.delete = lib_interface_isis_passive_delete,
1775 },
1776 {
1777 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/password",
1778 .cbs.create = lib_interface_isis_password_create,
1779 .cbs.delete = lib_interface_isis_password_delete,
1780 },
1781 {
1782 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/password/password",
1783 .cbs.modify = lib_interface_isis_password_password_modify,
1784 },
1785 {
1786 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/password/password-type",
1787 .cbs.modify = lib_interface_isis_password_password_type_modify,
1788 },
1789 {
1790 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/disable-three-way-handshake",
1791 .cbs.create = lib_interface_isis_disable_three_way_handshake_create,
1792 .cbs.delete = lib_interface_isis_disable_three_way_handshake_delete,
1793 },
1794 {
1795 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/multi-topology/ipv4-unicast",
1796 .cbs.modify = lib_interface_isis_multi_topology_ipv4_unicast_modify,
1797 },
1798 {
1799 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/multi-topology/ipv4-multicast",
1800 .cbs.modify = lib_interface_isis_multi_topology_ipv4_multicast_modify,
1801 },
1802 {
1803 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/multi-topology/ipv4-management",
1804 .cbs.modify = lib_interface_isis_multi_topology_ipv4_management_modify,
1805 },
1806 {
1807 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/multi-topology/ipv6-unicast",
1808 .cbs.modify = lib_interface_isis_multi_topology_ipv6_unicast_modify,
1809 },
1810 {
1811 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/multi-topology/ipv6-multicast",
1812 .cbs.modify = lib_interface_isis_multi_topology_ipv6_multicast_modify,
1813 },
1814 {
1815 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/multi-topology/ipv6-management",
1816 .cbs.modify = lib_interface_isis_multi_topology_ipv6_management_modify,
1817 },
1818 {
1819 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/multi-topology/ipv6-dstsrc",
1820 .cbs.modify = lib_interface_isis_multi_topology_ipv6_dstsrc_modify,
1821 },
1822 {
1823 .xpath = NULL,
1824 },
1825 }
1826 };