1 // SPDX-License-Identifier: GPL-2.0-or-later
3 * Copyright (C) 2018 NetDEF, Inc.
9 #include "northbound.h"
12 #include "ripngd/ripng_nb.h"
14 /* clang-format off */
15 const struct frr_yang_module_info frr_ripngd_info
= {
19 .xpath
= "/frr-ripngd:ripngd/instance",
21 .cli_show
= cli_show_router_ripng
,
22 .create
= ripngd_instance_create
,
23 .destroy
= ripngd_instance_destroy
,
24 .get_keys
= ripngd_instance_get_keys
,
25 .get_next
= ripngd_instance_get_next
,
26 .lookup_entry
= ripngd_instance_lookup_entry
,
30 .xpath
= "/frr-ripngd:ripngd/instance/allow-ecmp",
32 .cli_show
= cli_show_ripng_allow_ecmp
,
33 .modify
= ripngd_instance_allow_ecmp_modify
,
37 .xpath
= "/frr-ripngd:ripngd/instance/default-information-originate",
39 .cli_show
= cli_show_ripng_default_information_originate
,
40 .modify
= ripngd_instance_default_information_originate_modify
,
44 .xpath
= "/frr-ripngd:ripngd/instance/default-metric",
46 .cli_show
= cli_show_ripng_default_metric
,
47 .modify
= ripngd_instance_default_metric_modify
,
51 .xpath
= "/frr-ripngd:ripngd/instance/network",
53 .cli_show
= cli_show_ripng_network_prefix
,
54 .create
= ripngd_instance_network_create
,
55 .destroy
= ripngd_instance_network_destroy
,
59 .xpath
= "/frr-ripngd:ripngd/instance/interface",
61 .cli_show
= cli_show_ripng_network_interface
,
62 .create
= ripngd_instance_interface_create
,
63 .destroy
= ripngd_instance_interface_destroy
,
67 .xpath
= "/frr-ripngd:ripngd/instance/offset-list",
69 .cli_show
= cli_show_ripng_offset_list
,
70 .create
= ripngd_instance_offset_list_create
,
71 .destroy
= ripngd_instance_offset_list_destroy
,
75 .xpath
= "/frr-ripngd:ripngd/instance/offset-list/access-list",
77 .modify
= ripngd_instance_offset_list_access_list_modify
,
81 .xpath
= "/frr-ripngd:ripngd/instance/offset-list/metric",
83 .modify
= ripngd_instance_offset_list_metric_modify
,
87 .xpath
= "/frr-ripngd:ripngd/instance/passive-interface",
89 .cli_show
= cli_show_ripng_passive_interface
,
90 .create
= ripngd_instance_passive_interface_create
,
91 .destroy
= ripngd_instance_passive_interface_destroy
,
95 .xpath
= "/frr-ripngd:ripngd/instance/redistribute",
97 .apply_finish
= ripngd_instance_redistribute_apply_finish
,
98 .cli_show
= cli_show_ripng_redistribute
,
99 .create
= ripngd_instance_redistribute_create
,
100 .destroy
= ripngd_instance_redistribute_destroy
,
104 .xpath
= "/frr-ripngd:ripngd/instance/redistribute/route-map",
106 .destroy
= ripngd_instance_redistribute_route_map_destroy
,
107 .modify
= ripngd_instance_redistribute_route_map_modify
,
111 .xpath
= "/frr-ripngd:ripngd/instance/redistribute/metric",
113 .destroy
= ripngd_instance_redistribute_metric_destroy
,
114 .modify
= ripngd_instance_redistribute_metric_modify
,
118 .xpath
= "/frr-ripngd:ripngd/instance/if-route-maps/if-route-map",
120 .create
= ripngd_instance_if_route_maps_if_route_map_create
,
121 .destroy
= ripngd_instance_if_route_maps_if_route_map_destroy
,
125 .xpath
= "/frr-ripngd:ripngd/instance/if-route-maps/if-route-map/in-route-map",
127 .modify
= ripngd_instance_if_route_maps_if_route_map_in_route_map_modify
,
128 .destroy
= ripngd_instance_if_route_maps_if_route_map_in_route_map_destroy
,
132 .xpath
= "/frr-ripngd:ripngd/instance/if-route-maps/if-route-map/out-route-map",
134 .modify
= ripngd_instance_if_route_maps_if_route_map_out_route_map_modify
,
135 .destroy
= ripngd_instance_if_route_maps_if_route_map_out_route_map_destroy
,
139 .xpath
= "/frr-ripngd:ripngd/instance/static-route",
141 .cli_show
= cli_show_ripng_route
,
142 .create
= ripngd_instance_static_route_create
,
143 .destroy
= ripngd_instance_static_route_destroy
,
147 .xpath
= "/frr-ripngd:ripngd/instance/aggregate-address",
149 .cli_show
= cli_show_ripng_aggregate_address
,
150 .create
= ripngd_instance_aggregate_address_create
,
151 .destroy
= ripngd_instance_aggregate_address_destroy
,
155 .xpath
= "/frr-ripngd:ripngd/instance/timers",
157 .apply_finish
= ripngd_instance_timers_apply_finish
,
158 .cli_show
= cli_show_ripng_timers
,
162 .xpath
= "/frr-ripngd:ripngd/instance/timers/flush-interval",
164 .modify
= ripngd_instance_timers_flush_interval_modify
,
168 .xpath
= "/frr-ripngd:ripngd/instance/timers/holddown-interval",
170 .modify
= ripngd_instance_timers_holddown_interval_modify
,
174 .xpath
= "/frr-ripngd:ripngd/instance/timers/update-interval",
176 .modify
= ripngd_instance_timers_update_interval_modify
,
180 .xpath
= "/frr-ripngd:ripngd/instance/state/neighbors/neighbor",
182 .get_keys
= ripngd_instance_state_neighbors_neighbor_get_keys
,
183 .get_next
= ripngd_instance_state_neighbors_neighbor_get_next
,
184 .lookup_entry
= ripngd_instance_state_neighbors_neighbor_lookup_entry
,
188 .xpath
= "/frr-ripngd:ripngd/instance/state/neighbors/neighbor/address",
190 .get_elem
= ripngd_instance_state_neighbors_neighbor_address_get_elem
,
194 .xpath
= "/frr-ripngd:ripngd/instance/state/neighbors/neighbor/last-update",
196 .get_elem
= ripngd_instance_state_neighbors_neighbor_last_update_get_elem
,
200 .xpath
= "/frr-ripngd:ripngd/instance/state/neighbors/neighbor/bad-packets-rcvd",
202 .get_elem
= ripngd_instance_state_neighbors_neighbor_bad_packets_rcvd_get_elem
,
206 .xpath
= "/frr-ripngd:ripngd/instance/state/neighbors/neighbor/bad-routes-rcvd",
208 .get_elem
= ripngd_instance_state_neighbors_neighbor_bad_routes_rcvd_get_elem
,
212 .xpath
= "/frr-ripngd:ripngd/instance/state/routes/route",
214 .get_keys
= ripngd_instance_state_routes_route_get_keys
,
215 .get_next
= ripngd_instance_state_routes_route_get_next
,
216 .lookup_entry
= ripngd_instance_state_routes_route_lookup_entry
,
220 .xpath
= "/frr-ripngd:ripngd/instance/state/routes/route/prefix",
222 .get_elem
= ripngd_instance_state_routes_route_prefix_get_elem
,
226 .xpath
= "/frr-ripngd:ripngd/instance/state/routes/route/next-hop",
228 .get_elem
= ripngd_instance_state_routes_route_next_hop_get_elem
,
232 .xpath
= "/frr-ripngd:ripngd/instance/state/routes/route/interface",
234 .get_elem
= ripngd_instance_state_routes_route_interface_get_elem
,
238 .xpath
= "/frr-ripngd:ripngd/instance/state/routes/route/metric",
240 .get_elem
= ripngd_instance_state_routes_route_metric_get_elem
,
244 .xpath
= "/frr-ripngd:clear-ripng-route",
246 .rpc
= clear_ripng_route_rpc
,
250 .xpath
= "/frr-interface:lib/interface/frr-ripngd:ripng/split-horizon",
252 .cli_show
= cli_show_ipv6_ripng_split_horizon
,
253 .modify
= lib_interface_ripng_split_horizon_modify
,