]> git.proxmox.com Git - mirror_frr.git/blob - isisd/isis_nb.c
Merge pull request #5895 from patrasar/2404618
[mirror_frr.git] / isisd / isis_nb.c
1 /*
2 * Copyright (C) 2018 Volta Networks
3 * Emanuele Di Pascale
4 *
5 * This program is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License as published by the Free
7 * Software Foundation; either version 2 of the License, or (at your option)
8 * any later version.
9 *
10 * This program is distributed in the hope that it will be useful, but WITHOUT
11 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
12 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
13 * more details.
14 *
15 * You should have received a copy of the GNU General Public License along
16 * with this program; see the file COPYING; if not, write to the Free Software
17 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
18 */
19
20 #include <zebra.h>
21
22 #include "northbound.h"
23 #include "libfrr.h"
24
25 #include "isisd/isis_nb.h"
26
27 /* clang-format off */
28 const struct frr_yang_module_info frr_isisd_info = {
29 .name = "frr-isisd",
30 .nodes = {
31 {
32 .xpath = "/frr-isisd:isis/instance",
33 .cbs = {
34 .cli_show = cli_show_router_isis,
35 .create = isis_instance_create,
36 .destroy = isis_instance_destroy,
37 },
38 .priority = NB_DFLT_PRIORITY - 1,
39 },
40 {
41 .xpath = "/frr-isisd:isis/instance/is-type",
42 .cbs = {
43 .cli_show = cli_show_isis_is_type,
44 .modify = isis_instance_is_type_modify,
45 },
46 },
47 {
48 .xpath = "/frr-isisd:isis/instance/area-address",
49 .cbs = {
50 .cli_show = cli_show_isis_area_address,
51 .create = isis_instance_area_address_create,
52 .destroy = isis_instance_area_address_destroy,
53 },
54 },
55 {
56 .xpath = "/frr-isisd:isis/instance/dynamic-hostname",
57 .cbs = {
58 .cli_show = cli_show_isis_dynamic_hostname,
59 .modify = isis_instance_dynamic_hostname_modify,
60 },
61 },
62 {
63 .xpath = "/frr-isisd:isis/instance/attached",
64 .cbs = {
65 .cli_show = cli_show_isis_attached,
66 .modify = isis_instance_attached_modify,
67 },
68 },
69 {
70 .xpath = "/frr-isisd:isis/instance/overload",
71 .cbs = {
72 .cli_show = cli_show_isis_overload,
73 .modify = isis_instance_overload_modify,
74 },
75 },
76 {
77 .xpath = "/frr-isisd:isis/instance/metric-style",
78 .cbs = {
79 .cli_show = cli_show_isis_metric_style,
80 .modify = isis_instance_metric_style_modify,
81 },
82 },
83 {
84 .xpath = "/frr-isisd:isis/instance/purge-originator",
85 .cbs = {
86 .cli_show = cli_show_isis_purge_origin,
87 .modify = isis_instance_purge_originator_modify,
88 },
89 },
90 {
91 .xpath = "/frr-isisd:isis/instance/lsp/mtu",
92 .cbs = {
93 .cli_show = cli_show_isis_lsp_mtu,
94 .modify = isis_instance_lsp_mtu_modify,
95 },
96 },
97 {
98 .xpath = "/frr-isisd:isis/instance/lsp/timers",
99 .cbs = {
100 .cli_show = cli_show_isis_lsp_timers,
101 },
102 },
103 {
104 .xpath = "/frr-isisd:isis/instance/lsp/timers/level-1/refresh-interval",
105 .cbs = {
106 .modify = isis_instance_lsp_refresh_interval_level_1_modify,
107 },
108 },
109 {
110 .xpath = "/frr-isisd:isis/instance/lsp/timers/level-1/maximum-lifetime",
111 .cbs = {
112 .modify = isis_instance_lsp_maximum_lifetime_level_1_modify,
113 },
114 },
115 {
116 .xpath = "/frr-isisd:isis/instance/lsp/timers/level-1/generation-interval",
117 .cbs = {
118 .modify = isis_instance_lsp_generation_interval_level_1_modify,
119 },
120 },
121 {
122 .xpath = "/frr-isisd:isis/instance/lsp/timers/level-2/refresh-interval",
123 .cbs = {
124 .modify = isis_instance_lsp_refresh_interval_level_2_modify,
125 },
126 },
127 {
128 .xpath = "/frr-isisd:isis/instance/lsp/timers/level-2/maximum-lifetime",
129 .cbs = {
130 .modify = isis_instance_lsp_maximum_lifetime_level_2_modify,
131 },
132 },
133 {
134 .xpath = "/frr-isisd:isis/instance/lsp/timers/level-2/generation-interval",
135 .cbs = {
136 .modify = isis_instance_lsp_generation_interval_level_2_modify,
137 },
138 },
139 {
140 .xpath = "/frr-isisd:isis/instance/spf/ietf-backoff-delay",
141 .cbs = {
142 .apply_finish = ietf_backoff_delay_apply_finish,
143 .cli_show = cli_show_isis_spf_ietf_backoff,
144 .create = isis_instance_spf_ietf_backoff_delay_create,
145 .destroy = isis_instance_spf_ietf_backoff_delay_destroy,
146 },
147 },
148 {
149 .xpath = "/frr-isisd:isis/instance/spf/ietf-backoff-delay/init-delay",
150 .cbs = {
151 .modify = isis_instance_spf_ietf_backoff_delay_init_delay_modify,
152 },
153 },
154 {
155 .xpath = "/frr-isisd:isis/instance/spf/ietf-backoff-delay/short-delay",
156 .cbs = {
157 .modify = isis_instance_spf_ietf_backoff_delay_short_delay_modify,
158 },
159 },
160 {
161 .xpath = "/frr-isisd:isis/instance/spf/ietf-backoff-delay/long-delay",
162 .cbs = {
163 .modify = isis_instance_spf_ietf_backoff_delay_long_delay_modify,
164 },
165 },
166 {
167 .xpath = "/frr-isisd:isis/instance/spf/ietf-backoff-delay/hold-down",
168 .cbs = {
169 .modify = isis_instance_spf_ietf_backoff_delay_hold_down_modify,
170 },
171 },
172 {
173 .xpath = "/frr-isisd:isis/instance/spf/ietf-backoff-delay/time-to-learn",
174 .cbs = {
175 .modify = isis_instance_spf_ietf_backoff_delay_time_to_learn_modify,
176 },
177 },
178 {
179 .xpath = "/frr-isisd:isis/instance/spf/minimum-interval",
180 .cbs = {
181 .cli_show = cli_show_isis_spf_min_interval,
182 },
183 },
184 {
185 .xpath = "/frr-isisd:isis/instance/spf/minimum-interval/level-1",
186 .cbs = {
187 .modify = isis_instance_spf_minimum_interval_level_1_modify,
188 },
189 },
190 {
191 .xpath = "/frr-isisd:isis/instance/spf/minimum-interval/level-2",
192 .cbs = {
193 .modify = isis_instance_spf_minimum_interval_level_2_modify,
194 },
195 },
196 {
197 .xpath = "/frr-isisd:isis/instance/area-password",
198 .cbs = {
199 .apply_finish = area_password_apply_finish,
200 .cli_show = cli_show_isis_area_pwd,
201 .create = isis_instance_area_password_create,
202 .destroy = isis_instance_area_password_destroy,
203 },
204 },
205 {
206 .xpath = "/frr-isisd:isis/instance/area-password/password",
207 .cbs = {
208 .modify = isis_instance_area_password_password_modify,
209 },
210 },
211 {
212 .xpath = "/frr-isisd:isis/instance/area-password/password-type",
213 .cbs = {
214 .modify = isis_instance_area_password_password_type_modify,
215 },
216 },
217 {
218 .xpath = "/frr-isisd:isis/instance/area-password/authenticate-snp",
219 .cbs = {
220 .modify = isis_instance_area_password_authenticate_snp_modify,
221 },
222 },
223 {
224 .xpath = "/frr-isisd:isis/instance/domain-password",
225 .cbs = {
226 .apply_finish = domain_password_apply_finish,
227 .cli_show = cli_show_isis_domain_pwd,
228 .create = isis_instance_domain_password_create,
229 .destroy = isis_instance_domain_password_destroy,
230 },
231 },
232 {
233 .xpath = "/frr-isisd:isis/instance/domain-password/password",
234 .cbs = {
235 .modify = isis_instance_domain_password_password_modify,
236 },
237 },
238 {
239 .xpath = "/frr-isisd:isis/instance/domain-password/password-type",
240 .cbs = {
241 .modify = isis_instance_domain_password_password_type_modify,
242 },
243 },
244 {
245 .xpath = "/frr-isisd:isis/instance/domain-password/authenticate-snp",
246 .cbs = {
247 .modify = isis_instance_domain_password_authenticate_snp_modify,
248 },
249 },
250 {
251 .xpath = "/frr-isisd:isis/instance/default-information-originate/ipv4",
252 .cbs = {
253 .apply_finish = default_info_origin_ipv4_apply_finish,
254 .cli_show = cli_show_isis_def_origin_ipv4,
255 .create = isis_instance_default_information_originate_ipv4_create,
256 .destroy = isis_instance_default_information_originate_ipv4_destroy,
257 },
258 },
259 {
260 .xpath = "/frr-isisd:isis/instance/default-information-originate/ipv4/always",
261 .cbs = {
262 .modify = isis_instance_default_information_originate_ipv4_always_modify,
263 },
264 },
265 {
266 .xpath = "/frr-isisd:isis/instance/default-information-originate/ipv4/route-map",
267 .cbs = {
268 .destroy = isis_instance_default_information_originate_ipv4_route_map_destroy,
269 .modify = isis_instance_default_information_originate_ipv4_route_map_modify,
270 },
271 },
272 {
273 .xpath = "/frr-isisd:isis/instance/default-information-originate/ipv4/metric",
274 .cbs = {
275 .modify = isis_instance_default_information_originate_ipv4_metric_modify,
276 },
277 },
278 {
279 .xpath = "/frr-isisd:isis/instance/default-information-originate/ipv6",
280 .cbs = {
281 .apply_finish = default_info_origin_ipv6_apply_finish,
282 .cli_show = cli_show_isis_def_origin_ipv6,
283 .create = isis_instance_default_information_originate_ipv6_create,
284 .destroy = isis_instance_default_information_originate_ipv6_destroy,
285 },
286 },
287 {
288 .xpath = "/frr-isisd:isis/instance/default-information-originate/ipv6/always",
289 .cbs = {
290 .modify = isis_instance_default_information_originate_ipv6_always_modify,
291 },
292 },
293 {
294 .xpath = "/frr-isisd:isis/instance/default-information-originate/ipv6/route-map",
295 .cbs = {
296 .destroy = isis_instance_default_information_originate_ipv6_route_map_destroy,
297 .modify = isis_instance_default_information_originate_ipv6_route_map_modify,
298 },
299 },
300 {
301 .xpath = "/frr-isisd:isis/instance/default-information-originate/ipv6/metric",
302 .cbs = {
303 .modify = isis_instance_default_information_originate_ipv6_metric_modify,
304 },
305 },
306 {
307 .xpath = "/frr-isisd:isis/instance/redistribute/ipv4",
308 .cbs = {
309 .apply_finish = redistribute_ipv4_apply_finish,
310 .cli_show = cli_show_isis_redistribute_ipv4,
311 .create = isis_instance_redistribute_ipv4_create,
312 .destroy = isis_instance_redistribute_ipv4_destroy,
313 },
314 },
315 {
316 .xpath = "/frr-isisd:isis/instance/redistribute/ipv4/route-map",
317 .cbs = {
318 .destroy = isis_instance_redistribute_ipv4_route_map_destroy,
319 .modify = isis_instance_redistribute_ipv4_route_map_modify,
320 },
321 },
322 {
323 .xpath = "/frr-isisd:isis/instance/redistribute/ipv4/metric",
324 .cbs = {
325 .modify = isis_instance_redistribute_ipv4_metric_modify,
326 },
327 },
328 {
329 .xpath = "/frr-isisd:isis/instance/redistribute/ipv6",
330 .cbs = {
331 .apply_finish = redistribute_ipv6_apply_finish,
332 .cli_show = cli_show_isis_redistribute_ipv6,
333 .create = isis_instance_redistribute_ipv6_create,
334 .destroy = isis_instance_redistribute_ipv6_destroy,
335 },
336 },
337 {
338 .xpath = "/frr-isisd:isis/instance/redistribute/ipv6/route-map",
339 .cbs = {
340 .destroy = isis_instance_redistribute_ipv6_route_map_destroy,
341 .modify = isis_instance_redistribute_ipv6_route_map_modify,
342 },
343 },
344 {
345 .xpath = "/frr-isisd:isis/instance/redistribute/ipv6/metric",
346 .cbs = {
347 .modify = isis_instance_redistribute_ipv6_metric_modify,
348 },
349 },
350 {
351 .xpath = "/frr-isisd:isis/instance/multi-topology/ipv4-multicast",
352 .cbs = {
353 .cli_show = cli_show_isis_mt_ipv4_multicast,
354 .create = isis_instance_multi_topology_ipv4_multicast_create,
355 .destroy = isis_instance_multi_topology_ipv4_multicast_destroy,
356 },
357 },
358 {
359 .xpath = "/frr-isisd:isis/instance/multi-topology/ipv4-multicast/overload",
360 .cbs = {
361 .modify = isis_instance_multi_topology_ipv4_multicast_overload_modify,
362 },
363 },
364 {
365 .xpath = "/frr-isisd:isis/instance/multi-topology/ipv4-management",
366 .cbs = {
367 .cli_show = cli_show_isis_mt_ipv4_mgmt,
368 .create = isis_instance_multi_topology_ipv4_management_create,
369 .destroy = isis_instance_multi_topology_ipv4_management_destroy,
370 },
371 },
372 {
373 .xpath = "/frr-isisd:isis/instance/multi-topology/ipv4-management/overload",
374 .cbs = {
375 .modify = isis_instance_multi_topology_ipv4_management_overload_modify,
376 },
377 },
378 {
379 .xpath = "/frr-isisd:isis/instance/multi-topology/ipv6-unicast",
380 .cbs = {
381 .cli_show = cli_show_isis_mt_ipv6_unicast,
382 .create = isis_instance_multi_topology_ipv6_unicast_create,
383 .destroy = isis_instance_multi_topology_ipv6_unicast_destroy,
384 },
385 },
386 {
387 .xpath = "/frr-isisd:isis/instance/multi-topology/ipv6-unicast/overload",
388 .cbs = {
389 .modify = isis_instance_multi_topology_ipv6_unicast_overload_modify,
390 },
391 },
392 {
393 .xpath = "/frr-isisd:isis/instance/multi-topology/ipv6-multicast",
394 .cbs = {
395 .cli_show = cli_show_isis_mt_ipv6_multicast,
396 .create = isis_instance_multi_topology_ipv6_multicast_create,
397 .destroy = isis_instance_multi_topology_ipv6_multicast_destroy,
398 },
399 },
400 {
401 .xpath = "/frr-isisd:isis/instance/multi-topology/ipv6-multicast/overload",
402 .cbs = {
403 .modify = isis_instance_multi_topology_ipv6_multicast_overload_modify,
404 },
405 },
406 {
407 .xpath = "/frr-isisd:isis/instance/multi-topology/ipv6-management",
408 .cbs = {
409 .cli_show = cli_show_isis_mt_ipv6_mgmt,
410 .create = isis_instance_multi_topology_ipv6_management_create,
411 .destroy = isis_instance_multi_topology_ipv6_management_destroy,
412 },
413 },
414 {
415 .xpath = "/frr-isisd:isis/instance/multi-topology/ipv6-management/overload",
416 .cbs = {
417 .modify = isis_instance_multi_topology_ipv6_management_overload_modify,
418 },
419 },
420 {
421 .xpath = "/frr-isisd:isis/instance/multi-topology/ipv6-dstsrc",
422 .cbs = {
423 .cli_show = cli_show_isis_mt_ipv6_dstsrc,
424 .create = isis_instance_multi_topology_ipv6_dstsrc_create,
425 .destroy = isis_instance_multi_topology_ipv6_dstsrc_destroy,
426 },
427 },
428 {
429 .xpath = "/frr-isisd:isis/instance/multi-topology/ipv6-dstsrc/overload",
430 .cbs = {
431 .modify = isis_instance_multi_topology_ipv6_dstsrc_overload_modify,
432 },
433 },
434 {
435 .xpath = "/frr-isisd:isis/instance/log-adjacency-changes",
436 .cbs = {
437 .cli_show = cli_show_isis_log_adjacency,
438 .modify = isis_instance_log_adjacency_changes_modify,
439 },
440 },
441 {
442 .xpath = "/frr-isisd:isis/instance/mpls-te",
443 .cbs = {
444 .cli_show = cli_show_isis_mpls_te,
445 .create = isis_instance_mpls_te_create,
446 .destroy = isis_instance_mpls_te_destroy,
447 },
448 },
449 {
450 .xpath = "/frr-isisd:isis/instance/mpls-te/router-address",
451 .cbs = {
452 .cli_show = cli_show_isis_mpls_te_router_addr,
453 .destroy = isis_instance_mpls_te_router_address_destroy,
454 .modify = isis_instance_mpls_te_router_address_modify,
455 },
456 },
457 {
458 .xpath = "/frr-isisd:isis/instance/segment-routing/enabled",
459 .cbs = {
460 .modify = isis_instance_segment_routing_enabled_modify,
461 .cli_show = cli_show_isis_sr_enabled,
462 },
463 },
464 {
465 .xpath = "/frr-isisd:isis/instance/segment-routing/srgb",
466 .cbs = {
467 .apply_finish = isis_instance_segment_routing_srgb_apply_finish,
468 .pre_validate = isis_instance_segment_routing_srgb_pre_validate,
469 .cli_show = cli_show_isis_srgb,
470 },
471 },
472 {
473 .xpath = "/frr-isisd:isis/instance/segment-routing/srgb/lower-bound",
474 .cbs = {
475 .modify = isis_instance_segment_routing_srgb_lower_bound_modify,
476 },
477 },
478 {
479 .xpath = "/frr-isisd:isis/instance/segment-routing/srgb/upper-bound",
480 .cbs = {
481 .modify = isis_instance_segment_routing_srgb_upper_bound_modify,
482 },
483 },
484 {
485 .xpath = "/frr-isisd:isis/instance/segment-routing/srlb",
486 .cbs = {
487 .apply_finish = isis_instance_segment_routing_srlb_apply_finish,
488 .pre_validate = isis_instance_segment_routing_srlb_pre_validate,
489 .cli_show = cli_show_isis_srlb,
490 },
491 },
492 {
493 .xpath = "/frr-isisd:isis/instance/segment-routing/srlb/lower-bound",
494 .cbs = {
495 .modify = isis_instance_segment_routing_srlb_lower_bound_modify,
496 },
497 },
498 {
499 .xpath = "/frr-isisd:isis/instance/segment-routing/srlb/upper-bound",
500 .cbs = {
501 .modify = isis_instance_segment_routing_srlb_upper_bound_modify,
502 },
503 },
504 {
505 .xpath = "/frr-isisd:isis/instance/segment-routing/msd/node-msd",
506 .cbs = {
507 .modify = isis_instance_segment_routing_msd_node_msd_modify,
508 .destroy = isis_instance_segment_routing_msd_node_msd_destroy,
509 .cli_show = cli_show_isis_node_msd,
510 },
511 },
512 {
513 .xpath = "/frr-isisd:isis/instance/segment-routing/prefix-sid-map/prefix-sid",
514 .cbs = {
515 .create = isis_instance_segment_routing_prefix_sid_map_prefix_sid_create,
516 .destroy = isis_instance_segment_routing_prefix_sid_map_prefix_sid_destroy,
517 .pre_validate = isis_instance_segment_routing_prefix_sid_map_prefix_sid_pre_validate,
518 .apply_finish = isis_instance_segment_routing_prefix_sid_map_prefix_sid_apply_finish,
519 .cli_show = cli_show_isis_prefix_sid,
520 },
521 },
522 {
523 .xpath = "/frr-isisd:isis/instance/segment-routing/prefix-sid-map/prefix-sid/sid-value-type",
524 .cbs = {
525 .modify = isis_instance_segment_routing_prefix_sid_map_prefix_sid_sid_value_type_modify,
526 },
527 },
528 {
529 .xpath = "/frr-isisd:isis/instance/segment-routing/prefix-sid-map/prefix-sid/sid-value",
530 .cbs = {
531 .modify = isis_instance_segment_routing_prefix_sid_map_prefix_sid_sid_value_modify,
532 },
533 },
534 {
535 .xpath = "/frr-isisd:isis/instance/segment-routing/prefix-sid-map/prefix-sid/last-hop-behavior",
536 .cbs = {
537 .modify = isis_instance_segment_routing_prefix_sid_map_prefix_sid_last_hop_behavior_modify,
538 },
539 },
540 {
541 .xpath = "/frr-isisd:isis/instance/mpls/ldp-sync",
542 .cbs = {
543 .cli_show = cli_show_isis_mpls_ldp_sync,
544 .create = isis_instance_mpls_ldp_sync_create,
545 .destroy = isis_instance_mpls_ldp_sync_destroy,
546 },
547 },
548 {
549 .xpath = "/frr-isisd:isis/instance/mpls/ldp-sync/holddown",
550 .cbs = {
551 .cli_show = cli_show_isis_mpls_ldp_sync_holddown,
552 .modify = isis_instance_mpls_ldp_sync_holddown_modify,
553 },
554 },
555 {
556 .xpath = "/frr-interface:lib/interface/frr-isisd:isis",
557 .cbs = {
558 .create = lib_interface_isis_create,
559 .destroy = lib_interface_isis_destroy,
560 },
561 },
562 {
563 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/area-tag",
564 .cbs = {
565 .modify = lib_interface_isis_area_tag_modify,
566 },
567 },
568 {
569 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/vrf",
570 .cbs = {
571 .modify = lib_interface_isis_vrf_modify,
572 },
573 },
574
575 {
576 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/circuit-type",
577 .cbs = {
578 .cli_show = cli_show_ip_isis_circ_type,
579 .modify = lib_interface_isis_circuit_type_modify,
580 },
581 },
582 {
583 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/ipv4-routing",
584 .cbs = {
585 .cli_show = cli_show_ip_isis_ipv4,
586 .modify = lib_interface_isis_ipv4_routing_modify,
587 },
588 },
589 {
590 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/ipv6-routing",
591 .cbs = {
592 .cli_show = cli_show_ip_isis_ipv6,
593 .modify = lib_interface_isis_ipv6_routing_modify,
594 },
595 },
596 {
597 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/bfd-monitoring",
598 .cbs = {
599 .apply_finish = lib_interface_isis_bfd_monitoring_apply_finish,
600 .cli_show = cli_show_ip_isis_bfd_monitoring,
601 }
602 },
603 {
604 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/bfd-monitoring/enabled",
605 .cbs = {
606 .modify = lib_interface_isis_bfd_monitoring_enabled_modify,
607 }
608 },
609 {
610 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/bfd-monitoring/profile",
611 .cbs = {
612 .modify = lib_interface_isis_bfd_monitoring_profile_modify,
613 .destroy = lib_interface_isis_bfd_monitoring_profile_destroy,
614 }
615 },
616 {
617 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/csnp-interval",
618 .cbs = {
619 .cli_show = cli_show_ip_isis_csnp_interval,
620 },
621 },
622 {
623 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/csnp-interval/level-1",
624 .cbs = {
625 .modify = lib_interface_isis_csnp_interval_level_1_modify,
626 },
627 },
628 {
629 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/csnp-interval/level-2",
630 .cbs = {
631 .modify = lib_interface_isis_csnp_interval_level_2_modify,
632 },
633 },
634 {
635 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/psnp-interval",
636 .cbs = {
637 .cli_show = cli_show_ip_isis_psnp_interval,
638 },
639 },
640 {
641 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/psnp-interval/level-1",
642 .cbs = {
643 .modify = lib_interface_isis_psnp_interval_level_1_modify,
644 },
645 },
646 {
647 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/psnp-interval/level-2",
648 .cbs = {
649 .modify = lib_interface_isis_psnp_interval_level_2_modify,
650 },
651 },
652 {
653 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/hello/padding",
654 .cbs = {
655 .cli_show = cli_show_ip_isis_hello_padding,
656 .modify = lib_interface_isis_hello_padding_modify,
657 },
658 },
659 {
660 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/hello/interval",
661 .cbs = {
662 .cli_show = cli_show_ip_isis_hello_interval,
663 },
664 },
665 {
666 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/hello/interval/level-1",
667 .cbs = {
668 .modify = lib_interface_isis_hello_interval_level_1_modify,
669 },
670 },
671 {
672 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/hello/interval/level-2",
673 .cbs = {
674 .modify = lib_interface_isis_hello_interval_level_2_modify,
675 },
676 },
677 {
678 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/hello/multiplier",
679 .cbs = {
680 .cli_show = cli_show_ip_isis_hello_multi,
681 },
682 },
683 {
684 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/hello/multiplier/level-1",
685 .cbs = {
686 .modify = lib_interface_isis_hello_multiplier_level_1_modify,
687 },
688 },
689 {
690 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/hello/multiplier/level-2",
691 .cbs = {
692 .modify = lib_interface_isis_hello_multiplier_level_2_modify,
693 },
694 },
695 {
696 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/metric",
697 .cbs = {
698 .cli_show = cli_show_ip_isis_metric,
699 },
700 },
701 {
702 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/metric/level-1",
703 .cbs = {
704 .modify = lib_interface_isis_metric_level_1_modify,
705 },
706 },
707 {
708 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/metric/level-2",
709 .cbs = {
710 .modify = lib_interface_isis_metric_level_2_modify,
711 },
712 },
713 {
714 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/priority",
715 .cbs = {
716 .cli_show = cli_show_ip_isis_priority,
717 },
718 },
719 {
720 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/priority/level-1",
721 .cbs = {
722 .modify = lib_interface_isis_priority_level_1_modify,
723 },
724 },
725 {
726 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/priority/level-2",
727 .cbs = {
728 .modify = lib_interface_isis_priority_level_2_modify,
729 },
730 },
731 {
732 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/network-type",
733 .cbs = {
734 .cli_show = cli_show_ip_isis_network_type,
735 .modify = lib_interface_isis_network_type_modify,
736 },
737 },
738 {
739 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/passive",
740 .cbs = {
741 .cli_show = cli_show_ip_isis_passive,
742 .modify = lib_interface_isis_passive_modify,
743 },
744 },
745 {
746 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/password",
747 .cbs = {
748 .cli_show = cli_show_ip_isis_password,
749 .create = lib_interface_isis_password_create,
750 .destroy = lib_interface_isis_password_destroy,
751 },
752 },
753 {
754 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/password/password",
755 .cbs = {
756 .modify = lib_interface_isis_password_password_modify,
757 },
758 },
759 {
760 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/password/password-type",
761 .cbs = {
762 .modify = lib_interface_isis_password_password_type_modify,
763 },
764 },
765 {
766 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/disable-three-way-handshake",
767 .cbs = {
768 .cli_show = cli_show_ip_isis_threeway_shake,
769 .modify = lib_interface_isis_disable_three_way_handshake_modify,
770 },
771 },
772 {
773 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/multi-topology/ipv4-unicast",
774 .cbs = {
775 .cli_show = cli_show_ip_isis_mt_ipv4_unicast,
776 .modify = lib_interface_isis_multi_topology_ipv4_unicast_modify,
777 },
778 },
779 {
780 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/multi-topology/ipv4-multicast",
781 .cbs = {
782 .cli_show = cli_show_ip_isis_mt_ipv4_multicast,
783 .modify = lib_interface_isis_multi_topology_ipv4_multicast_modify,
784 },
785 },
786 {
787 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/multi-topology/ipv4-management",
788 .cbs = {
789 .cli_show = cli_show_ip_isis_mt_ipv4_mgmt,
790 .modify = lib_interface_isis_multi_topology_ipv4_management_modify,
791 },
792 },
793 {
794 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/multi-topology/ipv6-unicast",
795 .cbs = {
796 .cli_show = cli_show_ip_isis_mt_ipv6_unicast,
797 .modify = lib_interface_isis_multi_topology_ipv6_unicast_modify,
798 },
799 },
800 {
801 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/multi-topology/ipv6-multicast",
802 .cbs = {
803 .cli_show = cli_show_ip_isis_mt_ipv6_multicast,
804 .modify = lib_interface_isis_multi_topology_ipv6_multicast_modify,
805 },
806 },
807 {
808 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/multi-topology/ipv6-management",
809 .cbs = {
810 .cli_show = cli_show_ip_isis_mt_ipv6_mgmt,
811 .modify = lib_interface_isis_multi_topology_ipv6_management_modify,
812 },
813 },
814 {
815 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/multi-topology/ipv6-dstsrc",
816 .cbs = {
817 .cli_show = cli_show_ip_isis_mt_ipv6_dstsrc,
818 .modify = lib_interface_isis_multi_topology_ipv6_dstsrc_modify,
819 },
820 },
821 {
822 .xpath = "/frr-interface:lib/interface/state/frr-isisd:isis",
823 .cbs = {
824 .get_elem = lib_interface_state_isis_get_elem,
825 }
826 },
827 {
828 .xpath = "/frr-interface:lib/interface/state/frr-isisd:isis/adjacencies/adjacency",
829 .cbs = {
830 .get_next = lib_interface_state_isis_adjacencies_adjacency_get_next,
831 }
832 },
833 {
834 .xpath = "/frr-interface:lib/interface/state/frr-isisd:isis/adjacencies/adjacency/neighbor-sys-type",
835 .cbs = {
836 .get_elem = lib_interface_state_isis_adjacencies_adjacency_neighbor_sys_type_get_elem,
837 }
838 },
839 {
840 .xpath = "/frr-interface:lib/interface/state/frr-isisd:isis/adjacencies/adjacency/neighbor-sysid",
841 .cbs = {
842 .get_elem = lib_interface_state_isis_adjacencies_adjacency_neighbor_sysid_get_elem,
843 }
844 },
845 {
846 .xpath = "/frr-interface:lib/interface/state/frr-isisd:isis/adjacencies/adjacency/neighbor-extended-circuit-id",
847 .cbs = {
848 .get_elem = lib_interface_state_isis_adjacencies_adjacency_neighbor_extended_circuit_id_get_elem,
849 }
850 },
851 {
852 .xpath = "/frr-interface:lib/interface/state/frr-isisd:isis/adjacencies/adjacency/neighbor-snpa",
853 .cbs = {
854 .get_elem = lib_interface_state_isis_adjacencies_adjacency_neighbor_snpa_get_elem,
855 }
856 },
857 {
858 .xpath = "/frr-interface:lib/interface/state/frr-isisd:isis/adjacencies/adjacency/hold-timer",
859 .cbs = {
860 .get_elem = lib_interface_state_isis_adjacencies_adjacency_hold_timer_get_elem,
861 }
862 },
863 {
864 .xpath = "/frr-interface:lib/interface/state/frr-isisd:isis/adjacencies/adjacency/neighbor-priority",
865 .cbs = {
866 .get_elem = lib_interface_state_isis_adjacencies_adjacency_neighbor_priority_get_elem,
867 }
868 },
869 {
870 .xpath = "/frr-interface:lib/interface/state/frr-isisd:isis/adjacencies/adjacency/state",
871 .cbs = {
872 .get_elem = lib_interface_state_isis_adjacencies_adjacency_state_get_elem,
873 }
874 },
875 {
876 .xpath = "/frr-interface:lib/interface/state/frr-isisd:isis/event-counters/adjacency-changes",
877 .cbs = {
878 .get_elem = lib_interface_state_isis_event_counters_adjacency_changes_get_elem,
879 }
880 },
881 {
882 .xpath = "/frr-interface:lib/interface/state/frr-isisd:isis/event-counters/adjacency-number",
883 .cbs = {
884 .get_elem = lib_interface_state_isis_event_counters_adjacency_number_get_elem,
885 }
886 },
887 {
888 .xpath = "/frr-interface:lib/interface/state/frr-isisd:isis/event-counters/init-fails",
889 .cbs = {
890 .get_elem = lib_interface_state_isis_event_counters_init_fails_get_elem,
891 }
892 },
893 {
894 .xpath = "/frr-interface:lib/interface/state/frr-isisd:isis/event-counters/adjacency-rejects",
895 .cbs = {
896 .get_elem = lib_interface_state_isis_event_counters_adjacency_rejects_get_elem,
897 }
898 },
899 {
900 .xpath = "/frr-interface:lib/interface/state/frr-isisd:isis/event-counters/id-len-mismatch",
901 .cbs = {
902 .get_elem = lib_interface_state_isis_event_counters_id_len_mismatch_get_elem,
903 }
904 },
905 {
906 .xpath = "/frr-interface:lib/interface/state/frr-isisd:isis/event-counters/max-area-addresses-mismatch",
907 .cbs = {
908 .get_elem = lib_interface_state_isis_event_counters_max_area_addresses_mismatch_get_elem,
909 }
910 },
911 {
912 .xpath = "/frr-interface:lib/interface/state/frr-isisd:isis/event-counters/authentication-type-fails",
913 .cbs = {
914 .get_elem = lib_interface_state_isis_event_counters_authentication_type_fails_get_elem,
915 }
916 },
917 {
918 .xpath = "/frr-interface:lib/interface/state/frr-isisd:isis/event-counters/authentication-fails",
919 .cbs = {
920 .get_elem = lib_interface_state_isis_event_counters_authentication_fails_get_elem,
921 }
922 },
923 {
924 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/mpls/ldp-sync",
925 .cbs = {
926 .cli_show = cli_show_isis_mpls_if_ldp_sync,
927 .modify = lib_interface_isis_mpls_ldp_sync_modify,
928 }
929 },
930 {
931 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/mpls/holddown",
932 .cbs = {
933 .cli_show = cli_show_isis_mpls_if_ldp_sync_holddown,
934 .modify = lib_interface_isis_mpls_holddown_modify,
935 .destroy = lib_interface_isis_mpls_holddown_destroy,
936 }
937 },
938 {
939 .xpath = NULL,
940 },
941 }
942 };