FRRouting / frr

The FRRouting Protocol Suite
https://frrouting.org/
Other
3.13k stars 1.21k forks source link

tools/gen_northbound_callbacks -p /usr/local/frr/share/yang frr-ripd > ripd/rip_northbound.c #16253

Closed nanfengnan1 closed 3 weeks ago

nanfengnan1 commented 4 weeks ago

Description

i would like to support yang model and retrofitting cofigure commands, referring to https://docs.frrouting.org/projects/dev-guide/en/latest/northbound/retrofitting-configuration-commands.html article, but when i use to command tools/gen_northbound_callbacks -p /usr/local/frr/share/yang frr-ripd > ripd/rip_northbound.c, i find this ripd/rip_northbound.c file is null. and i install yang model in /usr/local/frr/share/yang dir. hope to help.

Version

frr-10.0

How to reproduce

tools/gen_northbound_callbacks -p /usr/local/frr/share/yang frr-ripd > ripd/rip_northbound.c

Expected behavior

generate skeleton northbound callbacks

Actual behavior

file is null

Additional context

No response

Checklist

nanfengnan1 commented 4 weeks ago

if you want to success, please execute /opt/code/FRR/tools/.libs/gen_northbound_callbacks frr-ripd > ripd/rip_northbound.c and i working to find qz.

file as: // SPDX-License-Identifier: GPL-2.0-or-later

/ prototypes / int lib_interface_rip_split_horizon_modify(struct nb_cb_modify_args args); void lib_interface_rip_split_horizon_cli_write(struct vty vty, const struct lyd_node dnode, bool show_defaults); int lib_interface_rip_v2_broadcast_modify(struct nb_cb_modify_args args); void lib_interface_rip_v2_broadcast_cli_write(struct vty vty, const struct lyd_node dnode, bool show_defaults); int lib_interface_rip_version_receive_modify(struct nb_cb_modify_args args); void lib_interface_rip_version_receive_cli_write(struct vty vty, const struct lyd_node dnode, bool show_defaults); int lib_interface_rip_version_send_modify(struct nb_cb_modify_args args); void lib_interface_rip_version_send_cli_write(struct vty vty, const struct lyd_node dnode, bool show_defaults); int lib_interface_rip_authentication_scheme_mode_modify(struct nb_cb_modify_args args); void lib_interface_rip_authentication_scheme_mode_cli_write(struct vty vty, const struct lyd_node dnode, bool show_defaults); int lib_interface_rip_authentication_scheme_md5_auth_length_modify(struct nb_cb_modify_args args); void lib_interface_rip_authentication_scheme_md5_auth_length_cli_write(struct vty vty, const struct lyd_node dnode, bool show_defaults); int lib_interface_rip_authentication_scheme_md5_auth_length_destroy(struct nb_cb_destroy_args args); int lib_interface_rip_authentication_password_modify(struct nb_cb_modify_args args); void lib_interface_rip_authentication_password_cli_write(struct vty vty, const struct lyd_node dnode, bool show_defaults); int lib_interface_rip_authentication_password_destroy(struct nb_cb_destroy_args args); int lib_interface_rip_authentication_key_chain_modify(struct nb_cb_modify_args args); void lib_interface_rip_authentication_key_chain_cli_write(struct vty vty, const struct lyd_node dnode, bool show_defaults); int lib_interface_rip_authentication_key_chain_destroy(struct nb_cb_destroy_args args); int lib_interface_rip_bfd_monitoring_create(struct nb_cb_create_args args); void lib_interface_rip_bfd_monitoring_cli_write(struct vty vty, const struct lyd_node dnode, bool show_defaults); int lib_interface_rip_bfd_monitoring_destroy(struct nb_cb_destroy_args args); int lib_interface_rip_bfd_monitoring_enable_modify(struct nb_cb_modify_args args); void lib_interface_rip_bfd_monitoring_enable_cli_write(struct vty vty, const struct lyd_node dnode, bool show_defaults); int lib_interface_rip_bfd_monitoring_profile_modify(struct nb_cb_modify_args args); void lib_interface_rip_bfd_monitoring_profile_cli_write(struct vty vty, const struct lyd_node dnode, bool show_defaults); int lib_interface_rip_bfd_monitoring_profile_destroy(struct nb_cb_destroy_args args); int ripd_instance_create(struct nb_cb_create_args args); void ripd_instance_cli_write(struct vty vty, const struct lyd_node dnode, bool show_defaults); int ripd_instance_destroy(struct nb_cb_destroy_args args); const void ripd_instance_get_next(struct nb_cb_get_next_args args); int ripd_instance_get_keys(struct nb_cb_get_keys_args args); const void ripd_instance_lookup_entry(struct nb_cb_lookup_entry_args args); int ripd_instance_allow_ecmp_modify(struct nb_cb_modify_args args); void ripd_instance_allow_ecmp_cli_write(struct vty vty, const struct lyd_node dnode, bool show_defaults); int ripd_instance_default_information_originate_modify(struct nb_cb_modify_args args); void ripd_instance_default_information_originate_cli_write(struct vty vty, const struct lyd_node dnode, bool show_defaults); int ripd_instance_default_metric_modify(struct nb_cb_modify_args args); void ripd_instance_default_metric_cli_write(struct vty vty, const struct lyd_node dnode, bool show_defaults); int ripd_instance_distance_default_modify(struct nb_cb_modify_args args); void ripd_instance_distance_default_cli_write(struct vty vty, const struct lyd_node dnode, bool show_defaults); int ripd_instance_distance_source_create(struct nb_cb_create_args args); void ripd_instance_distance_source_cli_write(struct vty vty, const struct lyd_node dnode, bool show_defaults); int ripd_instance_distance_source_destroy(struct nb_cb_destroy_args args); int ripd_instance_distance_source_distance_modify(struct nb_cb_modify_args args); void ripd_instance_distance_source_distance_cli_write(struct vty vty, const struct lyd_node dnode, bool show_defaults); int ripd_instance_distance_source_access_list_modify(struct nb_cb_modify_args args); void ripd_instance_distance_source_access_list_cli_write(struct vty vty, const struct lyd_node dnode, bool show_defaults); int ripd_instance_distance_source_access_list_destroy(struct nb_cb_destroy_args args); int ripd_instance_explicit_neighbor_create(struct nb_cb_create_args args); void ripd_instance_explicit_neighbor_cli_write(struct vty vty, const struct lyd_node dnode, bool show_defaults); int ripd_instance_explicit_neighbor_destroy(struct nb_cb_destroy_args args); int ripd_instance_network_create(struct nb_cb_create_args args); void ripd_instance_network_cli_write(struct vty vty, const struct lyd_node dnode, bool show_defaults); int ripd_instance_network_destroy(struct nb_cb_destroy_args args); int ripd_instance_interface_create(struct nb_cb_create_args args); void ripd_instance_interface_cli_write(struct vty vty, const struct lyd_node dnode, bool show_defaults); int ripd_instance_interface_destroy(struct nb_cb_destroy_args args); int ripd_instance_offset_list_create(struct nb_cb_create_args args); void ripd_instance_offset_list_cli_write(struct vty vty, const struct lyd_node dnode, bool show_defaults); int ripd_instance_offset_list_destroy(struct nb_cb_destroy_args args); int ripd_instance_offset_list_access_list_modify(struct nb_cb_modify_args args); void ripd_instance_offset_list_access_list_cli_write(struct vty vty, const struct lyd_node dnode, bool show_defaults); int ripd_instance_offset_list_metric_modify(struct nb_cb_modify_args args); void ripd_instance_offset_list_metric_cli_write(struct vty vty, const struct lyd_node dnode, bool show_defaults); int ripd_instance_passive_default_modify(struct nb_cb_modify_args args); void ripd_instance_passive_default_cli_write(struct vty vty, const struct lyd_node dnode, bool show_defaults); int ripd_instance_passive_interface_create(struct nb_cb_create_args args); void ripd_instance_passive_interface_cli_write(struct vty vty, const struct lyd_node dnode, bool show_defaults); int ripd_instance_passive_interface_destroy(struct nb_cb_destroy_args args); int ripd_instance_non_passive_interface_create(struct nb_cb_create_args args); void ripd_instance_non_passive_interface_cli_write(struct vty vty, const struct lyd_node dnode, bool show_defaults); int ripd_instance_non_passive_interface_destroy(struct nb_cb_destroy_args args); int ripd_instance_distribute_list_create(struct nb_cb_create_args args); void ripd_instance_distribute_list_cli_write(struct vty vty, const struct lyd_node dnode, bool show_defaults); int ripd_instance_distribute_list_destroy(struct nb_cb_destroy_args args); int ripd_instance_distribute_list_in_access_list_modify(struct nb_cb_modify_args args); void ripd_instance_distribute_list_in_access_list_cli_write(struct vty vty, const struct lyd_node dnode, bool show_defaults); int ripd_instance_distribute_list_in_access_list_destroy(struct nb_cb_destroy_args args); int ripd_instance_distribute_list_in_prefix_list_modify(struct nb_cb_modify_args args); void ripd_instance_distribute_list_in_prefix_list_cli_write(struct vty vty, const struct lyd_node dnode, bool show_defaults); int ripd_instance_distribute_list_in_prefix_list_destroy(struct nb_cb_destroy_args args); int ripd_instance_distribute_list_out_access_list_modify(struct nb_cb_modify_args args); void ripd_instance_distribute_list_out_access_list_cli_write(struct vty vty, const struct lyd_node dnode, bool show_defaults); int ripd_instance_distribute_list_out_access_list_destroy(struct nb_cb_destroy_args args); int ripd_instance_distribute_list_out_prefix_list_modify(struct nb_cb_modify_args args); void ripd_instance_distribute_list_out_prefix_list_cli_write(struct vty vty, const struct lyd_node dnode, bool show_defaults); int ripd_instance_distribute_list_out_prefix_list_destroy(struct nb_cb_destroy_args args); int ripd_instance_redistribute_create(struct nb_cb_create_args args); void ripd_instance_redistribute_cli_write(struct vty vty, const struct lyd_node dnode, bool show_defaults); int ripd_instance_redistribute_destroy(struct nb_cb_destroy_args args); int ripd_instance_redistribute_route_map_modify(struct nb_cb_modify_args args); void ripd_instance_redistribute_route_map_cli_write(struct vty vty, const struct lyd_node dnode, bool show_defaults); int ripd_instance_redistribute_route_map_destroy(struct nb_cb_destroy_args args); int ripd_instance_redistribute_metric_modify(struct nb_cb_modify_args args); void ripd_instance_redistribute_metric_cli_write(struct vty vty, const struct lyd_node dnode, bool show_defaults); int ripd_instance_redistribute_metric_destroy(struct nb_cb_destroy_args args); int ripd_instance_if_route_maps_if_route_map_create(struct nb_cb_create_args args); void ripd_instance_if_route_maps_if_route_map_cli_write(struct vty vty, const struct lyd_node dnode, bool show_defaults); int ripd_instance_if_route_maps_if_route_map_destroy(struct nb_cb_destroy_args args); int ripd_instance_if_route_maps_if_route_map_in_route_map_modify(struct nb_cb_modify_args args); void ripd_instance_if_route_maps_if_route_map_in_route_map_cli_write(struct vty vty, const struct lyd_node dnode, bool show_defaults); int ripd_instance_if_route_maps_if_route_map_in_route_map_destroy(struct nb_cb_destroy_args args); int ripd_instance_if_route_maps_if_route_map_out_route_map_modify(struct nb_cb_modify_args args); void ripd_instance_if_route_maps_if_route_map_out_route_map_cli_write(struct vty vty, const struct lyd_node dnode, bool show_defaults); int ripd_instance_if_route_maps_if_route_map_out_route_map_destroy(struct nb_cb_destroy_args args); int ripd_instance_static_route_create(struct nb_cb_create_args args); void ripd_instance_static_route_cli_write(struct vty vty, const struct lyd_node dnode, bool show_defaults); int ripd_instance_static_route_destroy(struct nb_cb_destroy_args args); int ripd_instance_timers_flush_interval_modify(struct nb_cb_modify_args args); void ripd_instance_timers_flush_interval_cli_write(struct vty vty, const struct lyd_node dnode, bool show_defaults); int ripd_instance_timers_holddown_interval_modify(struct nb_cb_modify_args args); void ripd_instance_timers_holddown_interval_cli_write(struct vty vty, const struct lyd_node dnode, bool show_defaults); int ripd_instance_timers_update_interval_modify(struct nb_cb_modify_args args); void ripd_instance_timers_update_interval_cli_write(struct vty vty, const struct lyd_node dnode, bool show_defaults); int ripd_instance_version_receive_modify(struct nb_cb_modify_args args); void ripd_instance_version_receive_cli_write(struct vty vty, const struct lyd_node dnode, bool show_defaults); int ripd_instance_version_send_modify(struct nb_cb_modify_args args); void ripd_instance_version_send_cli_write(struct vty vty, const struct lyd_node dnode, bool show_defaults); int ripd_instance_default_bfd_profile_modify(struct nb_cb_modify_args args); void ripd_instance_default_bfd_profile_cli_write(struct vty vty, const struct lyd_node dnode, bool show_defaults); int ripd_instance_default_bfd_profile_destroy(struct nb_cb_destroy_args args); const void ripd_instance_state_neighbors_neighbor_get_next(struct nb_cb_get_next_args args); int ripd_instance_state_neighbors_neighbor_get_keys(struct nb_cb_get_keys_args args); const void ripd_instance_state_neighbors_neighbor_lookup_entry(struct nb_cb_lookup_entry_args args); struct yang_data ripd_instance_state_neighbors_neighbor_address_get_elem(struct nb_cb_get_elem_args args); struct yang_data ripd_instance_state_neighbors_neighbor_last_update_get_elem(struct nb_cb_get_elem_args args); struct yang_data ripd_instance_state_neighbors_neighbor_bad_packets_rcvd_get_elem(struct nb_cb_get_elem_args args); struct yang_data ripd_instance_state_neighbors_neighbor_bad_routes_rcvd_get_elem(struct nb_cb_get_elem_args args); const void ripd_instance_state_routes_route_get_next(struct nb_cb_get_next_args args); int ripd_instance_state_routes_route_get_keys(struct nb_cb_get_keys_args args); const void ripd_instance_state_routes_route_lookup_entry(struct nb_cb_lookup_entry_args args); struct yang_data ripd_instance_state_routes_route_prefix_get_elem(struct nb_cb_get_elem_args args); const void ripd_instance_state_routes_route_nexthops_nexthop_get_next(struct nb_cb_get_next_args args); struct yang_data ripd_instance_state_routes_route_nexthops_nexthop_nh_type_get_elem(struct nb_cb_get_elem_args args); struct yang_data ripd_instance_state_routes_route_nexthops_nexthop_protocol_get_elem(struct nb_cb_get_elem_args args); struct yang_data ripd_instance_state_routes_route_nexthops_nexthop_rip_type_get_elem(struct nb_cb_get_elem_args args); struct yang_data ripd_instance_state_routes_route_nexthops_nexthop_gateway_get_elem(struct nb_cb_get_elem_args args); struct yang_data ripd_instance_state_routes_route_nexthops_nexthop_interface_get_elem(struct nb_cb_get_elem_args args); struct yang_data ripd_instance_state_routes_route_nexthops_nexthop_from_get_elem(struct nb_cb_get_elem_args args); struct yang_data ripd_instance_state_routes_route_nexthops_nexthop_tag_get_elem(struct nb_cb_get_elem_args args); struct yang_data ripd_instance_state_routes_route_nexthops_nexthop_external_metric_get_elem(struct nb_cb_get_elem_args args); struct yang_data ripd_instance_state_routes_route_nexthops_nexthop_expire_time_get_elem(struct nb_cb_get_elem_args args); struct yang_data ripd_instance_state_routes_route_metric_get_elem(struct nb_cb_get_elem_args args); struct yang_data ripd_instance_state_routes_route_next_hop_get_elem(struct nb_cb_get_elem_args args); struct yang_data ripd_instance_state_routes_route_interface_get_elem(struct nb_cb_get_elem_args args); int clear_rip_route_rpc(struct nb_cb_rpc_args *args);

/*

void lib_interface_rip_split_horizon_cli_write(struct vty vty, const struct lyd_node dnode, bool show_defaults) { / TODO: this cli callback is optional; the cli output may not need to be done at each node. / }

/*

void lib_interface_rip_v2_broadcast_cli_write(struct vty vty, const struct lyd_node dnode, bool show_defaults) { / TODO: this cli callback is optional; the cli output may not need to be done at each node. / }

/*

void lib_interface_rip_version_receive_cli_write(struct vty vty, const struct lyd_node dnode, bool show_defaults) { / TODO: this cli callback is optional; the cli output may not need to be done at each node. / }

/*

void lib_interface_rip_version_send_cli_write(struct vty vty, const struct lyd_node dnode, bool show_defaults) { / TODO: this cli callback is optional; the cli output may not need to be done at each node. / }

/*

void lib_interface_rip_authentication_scheme_mode_cli_write(struct vty vty, const struct lyd_node dnode, bool show_defaults) { / TODO: this cli callback is optional; the cli output may not need to be done at each node. / }

/*

void lib_interface_rip_authentication_scheme_md5_auth_length_cli_write(struct vty vty, const struct lyd_node dnode, bool show_defaults) { / TODO: this cli callback is optional; the cli output may not need to be done at each node. / }

int lib_interface_rip_authentication_scheme_md5_auth_length_destroy(struct nb_cb_destroy_args args) { switch (args->event) { case NB_EV_VALIDATE: case NB_EV_PREPARE: case NB_EV_ABORT: case NB_EV_APPLY: / TODO: implement me. */ break; }

return NB_OK;

}

/*

void lib_interface_rip_authentication_password_cli_write(struct vty vty, const struct lyd_node dnode, bool show_defaults) { / TODO: this cli callback is optional; the cli output may not need to be done at each node. / }

int lib_interface_rip_authentication_password_destroy(struct nb_cb_destroy_args args) { switch (args->event) { case NB_EV_VALIDATE: case NB_EV_PREPARE: case NB_EV_ABORT: case NB_EV_APPLY: / TODO: implement me. */ break; }

return NB_OK;

}

/*

void lib_interface_rip_authentication_key_chain_cli_write(struct vty vty, const struct lyd_node dnode, bool show_defaults) { / TODO: this cli callback is optional; the cli output may not need to be done at each node. / }

int lib_interface_rip_authentication_key_chain_destroy(struct nb_cb_destroy_args args) { switch (args->event) { case NB_EV_VALIDATE: case NB_EV_PREPARE: case NB_EV_ABORT: case NB_EV_APPLY: / TODO: implement me. */ break; }

return NB_OK;

}

/*

void lib_interface_rip_bfd_monitoring_cli_write(struct vty vty, const struct lyd_node dnode, bool show_defaults) { / TODO: this cli callback is optional; the cli output may not need to be done at each node. / }

int lib_interface_rip_bfd_monitoring_destroy(struct nb_cb_destroy_args args) { switch (args->event) { case NB_EV_VALIDATE: case NB_EV_PREPARE: case NB_EV_ABORT: case NB_EV_APPLY: / TODO: implement me. */ break; }

return NB_OK;

}

/*

void lib_interface_rip_bfd_monitoring_enable_cli_write(struct vty vty, const struct lyd_node dnode, bool show_defaults) { / TODO: this cli callback is optional; the cli output may not need to be done at each node. / }

/*

void lib_interface_rip_bfd_monitoring_profile_cli_write(struct vty vty, const struct lyd_node dnode, bool show_defaults) { / TODO: this cli callback is optional; the cli output may not need to be done at each node. / }

int lib_interface_rip_bfd_monitoring_profile_destroy(struct nb_cb_destroy_args args) { switch (args->event) { case NB_EV_VALIDATE: case NB_EV_PREPARE: case NB_EV_ABORT: case NB_EV_APPLY: / TODO: implement me. */ break; }

return NB_OK;

}

/*

void ripd_instance_cli_write(struct vty vty, const struct lyd_node dnode, bool show_defaults) { / TODO: this cli callback is optional; the cli output may not need to be done at each node. / }

int ripd_instance_destroy(struct nb_cb_destroy_args args) { switch (args->event) { case NB_EV_VALIDATE: case NB_EV_PREPARE: case NB_EV_ABORT: case NB_EV_APPLY: / TODO: implement me. */ break; }

return NB_OK;

}

const void ripd_instance_get_next(struct nb_cb_get_next_args args) { / TODO: implement me. / return NULL; }

int ripd_instance_get_keys(struct nb_cb_get_keys_args args) { / TODO: implement me. */ return NB_OK; }

const void ripd_instance_lookup_entry(struct nb_cb_lookup_entry_args args) { / TODO: implement me. / return NULL; }

/*

void ripd_instance_allow_ecmp_cli_write(struct vty vty, const struct lyd_node dnode, bool show_defaults) { / TODO: this cli callback is optional; the cli output may not need to be done at each node. / }

/*

void ripd_instance_default_information_originate_cli_write(struct vty vty, const struct lyd_node dnode, bool show_defaults) { / TODO: this cli callback is optional; the cli output may not need to be done at each node. / }

/*

void ripd_instance_default_metric_cli_write(struct vty vty, const struct lyd_node dnode, bool show_defaults) { / TODO: this cli callback is optional; the cli output may not need to be done at each node. / }

/*

void ripd_instance_distance_default_cli_write(struct vty vty, const struct lyd_node dnode, bool show_defaults) { / TODO: this cli callback is optional; the cli output may not need to be done at each node. / }

/*

void ripd_instance_distance_source_cli_write(struct vty vty, const struct lyd_node dnode, bool show_defaults) { / TODO: this cli callback is optional; the cli output may not need to be done at each node. / }

int ripd_instance_distance_source_destroy(struct nb_cb_destroy_args args) { switch (args->event) { case NB_EV_VALIDATE: case NB_EV_PREPARE: case NB_EV_ABORT: case NB_EV_APPLY: / TODO: implement me. */ break; }

return NB_OK;

}

/*

void ripd_instance_distance_source_distance_cli_write(struct vty vty, const struct lyd_node dnode, bool show_defaults) { / TODO: this cli callback is optional; the cli output may not need to be done at each node. / }

/*

void ripd_instance_distance_source_access_list_cli_write(struct vty vty, const struct lyd_node dnode, bool show_defaults) { / TODO: this cli callback is optional; the cli output may not need to be done at each node. / }

int ripd_instance_distance_source_access_list_destroy(struct nb_cb_destroy_args args) { switch (args->event) { case NB_EV_VALIDATE: case NB_EV_PREPARE: case NB_EV_ABORT: case NB_EV_APPLY: / TODO: implement me. */ break; }

return NB_OK;

}

/*

void ripd_instance_explicit_neighbor_cli_write(struct vty vty, const struct lyd_node dnode, bool show_defaults) { / TODO: this cli callback is optional; the cli output may not need to be done at each node. / }

int ripd_instance_explicit_neighbor_destroy(struct nb_cb_destroy_args args) { switch (args->event) { case NB_EV_VALIDATE: case NB_EV_PREPARE: case NB_EV_ABORT: case NB_EV_APPLY: / TODO: implement me. */ break; }

return NB_OK;

}

/*

void ripd_instance_network_cli_write(struct vty vty, const struct lyd_node dnode, bool show_defaults) { / TODO: this cli callback is optional; the cli output may not need to be done at each node. / }

int ripd_instance_network_destroy(struct nb_cb_destroy_args args) { switch (args->event) { case NB_EV_VALIDATE: case NB_EV_PREPARE: case NB_EV_ABORT: case NB_EV_APPLY: / TODO: implement me. */ break; }

return NB_OK;

}

/*

void ripd_instance_interface_cli_write(struct vty vty, const struct lyd_node dnode, bool show_defaults) { / TODO: this cli callback is optional; the cli output may not need to be done at each node. / }

int ripd_instance_interface_destroy(struct nb_cb_destroy_args args) { switch (args->event) { case NB_EV_VALIDATE: case NB_EV_PREPARE: case NB_EV_ABORT: case NB_EV_APPLY: / TODO: implement me. */ break; }

return NB_OK;

}

/*

void ripd_instance_offset_list_cli_write(struct vty vty, const struct lyd_node dnode, bool show_defaults) { / TODO: this cli callback is optional; the cli output may not need to be done at each node. / }

int ripd_instance_offset_list_destroy(struct nb_cb_destroy_args args) { switch (args->event) { case NB_EV_VALIDATE: case NB_EV_PREPARE: case NB_EV_ABORT: case NB_EV_APPLY: / TODO: implement me. */ break; }

return NB_OK;

}

/*

void ripd_instance_offset_list_access_list_cli_write(struct vty vty, const struct lyd_node dnode, bool show_defaults) { / TODO: this cli callback is optional; the cli output may not need to be done at each node. / }

/*

void ripd_instance_offset_list_metric_cli_write(struct vty vty, const struct lyd_node dnode, bool show_defaults) { / TODO: this cli callback is optional; the cli output may not need to be done at each node. / }

/*

void ripd_instance_passive_default_cli_write(struct vty vty, const struct lyd_node dnode, bool show_defaults) { / TODO: this cli callback is optional; the cli output may not need to be done at each node. / }

/*

void ripd_instance_passive_interface_cli_write(struct vty vty, const struct lyd_node dnode, bool show_defaults) { / TODO: this cli callback is optional; the cli output may not need to be done at each node. / }

int ripd_instance_passive_interface_destroy(struct nb_cb_destroy_args args) { switch (args->event) { case NB_EV_VALIDATE: case NB_EV_PREPARE: case NB_EV_ABORT: case NB_EV_APPLY: / TODO: implement me. */ break; }

return NB_OK;

}

/*

void ripd_instance_non_passive_interface_cli_write(struct vty vty, const struct lyd_node dnode, bool show_defaults) { / TODO: this cli callback is optional; the cli output may not need to be done at each node. / }

int ripd_instance_non_passive_interface_destroy(struct nb_cb_destroy_args args) { switch (args->event) { case NB_EV_VALIDATE: case NB_EV_PREPARE: case NB_EV_ABORT: case NB_EV_APPLY: / TODO: implement me. */ break; }

return NB_OK;

}

/*

void ripd_instance_distribute_list_cli_write(struct vty vty, const struct lyd_node dnode, bool show_defaults) { / TODO: this cli callback is optional; the cli output may not need to be done at each node. / }

int ripd_instance_distribute_list_destroy(struct nb_cb_destroy_args args) { switch (args->event) { case NB_EV_VALIDATE: case NB_EV_PREPARE: case NB_EV_ABORT: case NB_EV_APPLY: / TODO: implement me. */ break; }

return NB_OK;

}

/*

void ripd_instance_distribute_list_in_access_list_cli_write(struct vty vty, const struct lyd_node dnode, bool show_defaults) { / TODO: this cli callback is optional; the cli output may not need to be done at each node. / }

int ripd_instance_distribute_list_in_access_list_destroy(struct nb_cb_destroy_args args) { switch (args->event) { case NB_EV_VALIDATE: case NB_EV_PREPARE: case NB_EV_ABORT: case NB_EV_APPLY: / TODO: implement me. */ break; }

return NB_OK;

}

/*

void ripd_instance_distribute_list_in_prefix_list_cli_write(struct vty vty, const struct lyd_node dnode, bool show_defaults) { / TODO: this cli callback is optional; the cli output may not need to be done at each node. / }

int ripd_instance_distribute_list_in_prefix_list_destroy(struct nb_cb_destroy_args args) { switch (args->event) { case NB_EV_VALIDATE: case NB_EV_PREPARE: case NB_EV_ABORT: case NB_EV_APPLY: / TODO: implement me. */ break; }

return NB_OK;

}

/*

void ripd_instance_distribute_list_out_access_list_cli_write(struct vty vty, const struct lyd_node dnode, bool show_defaults) { / TODO: this cli callback is optional; the cli output may not need to be done at each node. / }

int ripd_instance_distribute_list_out_access_list_destroy(struct nb_cb_destroy_args args) { switch (args->event) { case NB_EV_VALIDATE: case NB_EV_PREPARE: case NB_EV_ABORT: case NB_EV_APPLY: / TODO: implement me. */ break; }

return NB_OK;

}

/*

void ripd_instance_distribute_list_out_prefix_list_cli_write(struct vty vty, const struct lyd_node dnode, bool show_defaults) { / TODO: this cli callback is optional; the cli output may not need to be done at each node. / }

int ripd_instance_distribute_list_out_prefix_list_destroy(struct nb_cb_destroy_args args) { switch (args->event) { case NB_EV_VALIDATE: case NB_EV_PREPARE: case NB_EV_ABORT: case NB_EV_APPLY: / TODO: implement me. */ break; }

return NB_OK;

}

/*

void ripd_instance_redistribute_cli_write(struct vty vty, const struct lyd_node dnode, bool show_defaults) { / TODO: this cli callback is optional; the cli output may not need to be done at each node. / }

int ripd_instance_redistribute_destroy(struct nb_cb_destroy_args args) { switch (args->event) { case NB_EV_VALIDATE: case NB_EV_PREPARE: case NB_EV_ABORT: case NB_EV_APPLY: / TODO: implement me. */ break; }

return NB_OK;

}

/*

void ripd_instance_redistribute_route_map_cli_write(struct vty vty, const struct lyd_node dnode, bool show_defaults) { / TODO: this cli callback is optional; the cli output may not need to be done at each node. / }

int ripd_instance_redistribute_route_map_destroy(struct nb_cb_destroy_args args) { switch (args->event) { case NB_EV_VALIDATE: case NB_EV_PREPARE: case NB_EV_ABORT: case NB_EV_APPLY: / TODO: implement me. */ break; }

return NB_OK;

}

/*

void ripd_instance_redistribute_metric_cli_write(struct vty vty, const struct lyd_node dnode, bool show_defaults) { / TODO: this cli callback is optional; the cli output may not need to be done at each node. / }

int ripd_instance_redistribute_metric_destroy(struct nb_cb_destroy_args args) { switch (args->event) { case NB_EV_VALIDATE: case NB_EV_PREPARE: case NB_EV_ABORT: case NB_EV_APPLY: / TODO: implement me. */ break; }

return NB_OK;

}

/*

void ripd_instance_if_route_maps_if_route_map_cli_write(struct vty vty, const struct lyd_node dnode, bool show_defaults) { / TODO: this cli callback is optional; the cli output may not need to be done at each node. / }

int ripd_instance_if_route_maps_if_route_map_destroy(struct nb_cb_destroy_args args) { switch (args->event) { case NB_EV_VALIDATE: case NB_EV_PREPARE: case NB_EV_ABORT: case NB_EV_APPLY: / TODO: implement me. */ break; }

return NB_OK;

}

/*

void ripd_instance_if_route_maps_if_route_map_in_route_map_cli_write(struct vty vty, const struct lyd_node dnode, bool show_defaults) { / TODO: this cli callback is optional; the cli output may not need to be done at each node. / }

int ripd_instance_if_route_maps_if_route_map_in_route_map_destroy(struct nb_cb_destroy_args args) { switch (args->event) { case NB_EV_VALIDATE: case NB_EV_PREPARE: case NB_EV_ABORT: case NB_EV_APPLY: / TODO: implement me. */ break; }

return NB_OK;

}

/*

void ripd_instance_if_route_maps_if_route_map_out_route_map_cli_write(struct vty vty, const struct lyd_node dnode, bool show_defaults) { / TODO: this cli callback is optional; the cli output may not need to be done at each node. / }

int ripd_instance_if_route_maps_if_route_map_out_route_map_destroy(struct nb_cb_destroy_args args) { switch (args->event) { case NB_EV_VALIDATE: case NB_EV_PREPARE: case NB_EV_ABORT: case NB_EV_APPLY: / TODO: implement me. */ break; }

return NB_OK;

}

/*

void ripd_instance_static_route_cli_write(struct vty vty, const struct lyd_node dnode, bool show_defaults) { / TODO: this cli callback is optional; the cli output may not need to be done at each node. / }

int ripd_instance_static_route_destroy(struct nb_cb_destroy_args args) { switch (args->event) { case NB_EV_VALIDATE: case NB_EV_PREPARE: case NB_EV_ABORT: case NB_EV_APPLY: / TODO: implement me. */ break; }

return NB_OK;

}

/*

void ripd_instance_timers_flush_interval_cli_write(struct vty vty, const struct lyd_node dnode, bool show_defaults) { / TODO: this cli callback is optional; the cli output may not need to be done at each node. / }

/*

void ripd_instance_timers_holddown_interval_cli_write(struct vty vty, const struct lyd_node dnode, bool show_defaults) { / TODO: this cli callback is optional; the cli output may not need to be done at each node. / }

/*

void ripd_instance_timers_update_interval_cli_write(struct vty vty, const struct lyd_node dnode, bool show_defaults) { / TODO: this cli callback is optional; the cli output may not need to be done at each node. / }

/*

void ripd_instance_version_receive_cli_write(struct vty vty, const struct lyd_node dnode, bool show_defaults) { / TODO: this cli callback is optional; the cli output may not need to be done at each node. / }

/*

void ripd_instance_version_send_cli_write(struct vty vty, const struct lyd_node dnode, bool show_defaults) { / TODO: this cli callback is optional; the cli output may not need to be done at each node. / }

/*

void ripd_instance_default_bfd_profile_cli_write(struct vty vty, const struct lyd_node dnode, bool show_defaults) { / TODO: this cli callback is optional; the cli output may not need to be done at each node. / }

int ripd_instance_default_bfd_profile_destroy(struct nb_cb_destroy_args args) { switch (args->event) { case NB_EV_VALIDATE: case NB_EV_PREPARE: case NB_EV_ABORT: case NB_EV_APPLY: / TODO: implement me. */ break; }

return NB_OK;

}

/*

int ripd_instance_state_neighbors_neighbor_get_keys(struct nb_cb_get_keys_args args) { / TODO: implement me. */ return NB_OK; }

const void ripd_instance_state_neighbors_neighbor_lookup_entry(struct nb_cb_lookup_entry_args args) { / TODO: implement me. / return NULL; }

/*

/*

/*

/*

/*

int ripd_instance_state_routes_route_get_keys(struct nb_cb_get_keys_args args) { / TODO: implement me. */ return NB_OK; }

const void ripd_instance_state_routes_route_lookup_entry(struct nb_cb_lookup_entry_args args) { / TODO: implement me. / return NULL; }

/*

/*

/*

/*

/*

/*

/*

/*

/*

/*

/*

/*

/*

/*

/*

/ clang-format off / const struct frr_yang_module_info frr_ripd_nb_info = { .name = "frr-ripd", .nodes = { { .xpath = "/frr-interface:lib/interface/frr-ripd:rip/split-horizon", .cbs = { .modify = lib_interface_rip_split_horizon_modify, } }, { .xpath = "/frr-interface:lib/interface/frr-ripd:rip/v2-broadcast", .cbs = { .modify = lib_interface_rip_v2_broadcast_modify, } }, { .xpath = "/frr-interface:lib/interface/frr-ripd:rip/version-receive", .cbs = { .modify = lib_interface_rip_version_receive_modify, } }, { .xpath = "/frr-interface:lib/interface/frr-ripd:rip/version-send", .cbs = { .modify = lib_interface_rip_version_send_modify, } }, { .xpath = "/frr-interface:lib/interface/frr-ripd:rip/authentication-scheme/mode", .cbs = { .modify = lib_interface_rip_authentication_scheme_mode_modify, } }, { .xpath = "/frr-interface:lib/interface/frr-ripd:rip/authentication-scheme/md5-auth-length", .cbs = { .modify = lib_interface_rip_authentication_scheme_md5_auth_length_modify, .destroy = lib_interface_rip_authentication_scheme_md5_auth_length_destroy, } }, { .xpath = "/frr-interface:lib/interface/frr-ripd:rip/authentication-password", .cbs = { .modify = lib_interface_rip_authentication_password_modify, .destroy = lib_interface_rip_authentication_password_destroy, } }, { .xpath = "/frr-interface:lib/interface/frr-ripd:rip/authentication-key-chain", .cbs = { .modify = lib_interface_rip_authentication_key_chain_modify, .destroy = lib_interface_rip_authentication_key_chain_destroy, } }, { .xpath = "/frr-interface:lib/interface/frr-ripd:rip/bfd-monitoring", .cbs = { .create = lib_interface_rip_bfd_monitoring_create, .destroy = lib_interface_rip_bfd_monitoring_destroy, } }, { .xpath = "/frr-interface:lib/interface/frr-ripd:rip/bfd-monitoring/enable", .cbs = { .modify = lib_interface_rip_bfd_monitoring_enable_modify, } }, { .xpath = "/frr-interface:lib/interface/frr-ripd:rip/bfd-monitoring/profile", .cbs = { .modify = lib_interface_rip_bfd_monitoring_profile_modify, .destroy = lib_interface_rip_bfd_monitoring_profile_destroy, } }, { .xpath = "/frr-ripd:ripd/instance", .cbs = { .create = ripd_instance_create, .destroy = ripd_instance_destroy, .get_next = ripd_instance_get_next, .get_keys = ripd_instance_get_keys, .lookup_entry = ripd_instance_lookup_entry, } }, { .xpath = "/frr-ripd:ripd/instance/allow-ecmp", .cbs = { .modify = ripd_instance_allow_ecmp_modify, } }, { .xpath = "/frr-ripd:ripd/instance/default-information-originate", .cbs = { .modify = ripd_instance_default_information_originate_modify, } }, { .xpath = "/frr-ripd:ripd/instance/default-metric", .cbs = { .modify = ripd_instance_default_metric_modify, } }, { .xpath = "/frr-ripd:ripd/instance/distance/default", .cbs = { .modify = ripd_instance_distance_default_modify, } }, { .xpath = "/frr-ripd:ripd/instance/distance/source", .cbs = { .create = ripd_instance_distance_source_create, .destroy = ripd_instance_distance_source_destroy, } }, { .xpath = "/frr-ripd:ripd/instance/distance/source/distance", .cbs = { .modify = ripd_instance_distance_source_distance_modify, } }, { .xpath = "/frr-ripd:ripd/instance/distance/source/access-list", .cbs = { .modify = ripd_instance_distance_source_access_list_modify, .destroy = ripd_instance_distance_source_access_list_destroy, } }, { .xpath = "/frr-ripd:ripd/instance/explicit-neighbor", .cbs = { .create = ripd_instance_explicit_neighbor_create, .destroy = ripd_instance_explicit_neighbor_destroy, } }, { .xpath = "/frr-ripd:ripd/instance/network", .cbs = { .create = ripd_instance_network_create, .destroy = ripd_instance_network_destroy, } }, { .xpath = "/frr-ripd:ripd/instance/interface", .cbs = { .create = ripd_instance_interface_create, .destroy = ripd_instance_interface_destroy, } }, { .xpath = "/frr-ripd:ripd/instance/offset-list", .cbs = { .create = ripd_instance_offset_list_create, .destroy = ripd_instance_offset_list_destroy, } }, { .xpath = "/frr-ripd:ripd/instance/offset-list/access-list", .cbs = { .modify = ripd_instance_offset_list_access_list_modify, } }, { .xpath = "/frr-ripd:ripd/instance/offset-list/metric", .cbs = { .modify = ripd_instance_offset_list_metric_modify, } }, { .xpath = "/frr-ripd:ripd/instance/passive-default", .cbs = { .modify = ripd_instance_passive_default_modify, } }, { .xpath = "/frr-ripd:ripd/instance/passive-interface", .cbs = { .create = ripd_instance_passive_interface_create, .destroy = ripd_instance_passive_interface_destroy, } }, { .xpath = "/frr-ripd:ripd/instance/non-passive-interface", .cbs = { .create = ripd_instance_non_passive_interface_create, .destroy = ripd_instance_non_passive_interface_destroy, } }, { .xpath = "/frr-ripd:ripd/instance/distribute-list", .cbs = { .create = ripd_instance_distribute_list_create, .destroy = ripd_instance_distribute_list_destroy, } }, { .xpath = "/frr-ripd:ripd/instance/distribute-list/in/access-list", .cbs = { .modify = ripd_instance_distribute_list_in_access_list_modify, .destroy = ripd_instance_distribute_list_in_access_list_destroy, } }, { .xpath = "/frr-ripd:ripd/instance/distribute-list/in/prefix-list", .cbs = { .modify = ripd_instance_distribute_list_in_prefix_list_modify, .destroy = ripd_instance_distribute_list_in_prefix_list_destroy, } }, { .xpath = "/frr-ripd:ripd/instance/distribute-list/out/access-list", .cbs = { .modify = ripd_instance_distribute_list_out_access_list_modify, .destroy = ripd_instance_distribute_list_out_access_list_destroy, } }, { .xpath = "/frr-ripd:ripd/instance/distribute-list/out/prefix-list", .cbs = { .modify = ripd_instance_distribute_list_out_prefix_list_modify, .destroy = ripd_instance_distribute_list_out_prefix_list_destroy, } }, { .xpath = "/frr-ripd:ripd/instance/redistribute", .cbs = { .create = ripd_instance_redistribute_create, .destroy = ripd_instance_redistribute_destroy, } }, { .xpath = "/frr-ripd:ripd/instance/redistribute/route-map", .cbs = { .modify = ripd_instance_redistribute_route_map_modify, .destroy = ripd_instance_redistribute_route_map_destroy, } }, { .xpath = "/frr-ripd:ripd/instance/redistribute/metric", .cbs = { .modify = ripd_instance_redistribute_metric_modify, .destroy = ripd_instance_redistribute_metric_destroy, } }, { .xpath = "/frr-ripd:ripd/instance/if-route-maps/if-route-map", .cbs = { .create = ripd_instance_if_route_maps_if_route_map_create, .destroy = ripd_instance_if_route_maps_if_route_map_destroy, } }, { .xpath = "/frr-ripd:ripd/instance/if-route-maps/if-route-map/in-route-map", .cbs = { .modify = ripd_instance_if_route_maps_if_route_map_in_route_map_modify, .destroy = ripd_instance_if_route_maps_if_route_map_in_route_map_destroy, } }, { .xpath = "/frr-ripd:ripd/instance/if-route-maps/if-route-map/out-route-map", .cbs = { .modify = ripd_instance_if_route_maps_if_route_map_out_route_map_modify, .destroy = ripd_instance_if_route_maps_if_route_map_out_route_map_destroy, } }, { .xpath = "/frr-ripd:ripd/instance/static-route", .cbs = { .create = ripd_instance_static_route_create, .destroy = ripd_instance_static_route_destroy, } }, { .xpath = "/frr-ripd:ripd/instance/timers/flush-interval", .cbs = { .modify = ripd_instance_timers_flush_interval_modify, } }, { .xpath = "/frr-ripd:ripd/instance/timers/holddown-interval", .cbs = { .modify = ripd_instance_timers_holddown_interval_modify, } }, { .xpath = "/frr-ripd:ripd/instance/timers/update-interval", .cbs = { .modify = ripd_instance_timers_update_interval_modify, } }, { .xpath = "/frr-ripd:ripd/instance/version/receive", .cbs = { .modify = ripd_instance_version_receive_modify, } }, { .xpath = "/frr-ripd:ripd/instance/version/send", .cbs = { .modify = ripd_instance_version_send_modify, } }, { .xpath = "/frr-ripd:ripd/instance/default-bfd-profile", .cbs = { .modify = ripd_instance_default_bfd_profile_modify, .destroy = ripd_instance_default_bfd_profile_destroy, } }, { .xpath = "/frr-ripd:ripd/instance/state/neighbors/neighbor", .cbs = { .get_next = ripd_instance_state_neighbors_neighbor_get_next, .get_keys = ripd_instance_state_neighbors_neighbor_get_keys, .lookup_entry = ripd_instance_state_neighbors_neighbor_lookup_entry, } }, { .xpath = "/frr-ripd:ripd/instance/state/neighbors/neighbor/address", .cbs = { .get_elem = ripd_instance_state_neighbors_neighbor_address_get_elem, } }, { .xpath = "/frr-ripd:ripd/instance/state/neighbors/neighbor/last-update", .cbs = { .get_elem = ripd_instance_state_neighbors_neighbor_last_update_get_elem, } }, { .xpath = "/frr-ripd:ripd/instance/state/neighbors/neighbor/bad-packets-rcvd", .cbs = { .get_elem = ripd_instance_state_neighbors_neighbor_bad_packets_rcvd_get_elem, } }, { .xpath = "/frr-ripd:ripd/instance/state/neighbors/neighbor/bad-routes-rcvd", .cbs = { .get_elem = ripd_instance_state_neighbors_neighbor_bad_routes_rcvd_get_elem, } }, { .xpath = "/frr-ripd:ripd/instance/state/routes/route", .cbs = { .get_next = ripd_instance_state_routes_route_get_next, .get_keys = ripd_instance_state_routes_route_get_keys, .lookup_entry = ripd_instance_state_routes_route_lookup_entry, } }, { .xpath = "/frr-ripd:ripd/instance/state/routes/route/prefix", .cbs = { .get_elem = ripd_instance_state_routes_route_prefix_get_elem, } }, { .xpath = "/frr-ripd:ripd/instance/state/routes/route/nexthops/nexthop", .cbs = { .get_next = ripd_instance_state_routes_route_nexthops_nexthop_get_next, } }, { .xpath = "/frr-ripd:ripd/instance/state/routes/route/nexthops/nexthop/nh-type", .cbs = { .get_elem = ripd_instance_state_routes_route_nexthops_nexthop_nh_type_get_elem, } }, { .xpath = "/frr-ripd:ripd/instance/state/routes/route/nexthops/nexthop/protocol", .cbs = { .get_elem = ripd_instance_state_routes_route_nexthops_nexthop_protocol_get_elem, } }, { .xpath = "/frr-ripd:ripd/instance/state/routes/route/nexthops/nexthop/rip-type", .cbs = { .get_elem = ripd_instance_state_routes_route_nexthops_nexthop_rip_type_get_elem, } }, { .xpath = "/frr-ripd:ripd/instance/state/routes/route/nexthops/nexthop/gateway", .cbs = { .get_elem = ripd_instance_state_routes_route_nexthops_nexthop_gateway_get_elem, } }, { .xpath = "/frr-ripd:ripd/instance/state/routes/route/nexthops/nexthop/interface", .cbs = { .get_elem = ripd_instance_state_routes_route_nexthops_nexthop_interface_get_elem, } }, { .xpath = "/frr-ripd:ripd/instance/state/routes/route/nexthops/nexthop/from", .cbs = { .get_elem = ripd_instance_state_routes_route_nexthops_nexthop_from_get_elem, } }, { .xpath = "/frr-ripd:ripd/instance/state/routes/route/nexthops/nexthop/tag", .cbs = { .get_elem = ripd_instance_state_routes_route_nexthops_nexthop_tag_get_elem, } }, { .xpath = "/frr-ripd:ripd/instance/state/routes/route/nexthops/nexthop/external-metric", .cbs = { .get_elem = ripd_instance_state_routes_route_nexthops_nexthop_external_metric_get_elem, } }, { .xpath = "/frr-ripd:ripd/instance/state/routes/route/nexthops/nexthop/expire-time", .cbs = { .get_elem = ripd_instance_state_routes_route_nexthops_nexthop_expire_time_get_elem, } }, { .xpath = "/frr-ripd:ripd/instance/state/routes/route/metric", .cbs = { .get_elem = ripd_instance_state_routes_route_metric_get_elem, } }, { .xpath = "/frr-ripd:ripd/instance/state/routes/route/next-hop", .cbs = { .get_elem = ripd_instance_state_routes_route_next_hop_get_elem, } }, { .xpath = "/frr-ripd:ripd/instance/state/routes/route/interface", .cbs = { .get_elem = ripd_instance_state_routes_route_interface_get_elem, } }, { .xpath = "/frr-ripd:clear-rip-route", .cbs = { .rpc = clear_rip_route_rpc, } }, { .xpath = NULL, }, } };

/ clang-format off / const struct frr_yang_module_info frr_ripd_cli_info = { .name = "frr-ripd", .nodes = { { .xpath = "/frr-interface:lib/interface/frr-ripd:rip/split-horizon", .cbs = { .cli_show = lib_interface_rip_split_horizon_cli_write, } }, { .xpath = "/frr-interface:lib/interface/frr-ripd:rip/v2-broadcast", .cbs = { .cli_show = lib_interface_rip_v2_broadcast_cli_write, } }, { .xpath = "/frr-interface:lib/interface/frr-ripd:rip/version-receive", .cbs = { .cli_show = lib_interface_rip_version_receive_cli_write, } }, { .xpath = "/frr-interface:lib/interface/frr-ripd:rip/version-send", .cbs = { .cli_show = lib_interface_rip_version_send_cli_write, } }, { .xpath = "/frr-interface:lib/interface/frr-ripd:rip/authentication-scheme/mode", .cbs = { .cli_show = lib_interface_rip_authentication_scheme_mode_cli_write, } }, { .xpath = "/frr-interface:lib/interface/frr-ripd:rip/authentication-scheme/md5-auth-length", .cbs = { .cli_show = lib_interface_rip_authentication_scheme_md5_auth_length_cli_write, } }, { .xpath = "/frr-interface:lib/interface/frr-ripd:rip/authentication-password", .cbs = { .cli_show = lib_interface_rip_authentication_password_cli_write, } }, { .xpath = "/frr-interface:lib/interface/frr-ripd:rip/authentication-key-chain", .cbs = { .cli_show = lib_interface_rip_authentication_key_chain_cli_write, } }, { .xpath = "/frr-interface:lib/interface/frr-ripd:rip/bfd-monitoring", .cbs = { .cli_show = lib_interface_rip_bfd_monitoring_cli_write, } }, { .xpath = "/frr-interface:lib/interface/frr-ripd:rip/bfd-monitoring/enable", .cbs = { .cli_show = lib_interface_rip_bfd_monitoring_enable_cli_write, } }, { .xpath = "/frr-interface:lib/interface/frr-ripd:rip/bfd-monitoring/profile", .cbs = { .cli_show = lib_interface_rip_bfd_monitoring_profile_cli_write, } }, { .xpath = "/frr-ripd:ripd/instance", .cbs = { .cli_show = ripd_instance_cli_write, } }, { .xpath = "/frr-ripd:ripd/instance/allow-ecmp", .cbs = { .cli_show = ripd_instance_allow_ecmp_cli_write, } }, { .xpath = "/frr-ripd:ripd/instance/default-information-originate", .cbs = { .cli_show = ripd_instance_default_information_originate_cli_write, } }, { .xpath = "/frr-ripd:ripd/instance/default-metric", .cbs = { .cli_show = ripd_instance_default_metric_cli_write, } }, { .xpath = "/frr-ripd:ripd/instance/distance/default", .cbs = { .cli_show = ripd_instance_distance_default_cli_write, } }, { .xpath = "/frr-ripd:ripd/instance/distance/source", .cbs = { .cli_show = ripd_instance_distance_source_cli_write, } }, { .xpath = "/frr-ripd:ripd/instance/distance/source/distance", .cbs = { .cli_show = ripd_instance_distance_source_distance_cli_write, } }, { .xpath = "/frr-ripd:ripd/instance/distance/source/access-list", .cbs = { .cli_show = ripd_instance_distance_source_access_list_cli_write, } }, { .xpath = "/frr-ripd:ripd/instance/explicit-neighbor", .cbs = { .cli_show = ripd_instance_explicit_neighbor_cli_write, } }, { .xpath = "/frr-ripd:ripd/instance/network", .cbs = { .cli_show = ripd_instance_network_cli_write, } }, { .xpath = "/frr-ripd:ripd/instance/interface", .cbs = { .cli_show = ripd_instance_interface_cli_write, } }, { .xpath = "/frr-ripd:ripd/instance/offset-list", .cbs = { .cli_show = ripd_instance_offset_list_cli_write, } }, { .xpath = "/frr-ripd:ripd/instance/offset-list/access-list", .cbs = { .cli_show = ripd_instance_offset_list_access_list_cli_write, } }, { .xpath = "/frr-ripd:ripd/instance/offset-list/metric", .cbs = { .cli_show = ripd_instance_offset_list_metric_cli_write, } }, { .xpath = "/frr-ripd:ripd/instance/passive-default", .cbs = { .cli_show = ripd_instance_passive_default_cli_write, } }, { .xpath = "/frr-ripd:ripd/instance/passive-interface", .cbs = { .cli_show = ripd_instance_passive_interface_cli_write, } }, { .xpath = "/frr-ripd:ripd/instance/non-passive-interface", .cbs = { .cli_show = ripd_instance_non_passive_interface_cli_write, } }, { .xpath = "/frr-ripd:ripd/instance/distribute-list", .cbs = { .cli_show = ripd_instance_distribute_list_cli_write, } }, { .xpath = "/frr-ripd:ripd/instance/distribute-list/in/access-list", .cbs = { .cli_show = ripd_instance_distribute_list_in_access_list_cli_write, } }, { .xpath = "/frr-ripd:ripd/instance/distribute-list/in/prefix-list", .cbs = { .cli_show = ripd_instance_distribute_list_in_prefix_list_cli_write, } }, { .xpath = "/frr-ripd:ripd/instance/distribute-list/out/access-list", .cbs = { .cli_show = ripd_instance_distribute_list_out_access_list_cli_write, } }, { .xpath = "/frr-ripd:ripd/instance/distribute-list/out/prefix-list", .cbs = { .cli_show = ripd_instance_distribute_list_out_prefix_list_cli_write, } }, { .xpath = "/frr-ripd:ripd/instance/redistribute", .cbs = { .cli_show = ripd_instance_redistribute_cli_write, } }, { .xpath = "/frr-ripd:ripd/instance/redistribute/route-map", .cbs = { .cli_show = ripd_instance_redistribute_route_map_cli_write, } }, { .xpath = "/frr-ripd:ripd/instance/redistribute/metric", .cbs = { .cli_show = ripd_instance_redistribute_metric_cli_write, } }, { .xpath = "/frr-ripd:ripd/instance/if-route-maps/if-route-map", .cbs = { .cli_show = ripd_instance_if_route_maps_if_route_map_cli_write, } }, { .xpath = "/frr-ripd:ripd/instance/if-route-maps/if-route-map/in-route-map", .cbs = { .cli_show = ripd_instance_if_route_maps_if_route_map_in_route_map_cli_write, } }, { .xpath = "/frr-ripd:ripd/instance/if-route-maps/if-route-map/out-route-map", .cbs = { .cli_show = ripd_instance_if_route_maps_if_route_map_out_route_map_cli_write, } }, { .xpath = "/frr-ripd:ripd/instance/static-route", .cbs = { .cli_show = ripd_instance_static_route_cli_write, } }, { .xpath = "/frr-ripd:ripd/instance/timers/flush-interval", .cbs = { .cli_show = ripd_instance_timers_flush_interval_cli_write, } }, { .xpath = "/frr-ripd:ripd/instance/timers/holddown-interval", .cbs = { .cli_show = ripd_instance_timers_holddown_interval_cli_write, } }, { .xpath = "/frr-ripd:ripd/instance/timers/update-interval", .cbs = { .cli_show = ripd_instance_timers_update_interval_cli_write, } }, { .xpath = "/frr-ripd:ripd/instance/version/receive", .cbs = { .cli_show = ripd_instance_version_receive_cli_write, } }, { .xpath = "/frr-ripd:ripd/instance/version/send", .cbs = { .cli_show = ripd_instance_version_send_cli_write, } }, { .xpath = "/frr-ripd:ripd/instance/default-bfd-profile", .cbs = { .cli_show = ripd_instance_default_bfd_profile_cli_write, } }, { .xpath = NULL, }, } };

nanfengnan1 commented 4 weeks ago

sorry, this is my own issue, shell scripts is okay.

Jafaral commented 3 weeks ago

no issue then? closing...