]> git.proxmox.com Git - mirror_frr.git/blame - isisd/isis_nb.c
zebra: Fix label manager memory leak (#5680)
[mirror_frr.git] / isisd / isis_nb.c
CommitLineData
2a1c520e
RW
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 */
28const 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/refresh-interval",
99 .cbs = {
100 .cli_show = cli_show_isis_lsp_ref_interval,
101 },
102 },
103 {
104 .xpath = "/frr-isisd:isis/instance/lsp/refresh-interval/level-1",
105 .cbs = {
106 .modify = isis_instance_lsp_refresh_interval_level_1_modify,
107 },
108 },
109 {
110 .xpath = "/frr-isisd:isis/instance/lsp/refresh-interval/level-2",
111 .cbs = {
112 .modify = isis_instance_lsp_refresh_interval_level_2_modify,
113 },
114 },
115 {
116 .xpath = "/frr-isisd:isis/instance/lsp/maximum-lifetime",
117 .cbs = {
118 .cli_show = cli_show_isis_lsp_max_lifetime,
119 },
120 },
121 {
122 .xpath = "/frr-isisd:isis/instance/lsp/maximum-lifetime/level-1",
123 .cbs = {
124 .modify = isis_instance_lsp_maximum_lifetime_level_1_modify,
125 },
126 },
127 {
128 .xpath = "/frr-isisd:isis/instance/lsp/maximum-lifetime/level-2",
129 .cbs = {
130 .modify = isis_instance_lsp_maximum_lifetime_level_2_modify,
131 },
132 },
133 {
134 .xpath = "/frr-isisd:isis/instance/lsp/generation-interval",
135 .cbs = {
136 .cli_show = cli_show_isis_lsp_gen_interval,
137 },
138 },
139 {
140 .xpath = "/frr-isisd:isis/instance/lsp/generation-interval/level-1",
141 .cbs = {
142 .modify = isis_instance_lsp_generation_interval_level_1_modify,
143 },
144 },
145 {
146 .xpath = "/frr-isisd:isis/instance/lsp/generation-interval/level-2",
147 .cbs = {
148 .modify = isis_instance_lsp_generation_interval_level_2_modify,
149 },
150 },
151 {
152 .xpath = "/frr-isisd:isis/instance/spf/ietf-backoff-delay",
153 .cbs = {
154 .apply_finish = ietf_backoff_delay_apply_finish,
155 .cli_show = cli_show_isis_spf_ietf_backoff,
156 .create = isis_instance_spf_ietf_backoff_delay_create,
157 .destroy = isis_instance_spf_ietf_backoff_delay_destroy,
158 },
159 },
160 {
161 .xpath = "/frr-isisd:isis/instance/spf/ietf-backoff-delay/init-delay",
162 .cbs = {
163 .modify = isis_instance_spf_ietf_backoff_delay_init_delay_modify,
164 },
165 },
166 {
167 .xpath = "/frr-isisd:isis/instance/spf/ietf-backoff-delay/short-delay",
168 .cbs = {
169 .modify = isis_instance_spf_ietf_backoff_delay_short_delay_modify,
170 },
171 },
172 {
173 .xpath = "/frr-isisd:isis/instance/spf/ietf-backoff-delay/long-delay",
174 .cbs = {
175 .modify = isis_instance_spf_ietf_backoff_delay_long_delay_modify,
176 },
177 },
178 {
179 .xpath = "/frr-isisd:isis/instance/spf/ietf-backoff-delay/hold-down",
180 .cbs = {
181 .modify = isis_instance_spf_ietf_backoff_delay_hold_down_modify,
182 },
183 },
184 {
185 .xpath = "/frr-isisd:isis/instance/spf/ietf-backoff-delay/time-to-learn",
186 .cbs = {
187 .modify = isis_instance_spf_ietf_backoff_delay_time_to_learn_modify,
188 },
189 },
190 {
191 .xpath = "/frr-isisd:isis/instance/spf/minimum-interval",
192 .cbs = {
193 .cli_show = cli_show_isis_spf_min_interval,
194 },
195 },
196 {
197 .xpath = "/frr-isisd:isis/instance/spf/minimum-interval/level-1",
198 .cbs = {
199 .modify = isis_instance_spf_minimum_interval_level_1_modify,
200 },
201 },
202 {
203 .xpath = "/frr-isisd:isis/instance/spf/minimum-interval/level-2",
204 .cbs = {
205 .modify = isis_instance_spf_minimum_interval_level_2_modify,
206 },
207 },
208 {
209 .xpath = "/frr-isisd:isis/instance/area-password",
210 .cbs = {
211 .apply_finish = area_password_apply_finish,
212 .cli_show = cli_show_isis_area_pwd,
213 .create = isis_instance_area_password_create,
214 .destroy = isis_instance_area_password_destroy,
215 },
216 },
217 {
218 .xpath = "/frr-isisd:isis/instance/area-password/password",
219 .cbs = {
220 .modify = isis_instance_area_password_password_modify,
221 },
222 },
223 {
224 .xpath = "/frr-isisd:isis/instance/area-password/password-type",
225 .cbs = {
226 .modify = isis_instance_area_password_password_type_modify,
227 },
228 },
229 {
230 .xpath = "/frr-isisd:isis/instance/area-password/authenticate-snp",
231 .cbs = {
232 .modify = isis_instance_area_password_authenticate_snp_modify,
233 },
234 },
235 {
236 .xpath = "/frr-isisd:isis/instance/domain-password",
237 .cbs = {
238 .apply_finish = domain_password_apply_finish,
239 .cli_show = cli_show_isis_domain_pwd,
240 .create = isis_instance_domain_password_create,
241 .destroy = isis_instance_domain_password_destroy,
242 },
243 },
244 {
245 .xpath = "/frr-isisd:isis/instance/domain-password/password",
246 .cbs = {
247 .modify = isis_instance_domain_password_password_modify,
248 },
249 },
250 {
251 .xpath = "/frr-isisd:isis/instance/domain-password/password-type",
252 .cbs = {
253 .modify = isis_instance_domain_password_password_type_modify,
254 },
255 },
256 {
257 .xpath = "/frr-isisd:isis/instance/domain-password/authenticate-snp",
258 .cbs = {
259 .modify = isis_instance_domain_password_authenticate_snp_modify,
260 },
261 },
262 {
263 .xpath = "/frr-isisd:isis/instance/default-information-originate/ipv4",
264 .cbs = {
265 .apply_finish = default_info_origin_ipv4_apply_finish,
266 .cli_show = cli_show_isis_def_origin_ipv4,
267 .create = isis_instance_default_information_originate_ipv4_create,
268 .destroy = isis_instance_default_information_originate_ipv4_destroy,
269 },
270 },
271 {
272 .xpath = "/frr-isisd:isis/instance/default-information-originate/ipv4/always",
273 .cbs = {
274 .modify = isis_instance_default_information_originate_ipv4_always_modify,
275 },
276 },
277 {
278 .xpath = "/frr-isisd:isis/instance/default-information-originate/ipv4/route-map",
279 .cbs = {
280 .destroy = isis_instance_default_information_originate_ipv4_route_map_destroy,
281 .modify = isis_instance_default_information_originate_ipv4_route_map_modify,
282 },
283 },
284 {
285 .xpath = "/frr-isisd:isis/instance/default-information-originate/ipv4/metric",
286 .cbs = {
287 .modify = isis_instance_default_information_originate_ipv4_metric_modify,
288 },
289 },
290 {
291 .xpath = "/frr-isisd:isis/instance/default-information-originate/ipv6",
292 .cbs = {
293 .apply_finish = default_info_origin_ipv6_apply_finish,
294 .cli_show = cli_show_isis_def_origin_ipv6,
295 .create = isis_instance_default_information_originate_ipv6_create,
296 .destroy = isis_instance_default_information_originate_ipv6_destroy,
297 },
298 },
299 {
300 .xpath = "/frr-isisd:isis/instance/default-information-originate/ipv6/always",
301 .cbs = {
302 .modify = isis_instance_default_information_originate_ipv6_always_modify,
303 },
304 },
305 {
306 .xpath = "/frr-isisd:isis/instance/default-information-originate/ipv6/route-map",
307 .cbs = {
308 .destroy = isis_instance_default_information_originate_ipv6_route_map_destroy,
309 .modify = isis_instance_default_information_originate_ipv6_route_map_modify,
310 },
311 },
312 {
313 .xpath = "/frr-isisd:isis/instance/default-information-originate/ipv6/metric",
314 .cbs = {
315 .modify = isis_instance_default_information_originate_ipv6_metric_modify,
316 },
317 },
318 {
319 .xpath = "/frr-isisd:isis/instance/redistribute/ipv4",
320 .cbs = {
321 .apply_finish = redistribute_ipv4_apply_finish,
322 .cli_show = cli_show_isis_redistribute_ipv4,
323 .create = isis_instance_redistribute_ipv4_create,
324 .destroy = isis_instance_redistribute_ipv4_destroy,
325 },
326 },
327 {
328 .xpath = "/frr-isisd:isis/instance/redistribute/ipv4/route-map",
329 .cbs = {
330 .destroy = isis_instance_redistribute_ipv4_route_map_destroy,
331 .modify = isis_instance_redistribute_ipv4_route_map_modify,
332 },
333 },
334 {
335 .xpath = "/frr-isisd:isis/instance/redistribute/ipv4/metric",
336 .cbs = {
337 .modify = isis_instance_redistribute_ipv4_metric_modify,
338 },
339 },
340 {
341 .xpath = "/frr-isisd:isis/instance/redistribute/ipv6",
342 .cbs = {
343 .apply_finish = redistribute_ipv6_apply_finish,
344 .cli_show = cli_show_isis_redistribute_ipv6,
345 .create = isis_instance_redistribute_ipv6_create,
346 .destroy = isis_instance_redistribute_ipv6_destroy,
347 },
348 },
349 {
350 .xpath = "/frr-isisd:isis/instance/redistribute/ipv6/route-map",
351 .cbs = {
352 .destroy = isis_instance_redistribute_ipv6_route_map_destroy,
353 .modify = isis_instance_redistribute_ipv6_route_map_modify,
354 },
355 },
356 {
357 .xpath = "/frr-isisd:isis/instance/redistribute/ipv6/metric",
358 .cbs = {
359 .modify = isis_instance_redistribute_ipv6_metric_modify,
360 },
361 },
362 {
363 .xpath = "/frr-isisd:isis/instance/multi-topology/ipv4-multicast",
364 .cbs = {
365 .cli_show = cli_show_isis_mt_ipv4_multicast,
366 .create = isis_instance_multi_topology_ipv4_multicast_create,
367 .destroy = isis_instance_multi_topology_ipv4_multicast_destroy,
368 },
369 },
370 {
371 .xpath = "/frr-isisd:isis/instance/multi-topology/ipv4-multicast/overload",
372 .cbs = {
373 .modify = isis_instance_multi_topology_ipv4_multicast_overload_modify,
374 },
375 },
376 {
377 .xpath = "/frr-isisd:isis/instance/multi-topology/ipv4-management",
378 .cbs = {
379 .cli_show = cli_show_isis_mt_ipv4_mgmt,
380 .create = isis_instance_multi_topology_ipv4_management_create,
381 .destroy = isis_instance_multi_topology_ipv4_management_destroy,
382 },
383 },
384 {
385 .xpath = "/frr-isisd:isis/instance/multi-topology/ipv4-management/overload",
386 .cbs = {
387 .modify = isis_instance_multi_topology_ipv4_management_overload_modify,
388 },
389 },
390 {
391 .xpath = "/frr-isisd:isis/instance/multi-topology/ipv6-unicast",
392 .cbs = {
393 .cli_show = cli_show_isis_mt_ipv6_unicast,
394 .create = isis_instance_multi_topology_ipv6_unicast_create,
395 .destroy = isis_instance_multi_topology_ipv6_unicast_destroy,
396 },
397 },
398 {
399 .xpath = "/frr-isisd:isis/instance/multi-topology/ipv6-unicast/overload",
400 .cbs = {
401 .modify = isis_instance_multi_topology_ipv6_unicast_overload_modify,
402 },
403 },
404 {
405 .xpath = "/frr-isisd:isis/instance/multi-topology/ipv6-multicast",
406 .cbs = {
407 .cli_show = cli_show_isis_mt_ipv6_multicast,
408 .create = isis_instance_multi_topology_ipv6_multicast_create,
409 .destroy = isis_instance_multi_topology_ipv6_multicast_destroy,
410 },
411 },
412 {
413 .xpath = "/frr-isisd:isis/instance/multi-topology/ipv6-multicast/overload",
414 .cbs = {
415 .modify = isis_instance_multi_topology_ipv6_multicast_overload_modify,
416 },
417 },
418 {
419 .xpath = "/frr-isisd:isis/instance/multi-topology/ipv6-management",
420 .cbs = {
421 .cli_show = cli_show_isis_mt_ipv6_mgmt,
422 .create = isis_instance_multi_topology_ipv6_management_create,
423 .destroy = isis_instance_multi_topology_ipv6_management_destroy,
424 },
425 },
426 {
427 .xpath = "/frr-isisd:isis/instance/multi-topology/ipv6-management/overload",
428 .cbs = {
429 .modify = isis_instance_multi_topology_ipv6_management_overload_modify,
430 },
431 },
432 {
433 .xpath = "/frr-isisd:isis/instance/multi-topology/ipv6-dstsrc",
434 .cbs = {
435 .cli_show = cli_show_isis_mt_ipv6_dstsrc,
436 .create = isis_instance_multi_topology_ipv6_dstsrc_create,
437 .destroy = isis_instance_multi_topology_ipv6_dstsrc_destroy,
438 },
439 },
440 {
441 .xpath = "/frr-isisd:isis/instance/multi-topology/ipv6-dstsrc/overload",
442 .cbs = {
443 .modify = isis_instance_multi_topology_ipv6_dstsrc_overload_modify,
444 },
445 },
446 {
447 .xpath = "/frr-isisd:isis/instance/log-adjacency-changes",
448 .cbs = {
449 .cli_show = cli_show_isis_log_adjacency,
450 .modify = isis_instance_log_adjacency_changes_modify,
451 },
452 },
453 {
454 .xpath = "/frr-isisd:isis/instance/mpls-te",
455 .cbs = {
456 .cli_show = cli_show_isis_mpls_te,
457 .create = isis_instance_mpls_te_create,
458 .destroy = isis_instance_mpls_te_destroy,
459 },
460 },
461 {
462 .xpath = "/frr-isisd:isis/instance/mpls-te/router-address",
463 .cbs = {
464 .cli_show = cli_show_isis_mpls_te_router_addr,
465 .destroy = isis_instance_mpls_te_router_address_destroy,
466 .modify = isis_instance_mpls_te_router_address_modify,
467 },
468 },
469 {
470 .xpath = "/frr-interface:lib/interface/frr-isisd:isis",
471 .cbs = {
472 .create = lib_interface_isis_create,
473 .destroy = lib_interface_isis_destroy,
474 },
475 },
476 {
477 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/area-tag",
478 .cbs = {
479 .modify = lib_interface_isis_area_tag_modify,
480 },
481 },
482 {
483 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/circuit-type",
484 .cbs = {
485 .cli_show = cli_show_ip_isis_circ_type,
486 .modify = lib_interface_isis_circuit_type_modify,
487 },
488 },
489 {
490 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/ipv4-routing",
491 .cbs = {
492 .cli_show = cli_show_ip_isis_ipv4,
493 .modify = lib_interface_isis_ipv4_routing_modify,
494 },
495 },
496 {
497 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/ipv6-routing",
498 .cbs = {
499 .cli_show = cli_show_ip_isis_ipv6,
500 .modify = lib_interface_isis_ipv6_routing_modify,
501 },
502 },
503 {
504 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/bfd-monitoring",
505 .cbs = {
506 .modify = lib_interface_isis_bfd_monitoring_modify,
507 .cli_show = cli_show_ip_isis_bfd_monitoring,
508 }
509 },
510 {
511 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/csnp-interval",
512 .cbs = {
513 .cli_show = cli_show_ip_isis_csnp_interval,
514 },
515 },
516 {
517 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/csnp-interval/level-1",
518 .cbs = {
519 .modify = lib_interface_isis_csnp_interval_level_1_modify,
520 },
521 },
522 {
523 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/csnp-interval/level-2",
524 .cbs = {
525 .modify = lib_interface_isis_csnp_interval_level_2_modify,
526 },
527 },
528 {
529 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/psnp-interval",
530 .cbs = {
531 .cli_show = cli_show_ip_isis_psnp_interval,
532 },
533 },
534 {
535 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/psnp-interval/level-1",
536 .cbs = {
537 .modify = lib_interface_isis_psnp_interval_level_1_modify,
538 },
539 },
540 {
541 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/psnp-interval/level-2",
542 .cbs = {
543 .modify = lib_interface_isis_psnp_interval_level_2_modify,
544 },
545 },
546 {
547 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/hello/padding",
548 .cbs = {
549 .cli_show = cli_show_ip_isis_hello_padding,
550 .modify = lib_interface_isis_hello_padding_modify,
551 },
552 },
553 {
554 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/hello/interval",
555 .cbs = {
556 .cli_show = cli_show_ip_isis_hello_interval,
557 },
558 },
559 {
560 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/hello/interval/level-1",
561 .cbs = {
562 .modify = lib_interface_isis_hello_interval_level_1_modify,
563 },
564 },
565 {
566 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/hello/interval/level-2",
567 .cbs = {
568 .modify = lib_interface_isis_hello_interval_level_2_modify,
569 },
570 },
571 {
572 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/hello/multiplier",
573 .cbs = {
574 .cli_show = cli_show_ip_isis_hello_multi,
575 },
576 },
577 {
578 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/hello/multiplier/level-1",
579 .cbs = {
580 .modify = lib_interface_isis_hello_multiplier_level_1_modify,
581 },
582 },
583 {
584 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/hello/multiplier/level-2",
585 .cbs = {
586 .modify = lib_interface_isis_hello_multiplier_level_2_modify,
587 },
588 },
589 {
590 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/metric",
591 .cbs = {
592 .cli_show = cli_show_ip_isis_metric,
593 },
594 },
595 {
596 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/metric/level-1",
597 .cbs = {
598 .modify = lib_interface_isis_metric_level_1_modify,
599 },
600 },
601 {
602 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/metric/level-2",
603 .cbs = {
604 .modify = lib_interface_isis_metric_level_2_modify,
605 },
606 },
607 {
608 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/priority",
609 .cbs = {
610 .cli_show = cli_show_ip_isis_priority,
611 },
612 },
613 {
614 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/priority/level-1",
615 .cbs = {
616 .modify = lib_interface_isis_priority_level_1_modify,
617 },
618 },
619 {
620 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/priority/level-2",
621 .cbs = {
622 .modify = lib_interface_isis_priority_level_2_modify,
623 },
624 },
625 {
626 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/network-type",
627 .cbs = {
628 .cli_show = cli_show_ip_isis_network_type,
629 .modify = lib_interface_isis_network_type_modify,
630 },
631 },
632 {
633 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/passive",
634 .cbs = {
635 .cli_show = cli_show_ip_isis_passive,
636 .modify = lib_interface_isis_passive_modify,
637 },
638 },
639 {
640 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/password",
641 .cbs = {
642 .cli_show = cli_show_ip_isis_password,
643 .create = lib_interface_isis_password_create,
644 .destroy = lib_interface_isis_password_destroy,
645 },
646 },
647 {
648 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/password/password",
649 .cbs = {
650 .modify = lib_interface_isis_password_password_modify,
651 },
652 },
653 {
654 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/password/password-type",
655 .cbs = {
656 .modify = lib_interface_isis_password_password_type_modify,
657 },
658 },
659 {
660 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/disable-three-way-handshake",
661 .cbs = {
662 .cli_show = cli_show_ip_isis_threeway_shake,
663 .modify = lib_interface_isis_disable_three_way_handshake_modify,
664 },
665 },
666 {
667 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/multi-topology/ipv4-unicast",
668 .cbs = {
669 .cli_show = cli_show_ip_isis_mt_ipv4_unicast,
670 .modify = lib_interface_isis_multi_topology_ipv4_unicast_modify,
671 },
672 },
673 {
674 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/multi-topology/ipv4-multicast",
675 .cbs = {
676 .cli_show = cli_show_ip_isis_mt_ipv4_multicast,
677 .modify = lib_interface_isis_multi_topology_ipv4_multicast_modify,
678 },
679 },
680 {
681 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/multi-topology/ipv4-management",
682 .cbs = {
683 .cli_show = cli_show_ip_isis_mt_ipv4_mgmt,
684 .modify = lib_interface_isis_multi_topology_ipv4_management_modify,
685 },
686 },
687 {
688 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/multi-topology/ipv6-unicast",
689 .cbs = {
690 .cli_show = cli_show_ip_isis_mt_ipv6_unicast,
691 .modify = lib_interface_isis_multi_topology_ipv6_unicast_modify,
692 },
693 },
694 {
695 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/multi-topology/ipv6-multicast",
696 .cbs = {
697 .cli_show = cli_show_ip_isis_mt_ipv6_multicast,
698 .modify = lib_interface_isis_multi_topology_ipv6_multicast_modify,
699 },
700 },
701 {
702 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/multi-topology/ipv6-management",
703 .cbs = {
704 .cli_show = cli_show_ip_isis_mt_ipv6_mgmt,
705 .modify = lib_interface_isis_multi_topology_ipv6_management_modify,
706 },
707 },
708 {
709 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/multi-topology/ipv6-dstsrc",
710 .cbs = {
711 .cli_show = cli_show_ip_isis_mt_ipv6_dstsrc,
712 .modify = lib_interface_isis_multi_topology_ipv6_dstsrc_modify,
713 },
714 },
715 {
716 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/adjacencies/adjacency",
717 .cbs = {
718 .get_next = lib_interface_isis_adjacencies_adjacency_get_next,
719 }
720 },
721 {
722 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/adjacencies/adjacency/neighbor-sys-type",
723 .cbs = {
724 .get_elem = lib_interface_isis_adjacencies_adjacency_neighbor_sys_type_get_elem,
725 }
726 },
727 {
728 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/adjacencies/adjacency/neighbor-sysid",
729 .cbs = {
730 .get_elem = lib_interface_isis_adjacencies_adjacency_neighbor_sysid_get_elem,
731 }
732 },
733 {
734 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/adjacencies/adjacency/neighbor-extended-circuit-id",
735 .cbs = {
736 .get_elem = lib_interface_isis_adjacencies_adjacency_neighbor_extended_circuit_id_get_elem,
737 }
738 },
739 {
740 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/adjacencies/adjacency/neighbor-snpa",
741 .cbs = {
742 .get_elem = lib_interface_isis_adjacencies_adjacency_neighbor_snpa_get_elem,
743 }
744 },
745 {
746 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/adjacencies/adjacency/hold-timer",
747 .cbs = {
748 .get_elem = lib_interface_isis_adjacencies_adjacency_hold_timer_get_elem,
749 }
750 },
751 {
752 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/adjacencies/adjacency/neighbor-priority",
753 .cbs = {
754 .get_elem = lib_interface_isis_adjacencies_adjacency_neighbor_priority_get_elem,
755 }
756 },
757 {
758 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/adjacencies/adjacency/state",
759 .cbs = {
760 .get_elem = lib_interface_isis_adjacencies_adjacency_state_get_elem,
761 }
762 },
763 {
764 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/event-counters/adjacency-changes",
765 .cbs = {
766 .get_elem = lib_interface_isis_event_counters_adjacency_changes_get_elem,
767 }
768 },
769 {
770 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/event-counters/adjacency-number",
771 .cbs = {
772 .get_elem = lib_interface_isis_event_counters_adjacency_number_get_elem,
773 }
774 },
775 {
776 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/event-counters/init-fails",
777 .cbs = {
778 .get_elem = lib_interface_isis_event_counters_init_fails_get_elem,
779 }
780 },
781 {
782 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/event-counters/adjacency-rejects",
783 .cbs = {
784 .get_elem = lib_interface_isis_event_counters_adjacency_rejects_get_elem,
785 }
786 },
787 {
788 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/event-counters/id-len-mismatch",
789 .cbs = {
790 .get_elem = lib_interface_isis_event_counters_id_len_mismatch_get_elem,
791 }
792 },
793 {
794 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/event-counters/max-area-addresses-mismatch",
795 .cbs = {
796 .get_elem = lib_interface_isis_event_counters_max_area_addresses_mismatch_get_elem,
797 }
798 },
799 {
800 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/event-counters/authentication-type-fails",
801 .cbs = {
802 .get_elem = lib_interface_isis_event_counters_authentication_type_fails_get_elem,
803 }
804 },
805 {
806 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/event-counters/authentication-fails",
807 .cbs = {
808 .get_elem = lib_interface_isis_event_counters_authentication_fails_get_elem,
809 }
810 },
811 {
812 .xpath = NULL,
813 },
814 }
815};