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/static-route",
120 .cli_show
= cli_show_ripng_route
,
121 .create
= ripngd_instance_static_route_create
,
122 .destroy
= ripngd_instance_static_route_destroy
,
126 .xpath
= "/frr-ripngd:ripngd/instance/aggregate-address",
128 .cli_show
= cli_show_ripng_aggregate_address
,
129 .create
= ripngd_instance_aggregate_address_create
,
130 .destroy
= ripngd_instance_aggregate_address_destroy
,
134 .xpath
= "/frr-ripngd:ripngd/instance/timers",
136 .apply_finish
= ripngd_instance_timers_apply_finish
,
137 .cli_show
= cli_show_ripng_timers
,
141 .xpath
= "/frr-ripngd:ripngd/instance/timers/flush-interval",
143 .modify
= ripngd_instance_timers_flush_interval_modify
,
147 .xpath
= "/frr-ripngd:ripngd/instance/timers/holddown-interval",
149 .modify
= ripngd_instance_timers_holddown_interval_modify
,
153 .xpath
= "/frr-ripngd:ripngd/instance/timers/update-interval",
155 .modify
= ripngd_instance_timers_update_interval_modify
,
159 .xpath
= "/frr-ripngd:ripngd/instance/state/neighbors/neighbor",
161 .get_keys
= ripngd_instance_state_neighbors_neighbor_get_keys
,
162 .get_next
= ripngd_instance_state_neighbors_neighbor_get_next
,
163 .lookup_entry
= ripngd_instance_state_neighbors_neighbor_lookup_entry
,
167 .xpath
= "/frr-ripngd:ripngd/instance/state/neighbors/neighbor/address",
169 .get_elem
= ripngd_instance_state_neighbors_neighbor_address_get_elem
,
173 .xpath
= "/frr-ripngd:ripngd/instance/state/neighbors/neighbor/last-update",
175 .get_elem
= ripngd_instance_state_neighbors_neighbor_last_update_get_elem
,
179 .xpath
= "/frr-ripngd:ripngd/instance/state/neighbors/neighbor/bad-packets-rcvd",
181 .get_elem
= ripngd_instance_state_neighbors_neighbor_bad_packets_rcvd_get_elem
,
185 .xpath
= "/frr-ripngd:ripngd/instance/state/neighbors/neighbor/bad-routes-rcvd",
187 .get_elem
= ripngd_instance_state_neighbors_neighbor_bad_routes_rcvd_get_elem
,
191 .xpath
= "/frr-ripngd:ripngd/instance/state/routes/route",
193 .get_keys
= ripngd_instance_state_routes_route_get_keys
,
194 .get_next
= ripngd_instance_state_routes_route_get_next
,
195 .lookup_entry
= ripngd_instance_state_routes_route_lookup_entry
,
199 .xpath
= "/frr-ripngd:ripngd/instance/state/routes/route/prefix",
201 .get_elem
= ripngd_instance_state_routes_route_prefix_get_elem
,
205 .xpath
= "/frr-ripngd:ripngd/instance/state/routes/route/next-hop",
207 .get_elem
= ripngd_instance_state_routes_route_next_hop_get_elem
,
211 .xpath
= "/frr-ripngd:ripngd/instance/state/routes/route/interface",
213 .get_elem
= ripngd_instance_state_routes_route_interface_get_elem
,
217 .xpath
= "/frr-ripngd:ripngd/instance/state/routes/route/metric",
219 .get_elem
= ripngd_instance_state_routes_route_metric_get_elem
,
223 .xpath
= "/frr-ripngd:clear-ripng-route",
225 .rpc
= clear_ripng_route_rpc
,
229 .xpath
= "/frr-interface:lib/interface/frr-ripngd:ripng/split-horizon",
231 .cli_show
= cli_show_ipv6_ripng_split_horizon
,
232 .modify
= lib_interface_ripng_split_horizon_modify
,