]> git.proxmox.com Git - mirror_frr.git/blame - isisd/isis_northbound.c
isisd, yang: add configuration model and callback stubs
[mirror_frr.git] / isisd / isis_northbound.c
CommitLineData
20bd27e2
EDP
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 */
53static 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
61static 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 */
71static 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 */
82static 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
90static 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 */
100static 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 */
111static 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
119static 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 */
129static 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
137static 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 */
147static 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 */
158static 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
166static 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 */
176static 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 */
187static int
188isis_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 */
199static int
200isis_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 */
211static int
212isis_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 */
223static int
224isis_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 */
235static 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 */
246static 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 */
257static int
258isis_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
266static int
267isis_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 */
277static 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 */
288static 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 */
299static 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 */
310static 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 */
321static 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 */
332static int
333isis_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 */
344static int
345isis_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 */
356static 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
364static 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 */
374static int
375isis_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 */
386static int
387isis_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 */
398static 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 */
409static 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
417static 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 */
427static int
428isis_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 */
439static int
440isis_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 */
451static 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 */
462static 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
470static 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 */
480static 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
488static 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 */
498static 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
506static 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 */
516static 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
524static 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 */
534static 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
542static 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 */
552static 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
560static 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 */
570static 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
578static 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 */
588static 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
596static 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 */
606static 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
614static 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 */
624static int
625isis_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
633static int
634isis_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 */
644static int
645isis_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
653static int
654isis_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 */
664static 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
672static 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 */
682static int
683isis_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
691static int
692isis_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 */
702static int
703isis_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
711static int
712isis_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 */
722static int
723isis_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
731static int
732isis_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 */
742static 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
750static 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 */
760static 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
768static 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 */
778static 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
786static 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 */
796static int
797isis_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
805static int
806isis_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 */
816static 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
824static 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 */
834static int
835isis_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
843static int
844isis_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 */
854static 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
862static 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 */
872static 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
880static 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 */
890static 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
898static 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 */
908static int
909isis_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
917static int
918isis_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 */
928static 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
936static 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 */
946static int
947isis_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
955static int
956isis_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 */
966static 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
974static 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 */
984static 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
992static 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 */
1002static 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
1010static 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 */
1020static 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 */
1031static 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 */
1042static 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
1050static 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 */
1060static 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
1068static 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 */
1078static int
1079lib_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 */
1090static int
1091lib_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 */
1102static int
1103lib_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 */
1114static int
1115lib_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 */
1126static 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 */
1137static int
1138lib_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 */
1149static int
1150lib_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 */
1161static int
1162lib_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 */
1173static int
1174lib_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 */
1185static int
1186lib_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 */
1197static int
1198lib_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 */
1209static int
1210lib_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 */
1221static int
1222lib_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 */
1233static 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
1241static 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 */
1251static 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
1259static 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 */
1269static 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
1277static 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 */
1287static int
1288lib_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 */
1299static int
1300lib_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 */
1312static 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
1320static 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 */
1331static 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 */
1343static 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 */
1355static 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 */
1367static 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 */
1379static 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 */
1391static 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 */
1402static 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 */
1411const 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};