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