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