]> git.proxmox.com Git - mirror_frr.git/blob - isisd/isis_nb.c
Merge pull request #7366 from eololab/add-disable-rpath-option-in-configure
[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/segment-routing/prefix-sid-map/prefix-sid/n-flag-clear",
542 .cbs = {
543 .modify = isis_instance_segment_routing_prefix_sid_map_prefix_sid_n_flag_clear_modify,
544 }
545 },
546 {
547 .xpath = "/frr-isisd:isis/instance/mpls/ldp-sync",
548 .cbs = {
549 .cli_show = cli_show_isis_mpls_ldp_sync,
550 .create = isis_instance_mpls_ldp_sync_create,
551 .destroy = isis_instance_mpls_ldp_sync_destroy,
552 },
553 },
554 {
555 .xpath = "/frr-isisd:isis/instance/mpls/ldp-sync/holddown",
556 .cbs = {
557 .cli_show = cli_show_isis_mpls_ldp_sync_holddown,
558 .modify = isis_instance_mpls_ldp_sync_holddown_modify,
559 },
560 },
561 {
562 .xpath = "/frr-interface:lib/interface/frr-isisd:isis",
563 .cbs = {
564 .create = lib_interface_isis_create,
565 .destroy = lib_interface_isis_destroy,
566 },
567 },
568 {
569 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/area-tag",
570 .cbs = {
571 .modify = lib_interface_isis_area_tag_modify,
572 },
573 },
574 {
575 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/vrf",
576 .cbs = {
577 .modify = lib_interface_isis_vrf_modify,
578 },
579 },
580
581 {
582 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/circuit-type",
583 .cbs = {
584 .cli_show = cli_show_ip_isis_circ_type,
585 .modify = lib_interface_isis_circuit_type_modify,
586 },
587 },
588 {
589 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/ipv4-routing",
590 .cbs = {
591 .cli_show = cli_show_ip_isis_ipv4,
592 .modify = lib_interface_isis_ipv4_routing_modify,
593 },
594 },
595 {
596 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/ipv6-routing",
597 .cbs = {
598 .cli_show = cli_show_ip_isis_ipv6,
599 .modify = lib_interface_isis_ipv6_routing_modify,
600 },
601 },
602 {
603 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/bfd-monitoring",
604 .cbs = {
605 .apply_finish = lib_interface_isis_bfd_monitoring_apply_finish,
606 .cli_show = cli_show_ip_isis_bfd_monitoring,
607 }
608 },
609 {
610 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/bfd-monitoring/enabled",
611 .cbs = {
612 .modify = lib_interface_isis_bfd_monitoring_enabled_modify,
613 }
614 },
615 {
616 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/bfd-monitoring/profile",
617 .cbs = {
618 .modify = lib_interface_isis_bfd_monitoring_profile_modify,
619 .destroy = lib_interface_isis_bfd_monitoring_profile_destroy,
620 }
621 },
622 {
623 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/csnp-interval",
624 .cbs = {
625 .cli_show = cli_show_ip_isis_csnp_interval,
626 },
627 },
628 {
629 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/csnp-interval/level-1",
630 .cbs = {
631 .modify = lib_interface_isis_csnp_interval_level_1_modify,
632 },
633 },
634 {
635 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/csnp-interval/level-2",
636 .cbs = {
637 .modify = lib_interface_isis_csnp_interval_level_2_modify,
638 },
639 },
640 {
641 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/psnp-interval",
642 .cbs = {
643 .cli_show = cli_show_ip_isis_psnp_interval,
644 },
645 },
646 {
647 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/psnp-interval/level-1",
648 .cbs = {
649 .modify = lib_interface_isis_psnp_interval_level_1_modify,
650 },
651 },
652 {
653 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/psnp-interval/level-2",
654 .cbs = {
655 .modify = lib_interface_isis_psnp_interval_level_2_modify,
656 },
657 },
658 {
659 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/hello/padding",
660 .cbs = {
661 .cli_show = cli_show_ip_isis_hello_padding,
662 .modify = lib_interface_isis_hello_padding_modify,
663 },
664 },
665 {
666 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/hello/interval",
667 .cbs = {
668 .cli_show = cli_show_ip_isis_hello_interval,
669 },
670 },
671 {
672 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/hello/interval/level-1",
673 .cbs = {
674 .modify = lib_interface_isis_hello_interval_level_1_modify,
675 },
676 },
677 {
678 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/hello/interval/level-2",
679 .cbs = {
680 .modify = lib_interface_isis_hello_interval_level_2_modify,
681 },
682 },
683 {
684 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/hello/multiplier",
685 .cbs = {
686 .cli_show = cli_show_ip_isis_hello_multi,
687 },
688 },
689 {
690 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/hello/multiplier/level-1",
691 .cbs = {
692 .modify = lib_interface_isis_hello_multiplier_level_1_modify,
693 },
694 },
695 {
696 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/hello/multiplier/level-2",
697 .cbs = {
698 .modify = lib_interface_isis_hello_multiplier_level_2_modify,
699 },
700 },
701 {
702 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/metric",
703 .cbs = {
704 .cli_show = cli_show_ip_isis_metric,
705 },
706 },
707 {
708 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/metric/level-1",
709 .cbs = {
710 .modify = lib_interface_isis_metric_level_1_modify,
711 },
712 },
713 {
714 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/metric/level-2",
715 .cbs = {
716 .modify = lib_interface_isis_metric_level_2_modify,
717 },
718 },
719 {
720 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/priority",
721 .cbs = {
722 .cli_show = cli_show_ip_isis_priority,
723 },
724 },
725 {
726 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/priority/level-1",
727 .cbs = {
728 .modify = lib_interface_isis_priority_level_1_modify,
729 },
730 },
731 {
732 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/priority/level-2",
733 .cbs = {
734 .modify = lib_interface_isis_priority_level_2_modify,
735 },
736 },
737 {
738 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/network-type",
739 .cbs = {
740 .cli_show = cli_show_ip_isis_network_type,
741 .modify = lib_interface_isis_network_type_modify,
742 },
743 },
744 {
745 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/passive",
746 .cbs = {
747 .cli_show = cli_show_ip_isis_passive,
748 .modify = lib_interface_isis_passive_modify,
749 },
750 },
751 {
752 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/password",
753 .cbs = {
754 .cli_show = cli_show_ip_isis_password,
755 .create = lib_interface_isis_password_create,
756 .destroy = lib_interface_isis_password_destroy,
757 },
758 },
759 {
760 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/password/password",
761 .cbs = {
762 .modify = lib_interface_isis_password_password_modify,
763 },
764 },
765 {
766 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/password/password-type",
767 .cbs = {
768 .modify = lib_interface_isis_password_password_type_modify,
769 },
770 },
771 {
772 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/disable-three-way-handshake",
773 .cbs = {
774 .cli_show = cli_show_ip_isis_threeway_shake,
775 .modify = lib_interface_isis_disable_three_way_handshake_modify,
776 },
777 },
778 {
779 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/multi-topology/ipv4-unicast",
780 .cbs = {
781 .cli_show = cli_show_ip_isis_mt_ipv4_unicast,
782 .modify = lib_interface_isis_multi_topology_ipv4_unicast_modify,
783 },
784 },
785 {
786 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/multi-topology/ipv4-multicast",
787 .cbs = {
788 .cli_show = cli_show_ip_isis_mt_ipv4_multicast,
789 .modify = lib_interface_isis_multi_topology_ipv4_multicast_modify,
790 },
791 },
792 {
793 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/multi-topology/ipv4-management",
794 .cbs = {
795 .cli_show = cli_show_ip_isis_mt_ipv4_mgmt,
796 .modify = lib_interface_isis_multi_topology_ipv4_management_modify,
797 },
798 },
799 {
800 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/multi-topology/ipv6-unicast",
801 .cbs = {
802 .cli_show = cli_show_ip_isis_mt_ipv6_unicast,
803 .modify = lib_interface_isis_multi_topology_ipv6_unicast_modify,
804 },
805 },
806 {
807 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/multi-topology/ipv6-multicast",
808 .cbs = {
809 .cli_show = cli_show_ip_isis_mt_ipv6_multicast,
810 .modify = lib_interface_isis_multi_topology_ipv6_multicast_modify,
811 },
812 },
813 {
814 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/multi-topology/ipv6-management",
815 .cbs = {
816 .cli_show = cli_show_ip_isis_mt_ipv6_mgmt,
817 .modify = lib_interface_isis_multi_topology_ipv6_management_modify,
818 },
819 },
820 {
821 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/multi-topology/ipv6-dstsrc",
822 .cbs = {
823 .cli_show = cli_show_ip_isis_mt_ipv6_dstsrc,
824 .modify = lib_interface_isis_multi_topology_ipv6_dstsrc_modify,
825 },
826 },
827 {
828 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/fast-reroute",
829 .cbs = {
830 .cli_show = cli_show_ip_isis_ti_lfa,
831 }
832 },
833 {
834 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/fast-reroute/level-1/ti-lfa/enable",
835 .cbs = {
836 .modify = lib_interface_isis_fast_reroute_level_1_ti_lfa_enable_modify,
837 }
838 },
839 {
840 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/fast-reroute/level-1/ti-lfa/node-protection",
841 .cbs = {
842 .modify = lib_interface_isis_fast_reroute_level_1_ti_lfa_node_protection_modify,
843 }
844 },
845 {
846 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/fast-reroute/level-2/ti-lfa/enable",
847 .cbs = {
848 .modify = lib_interface_isis_fast_reroute_level_2_ti_lfa_enable_modify,
849 }
850 },
851 {
852 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/fast-reroute/level-2/ti-lfa/node-protection",
853 .cbs = {
854 .modify = lib_interface_isis_fast_reroute_level_2_ti_lfa_node_protection_modify,
855 }
856 },
857 {
858 .xpath = "/frr-interface:lib/interface/state/frr-isisd:isis",
859 .cbs = {
860 .get_elem = lib_interface_state_isis_get_elem,
861 }
862 },
863 {
864 .xpath = "/frr-interface:lib/interface/state/frr-isisd:isis/adjacencies/adjacency",
865 .cbs = {
866 .get_next = lib_interface_state_isis_adjacencies_adjacency_get_next,
867 }
868 },
869 {
870 .xpath = "/frr-interface:lib/interface/state/frr-isisd:isis/adjacencies/adjacency/neighbor-sys-type",
871 .cbs = {
872 .get_elem = lib_interface_state_isis_adjacencies_adjacency_neighbor_sys_type_get_elem,
873 }
874 },
875 {
876 .xpath = "/frr-interface:lib/interface/state/frr-isisd:isis/adjacencies/adjacency/neighbor-sysid",
877 .cbs = {
878 .get_elem = lib_interface_state_isis_adjacencies_adjacency_neighbor_sysid_get_elem,
879 }
880 },
881 {
882 .xpath = "/frr-interface:lib/interface/state/frr-isisd:isis/adjacencies/adjacency/neighbor-extended-circuit-id",
883 .cbs = {
884 .get_elem = lib_interface_state_isis_adjacencies_adjacency_neighbor_extended_circuit_id_get_elem,
885 }
886 },
887 {
888 .xpath = "/frr-interface:lib/interface/state/frr-isisd:isis/adjacencies/adjacency/neighbor-snpa",
889 .cbs = {
890 .get_elem = lib_interface_state_isis_adjacencies_adjacency_neighbor_snpa_get_elem,
891 }
892 },
893 {
894 .xpath = "/frr-interface:lib/interface/state/frr-isisd:isis/adjacencies/adjacency/hold-timer",
895 .cbs = {
896 .get_elem = lib_interface_state_isis_adjacencies_adjacency_hold_timer_get_elem,
897 }
898 },
899 {
900 .xpath = "/frr-interface:lib/interface/state/frr-isisd:isis/adjacencies/adjacency/neighbor-priority",
901 .cbs = {
902 .get_elem = lib_interface_state_isis_adjacencies_adjacency_neighbor_priority_get_elem,
903 }
904 },
905 {
906 .xpath = "/frr-interface:lib/interface/state/frr-isisd:isis/adjacencies/adjacency/state",
907 .cbs = {
908 .get_elem = lib_interface_state_isis_adjacencies_adjacency_state_get_elem,
909 }
910 },
911 {
912 .xpath = "/frr-interface:lib/interface/state/frr-isisd:isis/event-counters/adjacency-changes",
913 .cbs = {
914 .get_elem = lib_interface_state_isis_event_counters_adjacency_changes_get_elem,
915 }
916 },
917 {
918 .xpath = "/frr-interface:lib/interface/state/frr-isisd:isis/event-counters/adjacency-number",
919 .cbs = {
920 .get_elem = lib_interface_state_isis_event_counters_adjacency_number_get_elem,
921 }
922 },
923 {
924 .xpath = "/frr-interface:lib/interface/state/frr-isisd:isis/event-counters/init-fails",
925 .cbs = {
926 .get_elem = lib_interface_state_isis_event_counters_init_fails_get_elem,
927 }
928 },
929 {
930 .xpath = "/frr-interface:lib/interface/state/frr-isisd:isis/event-counters/adjacency-rejects",
931 .cbs = {
932 .get_elem = lib_interface_state_isis_event_counters_adjacency_rejects_get_elem,
933 }
934 },
935 {
936 .xpath = "/frr-interface:lib/interface/state/frr-isisd:isis/event-counters/id-len-mismatch",
937 .cbs = {
938 .get_elem = lib_interface_state_isis_event_counters_id_len_mismatch_get_elem,
939 }
940 },
941 {
942 .xpath = "/frr-interface:lib/interface/state/frr-isisd:isis/event-counters/max-area-addresses-mismatch",
943 .cbs = {
944 .get_elem = lib_interface_state_isis_event_counters_max_area_addresses_mismatch_get_elem,
945 }
946 },
947 {
948 .xpath = "/frr-interface:lib/interface/state/frr-isisd:isis/event-counters/authentication-type-fails",
949 .cbs = {
950 .get_elem = lib_interface_state_isis_event_counters_authentication_type_fails_get_elem,
951 }
952 },
953 {
954 .xpath = "/frr-interface:lib/interface/state/frr-isisd:isis/event-counters/authentication-fails",
955 .cbs = {
956 .get_elem = lib_interface_state_isis_event_counters_authentication_fails_get_elem,
957 }
958 },
959 {
960 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/mpls/ldp-sync",
961 .cbs = {
962 .cli_show = cli_show_isis_mpls_if_ldp_sync,
963 .modify = lib_interface_isis_mpls_ldp_sync_modify,
964 }
965 },
966 {
967 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/mpls/holddown",
968 .cbs = {
969 .cli_show = cli_show_isis_mpls_if_ldp_sync_holddown,
970 .modify = lib_interface_isis_mpls_holddown_modify,
971 .destroy = lib_interface_isis_mpls_holddown_destroy,
972 }
973 },
974 {
975 .xpath = NULL,
976 },
977 }
978 };