]> git.proxmox.com Git - mirror_frr.git/blob - isisd/isis_nb.c
Merge pull request #7866 from kishorekunal01/fpm_dump_issue
[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/spf/prefix-priorities/critical/access-list-name",
198 .cbs = {
199 .cli_show = cli_show_isis_spf_prefix_priority,
200 .modify = isis_instance_spf_prefix_priorities_critical_access_list_name_modify,
201 .destroy = isis_instance_spf_prefix_priorities_critical_access_list_name_destroy,
202 }
203 },
204 {
205 .xpath = "/frr-isisd:isis/instance/spf/prefix-priorities/high/access-list-name",
206 .cbs = {
207 .cli_show = cli_show_isis_spf_prefix_priority,
208 .modify = isis_instance_spf_prefix_priorities_high_access_list_name_modify,
209 .destroy = isis_instance_spf_prefix_priorities_high_access_list_name_destroy,
210 }
211 },
212 {
213 .xpath = "/frr-isisd:isis/instance/spf/prefix-priorities/medium/access-list-name",
214 .cbs = {
215 .cli_show = cli_show_isis_spf_prefix_priority,
216 .modify = isis_instance_spf_prefix_priorities_medium_access_list_name_modify,
217 .destroy = isis_instance_spf_prefix_priorities_medium_access_list_name_destroy,
218 }
219 },
220 {
221 .xpath = "/frr-isisd:isis/instance/area-password",
222 .cbs = {
223 .apply_finish = area_password_apply_finish,
224 .cli_show = cli_show_isis_area_pwd,
225 .create = isis_instance_area_password_create,
226 .destroy = isis_instance_area_password_destroy,
227 },
228 },
229 {
230 .xpath = "/frr-isisd:isis/instance/area-password/password",
231 .cbs = {
232 .modify = isis_instance_area_password_password_modify,
233 },
234 },
235 {
236 .xpath = "/frr-isisd:isis/instance/area-password/password-type",
237 .cbs = {
238 .modify = isis_instance_area_password_password_type_modify,
239 },
240 },
241 {
242 .xpath = "/frr-isisd:isis/instance/area-password/authenticate-snp",
243 .cbs = {
244 .modify = isis_instance_area_password_authenticate_snp_modify,
245 },
246 },
247 {
248 .xpath = "/frr-isisd:isis/instance/domain-password",
249 .cbs = {
250 .apply_finish = domain_password_apply_finish,
251 .cli_show = cli_show_isis_domain_pwd,
252 .create = isis_instance_domain_password_create,
253 .destroy = isis_instance_domain_password_destroy,
254 },
255 },
256 {
257 .xpath = "/frr-isisd:isis/instance/domain-password/password",
258 .cbs = {
259 .modify = isis_instance_domain_password_password_modify,
260 },
261 },
262 {
263 .xpath = "/frr-isisd:isis/instance/domain-password/password-type",
264 .cbs = {
265 .modify = isis_instance_domain_password_password_type_modify,
266 },
267 },
268 {
269 .xpath = "/frr-isisd:isis/instance/domain-password/authenticate-snp",
270 .cbs = {
271 .modify = isis_instance_domain_password_authenticate_snp_modify,
272 },
273 },
274 {
275 .xpath = "/frr-isisd:isis/instance/default-information-originate/ipv4",
276 .cbs = {
277 .apply_finish = default_info_origin_ipv4_apply_finish,
278 .cli_show = cli_show_isis_def_origin_ipv4,
279 .create = isis_instance_default_information_originate_ipv4_create,
280 .destroy = isis_instance_default_information_originate_ipv4_destroy,
281 },
282 },
283 {
284 .xpath = "/frr-isisd:isis/instance/default-information-originate/ipv4/always",
285 .cbs = {
286 .modify = isis_instance_default_information_originate_ipv4_always_modify,
287 },
288 },
289 {
290 .xpath = "/frr-isisd:isis/instance/default-information-originate/ipv4/route-map",
291 .cbs = {
292 .destroy = isis_instance_default_information_originate_ipv4_route_map_destroy,
293 .modify = isis_instance_default_information_originate_ipv4_route_map_modify,
294 },
295 },
296 {
297 .xpath = "/frr-isisd:isis/instance/default-information-originate/ipv4/metric",
298 .cbs = {
299 .modify = isis_instance_default_information_originate_ipv4_metric_modify,
300 },
301 },
302 {
303 .xpath = "/frr-isisd:isis/instance/default-information-originate/ipv6",
304 .cbs = {
305 .apply_finish = default_info_origin_ipv6_apply_finish,
306 .cli_show = cli_show_isis_def_origin_ipv6,
307 .create = isis_instance_default_information_originate_ipv6_create,
308 .destroy = isis_instance_default_information_originate_ipv6_destroy,
309 },
310 },
311 {
312 .xpath = "/frr-isisd:isis/instance/default-information-originate/ipv6/always",
313 .cbs = {
314 .modify = isis_instance_default_information_originate_ipv6_always_modify,
315 },
316 },
317 {
318 .xpath = "/frr-isisd:isis/instance/default-information-originate/ipv6/route-map",
319 .cbs = {
320 .destroy = isis_instance_default_information_originate_ipv6_route_map_destroy,
321 .modify = isis_instance_default_information_originate_ipv6_route_map_modify,
322 },
323 },
324 {
325 .xpath = "/frr-isisd:isis/instance/default-information-originate/ipv6/metric",
326 .cbs = {
327 .modify = isis_instance_default_information_originate_ipv6_metric_modify,
328 },
329 },
330 {
331 .xpath = "/frr-isisd:isis/instance/redistribute/ipv4",
332 .cbs = {
333 .apply_finish = redistribute_ipv4_apply_finish,
334 .cli_show = cli_show_isis_redistribute_ipv4,
335 .create = isis_instance_redistribute_ipv4_create,
336 .destroy = isis_instance_redistribute_ipv4_destroy,
337 },
338 },
339 {
340 .xpath = "/frr-isisd:isis/instance/redistribute/ipv4/route-map",
341 .cbs = {
342 .destroy = isis_instance_redistribute_ipv4_route_map_destroy,
343 .modify = isis_instance_redistribute_ipv4_route_map_modify,
344 },
345 },
346 {
347 .xpath = "/frr-isisd:isis/instance/redistribute/ipv4/metric",
348 .cbs = {
349 .modify = isis_instance_redistribute_ipv4_metric_modify,
350 },
351 },
352 {
353 .xpath = "/frr-isisd:isis/instance/redistribute/ipv6",
354 .cbs = {
355 .apply_finish = redistribute_ipv6_apply_finish,
356 .cli_show = cli_show_isis_redistribute_ipv6,
357 .create = isis_instance_redistribute_ipv6_create,
358 .destroy = isis_instance_redistribute_ipv6_destroy,
359 },
360 },
361 {
362 .xpath = "/frr-isisd:isis/instance/redistribute/ipv6/route-map",
363 .cbs = {
364 .destroy = isis_instance_redistribute_ipv6_route_map_destroy,
365 .modify = isis_instance_redistribute_ipv6_route_map_modify,
366 },
367 },
368 {
369 .xpath = "/frr-isisd:isis/instance/redistribute/ipv6/metric",
370 .cbs = {
371 .modify = isis_instance_redistribute_ipv6_metric_modify,
372 },
373 },
374 {
375 .xpath = "/frr-isisd:isis/instance/multi-topology/ipv4-multicast",
376 .cbs = {
377 .cli_show = cli_show_isis_mt_ipv4_multicast,
378 .create = isis_instance_multi_topology_ipv4_multicast_create,
379 .destroy = isis_instance_multi_topology_ipv4_multicast_destroy,
380 },
381 },
382 {
383 .xpath = "/frr-isisd:isis/instance/multi-topology/ipv4-multicast/overload",
384 .cbs = {
385 .modify = isis_instance_multi_topology_ipv4_multicast_overload_modify,
386 },
387 },
388 {
389 .xpath = "/frr-isisd:isis/instance/multi-topology/ipv4-management",
390 .cbs = {
391 .cli_show = cli_show_isis_mt_ipv4_mgmt,
392 .create = isis_instance_multi_topology_ipv4_management_create,
393 .destroy = isis_instance_multi_topology_ipv4_management_destroy,
394 },
395 },
396 {
397 .xpath = "/frr-isisd:isis/instance/multi-topology/ipv4-management/overload",
398 .cbs = {
399 .modify = isis_instance_multi_topology_ipv4_management_overload_modify,
400 },
401 },
402 {
403 .xpath = "/frr-isisd:isis/instance/multi-topology/ipv6-unicast",
404 .cbs = {
405 .cli_show = cli_show_isis_mt_ipv6_unicast,
406 .create = isis_instance_multi_topology_ipv6_unicast_create,
407 .destroy = isis_instance_multi_topology_ipv6_unicast_destroy,
408 },
409 },
410 {
411 .xpath = "/frr-isisd:isis/instance/multi-topology/ipv6-unicast/overload",
412 .cbs = {
413 .modify = isis_instance_multi_topology_ipv6_unicast_overload_modify,
414 },
415 },
416 {
417 .xpath = "/frr-isisd:isis/instance/multi-topology/ipv6-multicast",
418 .cbs = {
419 .cli_show = cli_show_isis_mt_ipv6_multicast,
420 .create = isis_instance_multi_topology_ipv6_multicast_create,
421 .destroy = isis_instance_multi_topology_ipv6_multicast_destroy,
422 },
423 },
424 {
425 .xpath = "/frr-isisd:isis/instance/multi-topology/ipv6-multicast/overload",
426 .cbs = {
427 .modify = isis_instance_multi_topology_ipv6_multicast_overload_modify,
428 },
429 },
430 {
431 .xpath = "/frr-isisd:isis/instance/multi-topology/ipv6-management",
432 .cbs = {
433 .cli_show = cli_show_isis_mt_ipv6_mgmt,
434 .create = isis_instance_multi_topology_ipv6_management_create,
435 .destroy = isis_instance_multi_topology_ipv6_management_destroy,
436 },
437 },
438 {
439 .xpath = "/frr-isisd:isis/instance/multi-topology/ipv6-management/overload",
440 .cbs = {
441 .modify = isis_instance_multi_topology_ipv6_management_overload_modify,
442 },
443 },
444 {
445 .xpath = "/frr-isisd:isis/instance/multi-topology/ipv6-dstsrc",
446 .cbs = {
447 .cli_show = cli_show_isis_mt_ipv6_dstsrc,
448 .create = isis_instance_multi_topology_ipv6_dstsrc_create,
449 .destroy = isis_instance_multi_topology_ipv6_dstsrc_destroy,
450 },
451 },
452 {
453 .xpath = "/frr-isisd:isis/instance/multi-topology/ipv6-dstsrc/overload",
454 .cbs = {
455 .modify = isis_instance_multi_topology_ipv6_dstsrc_overload_modify,
456 },
457 },
458 {
459 .xpath = "/frr-isisd:isis/instance/fast-reroute/level-1/lfa/load-sharing",
460 .cbs = {
461 .cli_show = cli_show_isis_frr_lfa_load_sharing,
462 .modify = isis_instance_fast_reroute_level_1_lfa_load_sharing_modify,
463 }
464 },
465 {
466 .xpath = "/frr-isisd:isis/instance/fast-reroute/level-1/lfa/priority-limit",
467 .cbs = {
468 .cli_show = cli_show_isis_frr_lfa_priority_limit,
469 .modify = isis_instance_fast_reroute_level_1_lfa_priority_limit_modify,
470 .destroy = isis_instance_fast_reroute_level_1_lfa_priority_limit_destroy,
471 }
472 },
473 {
474 .xpath = "/frr-isisd:isis/instance/fast-reroute/level-1/lfa/tiebreaker",
475 .cbs = {
476 .cli_show = cli_show_isis_frr_lfa_tiebreaker,
477 .create = isis_instance_fast_reroute_level_1_lfa_tiebreaker_create,
478 .destroy = isis_instance_fast_reroute_level_1_lfa_tiebreaker_destroy,
479 }
480 },
481 {
482 .xpath = "/frr-isisd:isis/instance/fast-reroute/level-1/lfa/tiebreaker/type",
483 .cbs = {
484 .modify = isis_instance_fast_reroute_level_1_lfa_tiebreaker_type_modify,
485 }
486 },
487 {
488 .xpath = "/frr-isisd:isis/instance/fast-reroute/level-1/remote-lfa/prefix-list",
489 .cbs = {
490 .cli_show = cli_show_isis_frr_remote_lfa_plist,
491 .modify = isis_instance_fast_reroute_level_1_remote_lfa_prefix_list_modify,
492 .destroy = isis_instance_fast_reroute_level_1_remote_lfa_prefix_list_destroy,
493 }
494 },
495 {
496 .xpath = "/frr-isisd:isis/instance/fast-reroute/level-2/lfa/load-sharing",
497 .cbs = {
498 .cli_show = cli_show_isis_frr_lfa_load_sharing,
499 .modify = isis_instance_fast_reroute_level_2_lfa_load_sharing_modify,
500 }
501 },
502 {
503 .xpath = "/frr-isisd:isis/instance/fast-reroute/level-2/lfa/priority-limit",
504 .cbs = {
505 .cli_show = cli_show_isis_frr_lfa_priority_limit,
506 .modify = isis_instance_fast_reroute_level_2_lfa_priority_limit_modify,
507 .destroy = isis_instance_fast_reroute_level_2_lfa_priority_limit_destroy,
508 }
509 },
510 {
511 .xpath = "/frr-isisd:isis/instance/fast-reroute/level-2/lfa/tiebreaker",
512 .cbs = {
513 .cli_show = cli_show_isis_frr_lfa_tiebreaker,
514 .create = isis_instance_fast_reroute_level_2_lfa_tiebreaker_create,
515 .destroy = isis_instance_fast_reroute_level_2_lfa_tiebreaker_destroy,
516 }
517 },
518 {
519 .xpath = "/frr-isisd:isis/instance/fast-reroute/level-2/lfa/tiebreaker/type",
520 .cbs = {
521 .modify = isis_instance_fast_reroute_level_2_lfa_tiebreaker_type_modify,
522 }
523 },
524 {
525 .xpath = "/frr-isisd:isis/instance/fast-reroute/level-2/remote-lfa/prefix-list",
526 .cbs = {
527 .cli_show = cli_show_isis_frr_remote_lfa_plist,
528 .modify = isis_instance_fast_reroute_level_2_remote_lfa_prefix_list_modify,
529 .destroy = isis_instance_fast_reroute_level_2_remote_lfa_prefix_list_destroy,
530 }
531 },
532 {
533 .xpath = "/frr-isisd:isis/instance/log-adjacency-changes",
534 .cbs = {
535 .cli_show = cli_show_isis_log_adjacency,
536 .modify = isis_instance_log_adjacency_changes_modify,
537 },
538 },
539 {
540 .xpath = "/frr-isisd:isis/instance/mpls-te",
541 .cbs = {
542 .cli_show = cli_show_isis_mpls_te,
543 .create = isis_instance_mpls_te_create,
544 .destroy = isis_instance_mpls_te_destroy,
545 },
546 },
547 {
548 .xpath = "/frr-isisd:isis/instance/mpls-te/router-address",
549 .cbs = {
550 .cli_show = cli_show_isis_mpls_te_router_addr,
551 .destroy = isis_instance_mpls_te_router_address_destroy,
552 .modify = isis_instance_mpls_te_router_address_modify,
553 },
554 },
555 {
556 .xpath = "/frr-isisd:isis/instance/segment-routing/enabled",
557 .cbs = {
558 .modify = isis_instance_segment_routing_enabled_modify,
559 .cli_show = cli_show_isis_sr_enabled,
560 },
561 },
562 {
563 .xpath = "/frr-isisd:isis/instance/segment-routing/srgb",
564 .cbs = {
565 .apply_finish = isis_instance_segment_routing_srgb_apply_finish,
566 .pre_validate = isis_instance_segment_routing_srgb_pre_validate,
567 .cli_show = cli_show_isis_srgb,
568 },
569 },
570 {
571 .xpath = "/frr-isisd:isis/instance/segment-routing/srgb/lower-bound",
572 .cbs = {
573 .modify = isis_instance_segment_routing_srgb_lower_bound_modify,
574 },
575 },
576 {
577 .xpath = "/frr-isisd:isis/instance/segment-routing/srgb/upper-bound",
578 .cbs = {
579 .modify = isis_instance_segment_routing_srgb_upper_bound_modify,
580 },
581 },
582 {
583 .xpath = "/frr-isisd:isis/instance/segment-routing/srlb",
584 .cbs = {
585 .apply_finish = isis_instance_segment_routing_srlb_apply_finish,
586 .pre_validate = isis_instance_segment_routing_srlb_pre_validate,
587 .cli_show = cli_show_isis_srlb,
588 },
589 },
590 {
591 .xpath = "/frr-isisd:isis/instance/segment-routing/srlb/lower-bound",
592 .cbs = {
593 .modify = isis_instance_segment_routing_srlb_lower_bound_modify,
594 },
595 },
596 {
597 .xpath = "/frr-isisd:isis/instance/segment-routing/srlb/upper-bound",
598 .cbs = {
599 .modify = isis_instance_segment_routing_srlb_upper_bound_modify,
600 },
601 },
602 {
603 .xpath = "/frr-isisd:isis/instance/segment-routing/msd/node-msd",
604 .cbs = {
605 .modify = isis_instance_segment_routing_msd_node_msd_modify,
606 .destroy = isis_instance_segment_routing_msd_node_msd_destroy,
607 .cli_show = cli_show_isis_node_msd,
608 },
609 },
610 {
611 .xpath = "/frr-isisd:isis/instance/segment-routing/prefix-sid-map/prefix-sid",
612 .cbs = {
613 .create = isis_instance_segment_routing_prefix_sid_map_prefix_sid_create,
614 .destroy = isis_instance_segment_routing_prefix_sid_map_prefix_sid_destroy,
615 .pre_validate = isis_instance_segment_routing_prefix_sid_map_prefix_sid_pre_validate,
616 .apply_finish = isis_instance_segment_routing_prefix_sid_map_prefix_sid_apply_finish,
617 .cli_show = cli_show_isis_prefix_sid,
618 },
619 },
620 {
621 .xpath = "/frr-isisd:isis/instance/segment-routing/prefix-sid-map/prefix-sid/sid-value-type",
622 .cbs = {
623 .modify = isis_instance_segment_routing_prefix_sid_map_prefix_sid_sid_value_type_modify,
624 },
625 },
626 {
627 .xpath = "/frr-isisd:isis/instance/segment-routing/prefix-sid-map/prefix-sid/sid-value",
628 .cbs = {
629 .modify = isis_instance_segment_routing_prefix_sid_map_prefix_sid_sid_value_modify,
630 },
631 },
632 {
633 .xpath = "/frr-isisd:isis/instance/segment-routing/prefix-sid-map/prefix-sid/last-hop-behavior",
634 .cbs = {
635 .modify = isis_instance_segment_routing_prefix_sid_map_prefix_sid_last_hop_behavior_modify,
636 },
637 },
638 {
639 .xpath = "/frr-isisd:isis/instance/segment-routing/prefix-sid-map/prefix-sid/n-flag-clear",
640 .cbs = {
641 .modify = isis_instance_segment_routing_prefix_sid_map_prefix_sid_n_flag_clear_modify,
642 }
643 },
644 {
645 .xpath = "/frr-isisd:isis/instance/mpls/ldp-sync",
646 .cbs = {
647 .cli_show = cli_show_isis_mpls_ldp_sync,
648 .create = isis_instance_mpls_ldp_sync_create,
649 .destroy = isis_instance_mpls_ldp_sync_destroy,
650 },
651 },
652 {
653 .xpath = "/frr-isisd:isis/instance/mpls/ldp-sync/holddown",
654 .cbs = {
655 .cli_show = cli_show_isis_mpls_ldp_sync_holddown,
656 .modify = isis_instance_mpls_ldp_sync_holddown_modify,
657 },
658 },
659 {
660 .xpath = "/frr-interface:lib/interface/frr-isisd:isis",
661 .cbs = {
662 .create = lib_interface_isis_create,
663 .destroy = lib_interface_isis_destroy,
664 },
665 },
666 {
667 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/area-tag",
668 .cbs = {
669 .modify = lib_interface_isis_area_tag_modify,
670 },
671 },
672 {
673 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/vrf",
674 .cbs = {
675 .modify = lib_interface_isis_vrf_modify,
676 },
677 },
678
679 {
680 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/circuit-type",
681 .cbs = {
682 .cli_show = cli_show_ip_isis_circ_type,
683 .modify = lib_interface_isis_circuit_type_modify,
684 },
685 },
686 {
687 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/ipv4-routing",
688 .cbs = {
689 .cli_show = cli_show_ip_isis_ipv4,
690 .modify = lib_interface_isis_ipv4_routing_modify,
691 },
692 },
693 {
694 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/ipv6-routing",
695 .cbs = {
696 .cli_show = cli_show_ip_isis_ipv6,
697 .modify = lib_interface_isis_ipv6_routing_modify,
698 },
699 },
700 {
701 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/bfd-monitoring",
702 .cbs = {
703 .apply_finish = lib_interface_isis_bfd_monitoring_apply_finish,
704 .cli_show = cli_show_ip_isis_bfd_monitoring,
705 }
706 },
707 {
708 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/bfd-monitoring/enabled",
709 .cbs = {
710 .modify = lib_interface_isis_bfd_monitoring_enabled_modify,
711 }
712 },
713 {
714 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/bfd-monitoring/profile",
715 .cbs = {
716 .modify = lib_interface_isis_bfd_monitoring_profile_modify,
717 .destroy = lib_interface_isis_bfd_monitoring_profile_destroy,
718 }
719 },
720 {
721 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/csnp-interval",
722 .cbs = {
723 .cli_show = cli_show_ip_isis_csnp_interval,
724 },
725 },
726 {
727 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/csnp-interval/level-1",
728 .cbs = {
729 .modify = lib_interface_isis_csnp_interval_level_1_modify,
730 },
731 },
732 {
733 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/csnp-interval/level-2",
734 .cbs = {
735 .modify = lib_interface_isis_csnp_interval_level_2_modify,
736 },
737 },
738 {
739 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/psnp-interval",
740 .cbs = {
741 .cli_show = cli_show_ip_isis_psnp_interval,
742 },
743 },
744 {
745 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/psnp-interval/level-1",
746 .cbs = {
747 .modify = lib_interface_isis_psnp_interval_level_1_modify,
748 },
749 },
750 {
751 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/psnp-interval/level-2",
752 .cbs = {
753 .modify = lib_interface_isis_psnp_interval_level_2_modify,
754 },
755 },
756 {
757 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/hello/padding",
758 .cbs = {
759 .cli_show = cli_show_ip_isis_hello_padding,
760 .modify = lib_interface_isis_hello_padding_modify,
761 },
762 },
763 {
764 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/hello/interval",
765 .cbs = {
766 .cli_show = cli_show_ip_isis_hello_interval,
767 },
768 },
769 {
770 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/hello/interval/level-1",
771 .cbs = {
772 .modify = lib_interface_isis_hello_interval_level_1_modify,
773 },
774 },
775 {
776 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/hello/interval/level-2",
777 .cbs = {
778 .modify = lib_interface_isis_hello_interval_level_2_modify,
779 },
780 },
781 {
782 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/hello/multiplier",
783 .cbs = {
784 .cli_show = cli_show_ip_isis_hello_multi,
785 },
786 },
787 {
788 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/hello/multiplier/level-1",
789 .cbs = {
790 .modify = lib_interface_isis_hello_multiplier_level_1_modify,
791 },
792 },
793 {
794 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/hello/multiplier/level-2",
795 .cbs = {
796 .modify = lib_interface_isis_hello_multiplier_level_2_modify,
797 },
798 },
799 {
800 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/metric",
801 .cbs = {
802 .cli_show = cli_show_ip_isis_metric,
803 },
804 },
805 {
806 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/metric/level-1",
807 .cbs = {
808 .modify = lib_interface_isis_metric_level_1_modify,
809 },
810 },
811 {
812 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/metric/level-2",
813 .cbs = {
814 .modify = lib_interface_isis_metric_level_2_modify,
815 },
816 },
817 {
818 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/priority",
819 .cbs = {
820 .cli_show = cli_show_ip_isis_priority,
821 },
822 },
823 {
824 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/priority/level-1",
825 .cbs = {
826 .modify = lib_interface_isis_priority_level_1_modify,
827 },
828 },
829 {
830 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/priority/level-2",
831 .cbs = {
832 .modify = lib_interface_isis_priority_level_2_modify,
833 },
834 },
835 {
836 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/network-type",
837 .cbs = {
838 .cli_show = cli_show_ip_isis_network_type,
839 .modify = lib_interface_isis_network_type_modify,
840 },
841 },
842 {
843 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/passive",
844 .cbs = {
845 .cli_show = cli_show_ip_isis_passive,
846 .modify = lib_interface_isis_passive_modify,
847 },
848 },
849 {
850 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/password",
851 .cbs = {
852 .cli_show = cli_show_ip_isis_password,
853 .create = lib_interface_isis_password_create,
854 .destroy = lib_interface_isis_password_destroy,
855 },
856 },
857 {
858 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/password/password",
859 .cbs = {
860 .modify = lib_interface_isis_password_password_modify,
861 },
862 },
863 {
864 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/password/password-type",
865 .cbs = {
866 .modify = lib_interface_isis_password_password_type_modify,
867 },
868 },
869 {
870 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/disable-three-way-handshake",
871 .cbs = {
872 .cli_show = cli_show_ip_isis_threeway_shake,
873 .modify = lib_interface_isis_disable_three_way_handshake_modify,
874 },
875 },
876 {
877 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/multi-topology/ipv4-unicast",
878 .cbs = {
879 .cli_show = cli_show_ip_isis_mt_ipv4_unicast,
880 .modify = lib_interface_isis_multi_topology_ipv4_unicast_modify,
881 },
882 },
883 {
884 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/multi-topology/ipv4-multicast",
885 .cbs = {
886 .cli_show = cli_show_ip_isis_mt_ipv4_multicast,
887 .modify = lib_interface_isis_multi_topology_ipv4_multicast_modify,
888 },
889 },
890 {
891 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/multi-topology/ipv4-management",
892 .cbs = {
893 .cli_show = cli_show_ip_isis_mt_ipv4_mgmt,
894 .modify = lib_interface_isis_multi_topology_ipv4_management_modify,
895 },
896 },
897 {
898 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/multi-topology/ipv6-unicast",
899 .cbs = {
900 .cli_show = cli_show_ip_isis_mt_ipv6_unicast,
901 .modify = lib_interface_isis_multi_topology_ipv6_unicast_modify,
902 },
903 },
904 {
905 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/multi-topology/ipv6-multicast",
906 .cbs = {
907 .cli_show = cli_show_ip_isis_mt_ipv6_multicast,
908 .modify = lib_interface_isis_multi_topology_ipv6_multicast_modify,
909 },
910 },
911 {
912 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/multi-topology/ipv6-management",
913 .cbs = {
914 .cli_show = cli_show_ip_isis_mt_ipv6_mgmt,
915 .modify = lib_interface_isis_multi_topology_ipv6_management_modify,
916 },
917 },
918 {
919 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/multi-topology/ipv6-dstsrc",
920 .cbs = {
921 .cli_show = cli_show_ip_isis_mt_ipv6_dstsrc,
922 .modify = lib_interface_isis_multi_topology_ipv6_dstsrc_modify,
923 },
924 },
925 {
926 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/fast-reroute",
927 .cbs = {
928 .cli_show = cli_show_ip_isis_frr,
929 }
930 },
931 {
932 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/fast-reroute/level-1/lfa/enable",
933 .cbs = {
934 .modify = lib_interface_isis_fast_reroute_level_1_lfa_enable_modify,
935 }
936 },
937 {
938 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/fast-reroute/level-1/lfa/exclude-interface",
939 .cbs = {
940 .cli_show = cli_show_frr_lfa_exclude_interface,
941 .create = lib_interface_isis_fast_reroute_level_1_lfa_exclude_interface_create,
942 .destroy = lib_interface_isis_fast_reroute_level_1_lfa_exclude_interface_destroy,
943 }
944 },
945 {
946 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/fast-reroute/level-1/remote-lfa/enable",
947 .cbs = {
948 .modify = lib_interface_isis_fast_reroute_level_1_remote_lfa_enable_modify,
949 }
950 },
951 {
952 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/fast-reroute/level-1/remote-lfa/maximum-metric",
953 .cbs = {
954 .cli_show = cli_show_frr_remote_lfa_max_metric,
955 .modify = lib_interface_isis_fast_reroute_level_1_remote_lfa_maximum_metric_modify,
956 .destroy = lib_interface_isis_fast_reroute_level_1_remote_lfa_maximum_metric_destroy,
957 }
958 },
959 {
960 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/fast-reroute/level-1/ti-lfa/enable",
961 .cbs = {
962 .modify = lib_interface_isis_fast_reroute_level_1_ti_lfa_enable_modify,
963 }
964 },
965 {
966 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/fast-reroute/level-1/ti-lfa/node-protection",
967 .cbs = {
968 .modify = lib_interface_isis_fast_reroute_level_1_ti_lfa_node_protection_modify,
969 }
970 },
971 {
972 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/fast-reroute/level-2/lfa/enable",
973 .cbs = {
974 .modify = lib_interface_isis_fast_reroute_level_2_lfa_enable_modify,
975 }
976 },
977 {
978 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/fast-reroute/level-2/lfa/exclude-interface",
979 .cbs = {
980 .cli_show = cli_show_frr_lfa_exclude_interface,
981 .create = lib_interface_isis_fast_reroute_level_2_lfa_exclude_interface_create,
982 .destroy = lib_interface_isis_fast_reroute_level_2_lfa_exclude_interface_destroy,
983 }
984 },
985 {
986 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/fast-reroute/level-2/remote-lfa/enable",
987 .cbs = {
988 .modify = lib_interface_isis_fast_reroute_level_2_remote_lfa_enable_modify,
989 }
990 },
991 {
992 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/fast-reroute/level-2/remote-lfa/maximum-metric",
993 .cbs = {
994 .cli_show = cli_show_frr_remote_lfa_max_metric,
995 .modify = lib_interface_isis_fast_reroute_level_2_remote_lfa_maximum_metric_modify,
996 .destroy = lib_interface_isis_fast_reroute_level_2_remote_lfa_maximum_metric_destroy,
997 }
998 },
999 {
1000 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/fast-reroute/level-2/ti-lfa/enable",
1001 .cbs = {
1002 .modify = lib_interface_isis_fast_reroute_level_2_ti_lfa_enable_modify,
1003 }
1004 },
1005 {
1006 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/fast-reroute/level-2/ti-lfa/node-protection",
1007 .cbs = {
1008 .modify = lib_interface_isis_fast_reroute_level_2_ti_lfa_node_protection_modify,
1009 }
1010 },
1011 {
1012 .xpath = "/frr-interface:lib/interface/state/frr-isisd:isis",
1013 .cbs = {
1014 .get_elem = lib_interface_state_isis_get_elem,
1015 }
1016 },
1017 {
1018 .xpath = "/frr-interface:lib/interface/state/frr-isisd:isis/adjacencies/adjacency",
1019 .cbs = {
1020 .get_next = lib_interface_state_isis_adjacencies_adjacency_get_next,
1021 }
1022 },
1023 {
1024 .xpath = "/frr-interface:lib/interface/state/frr-isisd:isis/adjacencies/adjacency/neighbor-sys-type",
1025 .cbs = {
1026 .get_elem = lib_interface_state_isis_adjacencies_adjacency_neighbor_sys_type_get_elem,
1027 }
1028 },
1029 {
1030 .xpath = "/frr-interface:lib/interface/state/frr-isisd:isis/adjacencies/adjacency/neighbor-sysid",
1031 .cbs = {
1032 .get_elem = lib_interface_state_isis_adjacencies_adjacency_neighbor_sysid_get_elem,
1033 }
1034 },
1035 {
1036 .xpath = "/frr-interface:lib/interface/state/frr-isisd:isis/adjacencies/adjacency/neighbor-extended-circuit-id",
1037 .cbs = {
1038 .get_elem = lib_interface_state_isis_adjacencies_adjacency_neighbor_extended_circuit_id_get_elem,
1039 }
1040 },
1041 {
1042 .xpath = "/frr-interface:lib/interface/state/frr-isisd:isis/adjacencies/adjacency/neighbor-snpa",
1043 .cbs = {
1044 .get_elem = lib_interface_state_isis_adjacencies_adjacency_neighbor_snpa_get_elem,
1045 }
1046 },
1047 {
1048 .xpath = "/frr-interface:lib/interface/state/frr-isisd:isis/adjacencies/adjacency/hold-timer",
1049 .cbs = {
1050 .get_elem = lib_interface_state_isis_adjacencies_adjacency_hold_timer_get_elem,
1051 }
1052 },
1053 {
1054 .xpath = "/frr-interface:lib/interface/state/frr-isisd:isis/adjacencies/adjacency/neighbor-priority",
1055 .cbs = {
1056 .get_elem = lib_interface_state_isis_adjacencies_adjacency_neighbor_priority_get_elem,
1057 }
1058 },
1059 {
1060 .xpath = "/frr-interface:lib/interface/state/frr-isisd:isis/adjacencies/adjacency/state",
1061 .cbs = {
1062 .get_elem = lib_interface_state_isis_adjacencies_adjacency_state_get_elem,
1063 }
1064 },
1065 {
1066 .xpath = "/frr-interface:lib/interface/state/frr-isisd:isis/event-counters/adjacency-changes",
1067 .cbs = {
1068 .get_elem = lib_interface_state_isis_event_counters_adjacency_changes_get_elem,
1069 }
1070 },
1071 {
1072 .xpath = "/frr-interface:lib/interface/state/frr-isisd:isis/event-counters/adjacency-number",
1073 .cbs = {
1074 .get_elem = lib_interface_state_isis_event_counters_adjacency_number_get_elem,
1075 }
1076 },
1077 {
1078 .xpath = "/frr-interface:lib/interface/state/frr-isisd:isis/event-counters/init-fails",
1079 .cbs = {
1080 .get_elem = lib_interface_state_isis_event_counters_init_fails_get_elem,
1081 }
1082 },
1083 {
1084 .xpath = "/frr-interface:lib/interface/state/frr-isisd:isis/event-counters/adjacency-rejects",
1085 .cbs = {
1086 .get_elem = lib_interface_state_isis_event_counters_adjacency_rejects_get_elem,
1087 }
1088 },
1089 {
1090 .xpath = "/frr-interface:lib/interface/state/frr-isisd:isis/event-counters/id-len-mismatch",
1091 .cbs = {
1092 .get_elem = lib_interface_state_isis_event_counters_id_len_mismatch_get_elem,
1093 }
1094 },
1095 {
1096 .xpath = "/frr-interface:lib/interface/state/frr-isisd:isis/event-counters/max-area-addresses-mismatch",
1097 .cbs = {
1098 .get_elem = lib_interface_state_isis_event_counters_max_area_addresses_mismatch_get_elem,
1099 }
1100 },
1101 {
1102 .xpath = "/frr-interface:lib/interface/state/frr-isisd:isis/event-counters/authentication-type-fails",
1103 .cbs = {
1104 .get_elem = lib_interface_state_isis_event_counters_authentication_type_fails_get_elem,
1105 }
1106 },
1107 {
1108 .xpath = "/frr-interface:lib/interface/state/frr-isisd:isis/event-counters/authentication-fails",
1109 .cbs = {
1110 .get_elem = lib_interface_state_isis_event_counters_authentication_fails_get_elem,
1111 }
1112 },
1113 {
1114 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/mpls/ldp-sync",
1115 .cbs = {
1116 .cli_show = cli_show_isis_mpls_if_ldp_sync,
1117 .modify = lib_interface_isis_mpls_ldp_sync_modify,
1118 }
1119 },
1120 {
1121 .xpath = "/frr-interface:lib/interface/frr-isisd:isis/mpls/holddown",
1122 .cbs = {
1123 .cli_show = cli_show_isis_mpls_if_ldp_sync_holddown,
1124 .modify = lib_interface_isis_mpls_holddown_modify,
1125 .destroy = lib_interface_isis_mpls_holddown_destroy,
1126 }
1127 },
1128 {
1129 .xpath = NULL,
1130 },
1131 }
1132 };