]> git.proxmox.com Git - mirror_frr.git/blob - isisd/isis_nb.c
Merge pull request #5786 from mjstapp/fix_notif_empty_nhg
[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-interface:lib/interface/frr-isisd:isis",
459 .cbs = {
460 .create = lib_interface_isis_create,
461 .destroy = lib_interface_isis_destroy,
462 },
463 },
464 {
465 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/area-tag",
466 .cbs = {
467 .modify = lib_interface_isis_area_tag_modify,
468 },
469 },
470 {
471 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/circuit-type",
472 .cbs = {
473 .cli_show = cli_show_ip_isis_circ_type,
474 .modify = lib_interface_isis_circuit_type_modify,
475 },
476 },
477 {
478 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/ipv4-routing",
479 .cbs = {
480 .cli_show = cli_show_ip_isis_ipv4,
481 .modify = lib_interface_isis_ipv4_routing_modify,
482 },
483 },
484 {
485 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/ipv6-routing",
486 .cbs = {
487 .cli_show = cli_show_ip_isis_ipv6,
488 .modify = lib_interface_isis_ipv6_routing_modify,
489 },
490 },
491 {
492 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/bfd-monitoring",
493 .cbs = {
494 .modify = lib_interface_isis_bfd_monitoring_modify,
495 .cli_show = cli_show_ip_isis_bfd_monitoring,
496 }
497 },
498 {
499 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/csnp-interval",
500 .cbs = {
501 .cli_show = cli_show_ip_isis_csnp_interval,
502 },
503 },
504 {
505 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/csnp-interval/level-1",
506 .cbs = {
507 .modify = lib_interface_isis_csnp_interval_level_1_modify,
508 },
509 },
510 {
511 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/csnp-interval/level-2",
512 .cbs = {
513 .modify = lib_interface_isis_csnp_interval_level_2_modify,
514 },
515 },
516 {
517 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/psnp-interval",
518 .cbs = {
519 .cli_show = cli_show_ip_isis_psnp_interval,
520 },
521 },
522 {
523 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/psnp-interval/level-1",
524 .cbs = {
525 .modify = lib_interface_isis_psnp_interval_level_1_modify,
526 },
527 },
528 {
529 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/psnp-interval/level-2",
530 .cbs = {
531 .modify = lib_interface_isis_psnp_interval_level_2_modify,
532 },
533 },
534 {
535 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/hello/padding",
536 .cbs = {
537 .cli_show = cli_show_ip_isis_hello_padding,
538 .modify = lib_interface_isis_hello_padding_modify,
539 },
540 },
541 {
542 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/hello/interval",
543 .cbs = {
544 .cli_show = cli_show_ip_isis_hello_interval,
545 },
546 },
547 {
548 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/hello/interval/level-1",
549 .cbs = {
550 .modify = lib_interface_isis_hello_interval_level_1_modify,
551 },
552 },
553 {
554 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/hello/interval/level-2",
555 .cbs = {
556 .modify = lib_interface_isis_hello_interval_level_2_modify,
557 },
558 },
559 {
560 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/hello/multiplier",
561 .cbs = {
562 .cli_show = cli_show_ip_isis_hello_multi,
563 },
564 },
565 {
566 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/hello/multiplier/level-1",
567 .cbs = {
568 .modify = lib_interface_isis_hello_multiplier_level_1_modify,
569 },
570 },
571 {
572 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/hello/multiplier/level-2",
573 .cbs = {
574 .modify = lib_interface_isis_hello_multiplier_level_2_modify,
575 },
576 },
577 {
578 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/metric",
579 .cbs = {
580 .cli_show = cli_show_ip_isis_metric,
581 },
582 },
583 {
584 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/metric/level-1",
585 .cbs = {
586 .modify = lib_interface_isis_metric_level_1_modify,
587 },
588 },
589 {
590 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/metric/level-2",
591 .cbs = {
592 .modify = lib_interface_isis_metric_level_2_modify,
593 },
594 },
595 {
596 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/priority",
597 .cbs = {
598 .cli_show = cli_show_ip_isis_priority,
599 },
600 },
601 {
602 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/priority/level-1",
603 .cbs = {
604 .modify = lib_interface_isis_priority_level_1_modify,
605 },
606 },
607 {
608 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/priority/level-2",
609 .cbs = {
610 .modify = lib_interface_isis_priority_level_2_modify,
611 },
612 },
613 {
614 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/network-type",
615 .cbs = {
616 .cli_show = cli_show_ip_isis_network_type,
617 .modify = lib_interface_isis_network_type_modify,
618 },
619 },
620 {
621 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/passive",
622 .cbs = {
623 .cli_show = cli_show_ip_isis_passive,
624 .modify = lib_interface_isis_passive_modify,
625 },
626 },
627 {
628 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/password",
629 .cbs = {
630 .cli_show = cli_show_ip_isis_password,
631 .create = lib_interface_isis_password_create,
632 .destroy = lib_interface_isis_password_destroy,
633 },
634 },
635 {
636 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/password/password",
637 .cbs = {
638 .modify = lib_interface_isis_password_password_modify,
639 },
640 },
641 {
642 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/password/password-type",
643 .cbs = {
644 .modify = lib_interface_isis_password_password_type_modify,
645 },
646 },
647 {
648 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/disable-three-way-handshake",
649 .cbs = {
650 .cli_show = cli_show_ip_isis_threeway_shake,
651 .modify = lib_interface_isis_disable_three_way_handshake_modify,
652 },
653 },
654 {
655 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/multi-topology/ipv4-unicast",
656 .cbs = {
657 .cli_show = cli_show_ip_isis_mt_ipv4_unicast,
658 .modify = lib_interface_isis_multi_topology_ipv4_unicast_modify,
659 },
660 },
661 {
662 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/multi-topology/ipv4-multicast",
663 .cbs = {
664 .cli_show = cli_show_ip_isis_mt_ipv4_multicast,
665 .modify = lib_interface_isis_multi_topology_ipv4_multicast_modify,
666 },
667 },
668 {
669 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/multi-topology/ipv4-management",
670 .cbs = {
671 .cli_show = cli_show_ip_isis_mt_ipv4_mgmt,
672 .modify = lib_interface_isis_multi_topology_ipv4_management_modify,
673 },
674 },
675 {
676 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/multi-topology/ipv6-unicast",
677 .cbs = {
678 .cli_show = cli_show_ip_isis_mt_ipv6_unicast,
679 .modify = lib_interface_isis_multi_topology_ipv6_unicast_modify,
680 },
681 },
682 {
683 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/multi-topology/ipv6-multicast",
684 .cbs = {
685 .cli_show = cli_show_ip_isis_mt_ipv6_multicast,
686 .modify = lib_interface_isis_multi_topology_ipv6_multicast_modify,
687 },
688 },
689 {
690 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/multi-topology/ipv6-management",
691 .cbs = {
692 .cli_show = cli_show_ip_isis_mt_ipv6_mgmt,
693 .modify = lib_interface_isis_multi_topology_ipv6_management_modify,
694 },
695 },
696 {
697 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/multi-topology/ipv6-dstsrc",
698 .cbs = {
699 .cli_show = cli_show_ip_isis_mt_ipv6_dstsrc,
700 .modify = lib_interface_isis_multi_topology_ipv6_dstsrc_modify,
701 },
702 },
703 {
704 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/adjacencies/adjacency",
705 .cbs = {
706 .get_next = lib_interface_isis_adjacencies_adjacency_get_next,
707 }
708 },
709 {
710 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/adjacencies/adjacency/neighbor-sys-type",
711 .cbs = {
712 .get_elem = lib_interface_isis_adjacencies_adjacency_neighbor_sys_type_get_elem,
713 }
714 },
715 {
716 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/adjacencies/adjacency/neighbor-sysid",
717 .cbs = {
718 .get_elem = lib_interface_isis_adjacencies_adjacency_neighbor_sysid_get_elem,
719 }
720 },
721 {
722 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/adjacencies/adjacency/neighbor-extended-circuit-id",
723 .cbs = {
724 .get_elem = lib_interface_isis_adjacencies_adjacency_neighbor_extended_circuit_id_get_elem,
725 }
726 },
727 {
728 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/adjacencies/adjacency/neighbor-snpa",
729 .cbs = {
730 .get_elem = lib_interface_isis_adjacencies_adjacency_neighbor_snpa_get_elem,
731 }
732 },
733 {
734 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/adjacencies/adjacency/hold-timer",
735 .cbs = {
736 .get_elem = lib_interface_isis_adjacencies_adjacency_hold_timer_get_elem,
737 }
738 },
739 {
740 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/adjacencies/adjacency/neighbor-priority",
741 .cbs = {
742 .get_elem = lib_interface_isis_adjacencies_adjacency_neighbor_priority_get_elem,
743 }
744 },
745 {
746 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/adjacencies/adjacency/state",
747 .cbs = {
748 .get_elem = lib_interface_isis_adjacencies_adjacency_state_get_elem,
749 }
750 },
751 {
752 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/event-counters/adjacency-changes",
753 .cbs = {
754 .get_elem = lib_interface_isis_event_counters_adjacency_changes_get_elem,
755 }
756 },
757 {
758 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/event-counters/adjacency-number",
759 .cbs = {
760 .get_elem = lib_interface_isis_event_counters_adjacency_number_get_elem,
761 }
762 },
763 {
764 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/event-counters/init-fails",
765 .cbs = {
766 .get_elem = lib_interface_isis_event_counters_init_fails_get_elem,
767 }
768 },
769 {
770 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/event-counters/adjacency-rejects",
771 .cbs = {
772 .get_elem = lib_interface_isis_event_counters_adjacency_rejects_get_elem,
773 }
774 },
775 {
776 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/event-counters/id-len-mismatch",
777 .cbs = {
778 .get_elem = lib_interface_isis_event_counters_id_len_mismatch_get_elem,
779 }
780 },
781 {
782 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/event-counters/max-area-addresses-mismatch",
783 .cbs = {
784 .get_elem = lib_interface_isis_event_counters_max_area_addresses_mismatch_get_elem,
785 }
786 },
787 {
788 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/event-counters/authentication-type-fails",
789 .cbs = {
790 .get_elem = lib_interface_isis_event_counters_authentication_type_fails_get_elem,
791 }
792 },
793 {
794 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/event-counters/authentication-fails",
795 .cbs = {
796 .get_elem = lib_interface_isis_event_counters_authentication_fails_get_elem,
797 }
798 },
799 {
800 .xpath = NULL,
801 },
802 }
803 };