]> git.proxmox.com Git - mirror_frr.git/blame - ripngd/ripng_nb.c
Merge pull request #13455 from sri-mohan1/srib-ldpd
[mirror_frr.git] / ripngd / ripng_nb.c
CommitLineData
acddc0ed 1// SPDX-License-Identifier: GPL-2.0-or-later
ca473936
RW
2/*
3 * Copyright (C) 2018 NetDEF, Inc.
4 * Renato Westphal
ca473936
RW
5 */
6
7#include <zebra.h>
8
9#include "northbound.h"
10#include "libfrr.h"
11
12#include "ripngd/ripng_nb.h"
1d1f77b6 13#include "lib/if_rmap.h"
ca473936
RW
14
15/* clang-format off */
16const struct frr_yang_module_info frr_ripngd_info = {
17 .name = "frr-ripngd",
18 .nodes = {
19 {
20 .xpath = "/frr-ripngd:ripngd/instance",
21 .cbs = {
22 .cli_show = cli_show_router_ripng,
23 .create = ripngd_instance_create,
24 .destroy = ripngd_instance_destroy,
25 .get_keys = ripngd_instance_get_keys,
26 .get_next = ripngd_instance_get_next,
27 .lookup_entry = ripngd_instance_lookup_entry,
28 },
29 },
30 {
31 .xpath = "/frr-ripngd:ripngd/instance/allow-ecmp",
32 .cbs = {
33 .cli_show = cli_show_ripng_allow_ecmp,
34 .modify = ripngd_instance_allow_ecmp_modify,
35 },
36 },
37 {
38 .xpath = "/frr-ripngd:ripngd/instance/default-information-originate",
39 .cbs = {
40 .cli_show = cli_show_ripng_default_information_originate,
41 .modify = ripngd_instance_default_information_originate_modify,
42 },
43 },
44 {
45 .xpath = "/frr-ripngd:ripngd/instance/default-metric",
46 .cbs = {
47 .cli_show = cli_show_ripng_default_metric,
48 .modify = ripngd_instance_default_metric_modify,
49 },
50 },
51 {
52 .xpath = "/frr-ripngd:ripngd/instance/network",
53 .cbs = {
54 .cli_show = cli_show_ripng_network_prefix,
55 .create = ripngd_instance_network_create,
56 .destroy = ripngd_instance_network_destroy,
57 },
58 },
59 {
60 .xpath = "/frr-ripngd:ripngd/instance/interface",
61 .cbs = {
62 .cli_show = cli_show_ripng_network_interface,
63 .create = ripngd_instance_interface_create,
64 .destroy = ripngd_instance_interface_destroy,
65 },
66 },
67 {
68 .xpath = "/frr-ripngd:ripngd/instance/offset-list",
69 .cbs = {
70 .cli_show = cli_show_ripng_offset_list,
71 .create = ripngd_instance_offset_list_create,
72 .destroy = ripngd_instance_offset_list_destroy,
73 },
74 },
75 {
76 .xpath = "/frr-ripngd:ripngd/instance/offset-list/access-list",
77 .cbs = {
78 .modify = ripngd_instance_offset_list_access_list_modify,
79 },
80 },
81 {
82 .xpath = "/frr-ripngd:ripngd/instance/offset-list/metric",
83 .cbs = {
84 .modify = ripngd_instance_offset_list_metric_modify,
85 },
86 },
87 {
88 .xpath = "/frr-ripngd:ripngd/instance/passive-interface",
89 .cbs = {
90 .cli_show = cli_show_ripng_passive_interface,
91 .create = ripngd_instance_passive_interface_create,
92 .destroy = ripngd_instance_passive_interface_destroy,
93 },
94 },
95 {
96 .xpath = "/frr-ripngd:ripngd/instance/redistribute",
97 .cbs = {
98 .apply_finish = ripngd_instance_redistribute_apply_finish,
99 .cli_show = cli_show_ripng_redistribute,
100 .create = ripngd_instance_redistribute_create,
101 .destroy = ripngd_instance_redistribute_destroy,
102 },
103 },
104 {
105 .xpath = "/frr-ripngd:ripngd/instance/redistribute/route-map",
106 .cbs = {
107 .destroy = ripngd_instance_redistribute_route_map_destroy,
108 .modify = ripngd_instance_redistribute_route_map_modify,
109 },
110 },
111 {
112 .xpath = "/frr-ripngd:ripngd/instance/redistribute/metric",
113 .cbs = {
114 .destroy = ripngd_instance_redistribute_metric_destroy,
115 .modify = ripngd_instance_redistribute_metric_modify,
116 },
117 },
e40c4208
CH
118 {
119 .xpath = "/frr-ripngd:ripngd/instance/if-route-maps/if-route-map",
120 .cbs = {
121 .create = ripngd_instance_if_route_maps_if_route_map_create,
122 .destroy = ripngd_instance_if_route_maps_if_route_map_destroy,
1d1f77b6 123 .cli_show = cli_show_if_route_map,
e40c4208
CH
124 }
125 },
126 {
127 .xpath = "/frr-ripngd:ripngd/instance/if-route-maps/if-route-map/in-route-map",
128 .cbs = {
129 .modify = ripngd_instance_if_route_maps_if_route_map_in_route_map_modify,
130 .destroy = ripngd_instance_if_route_maps_if_route_map_in_route_map_destroy,
131 }
132 },
133 {
134 .xpath = "/frr-ripngd:ripngd/instance/if-route-maps/if-route-map/out-route-map",
135 .cbs = {
136 .modify = ripngd_instance_if_route_maps_if_route_map_out_route_map_modify,
137 .destroy = ripngd_instance_if_route_maps_if_route_map_out_route_map_destroy,
138 }
139 },
ca473936
RW
140 {
141 .xpath = "/frr-ripngd:ripngd/instance/static-route",
142 .cbs = {
143 .cli_show = cli_show_ripng_route,
144 .create = ripngd_instance_static_route_create,
145 .destroy = ripngd_instance_static_route_destroy,
146 },
147 },
148 {
149 .xpath = "/frr-ripngd:ripngd/instance/aggregate-address",
150 .cbs = {
151 .cli_show = cli_show_ripng_aggregate_address,
152 .create = ripngd_instance_aggregate_address_create,
153 .destroy = ripngd_instance_aggregate_address_destroy,
154 },
155 },
156 {
157 .xpath = "/frr-ripngd:ripngd/instance/timers",
158 .cbs = {
159 .apply_finish = ripngd_instance_timers_apply_finish,
160 .cli_show = cli_show_ripng_timers,
161 },
162 },
163 {
164 .xpath = "/frr-ripngd:ripngd/instance/timers/flush-interval",
165 .cbs = {
166 .modify = ripngd_instance_timers_flush_interval_modify,
167 },
168 },
169 {
170 .xpath = "/frr-ripngd:ripngd/instance/timers/holddown-interval",
171 .cbs = {
172 .modify = ripngd_instance_timers_holddown_interval_modify,
173 },
174 },
175 {
176 .xpath = "/frr-ripngd:ripngd/instance/timers/update-interval",
177 .cbs = {
178 .modify = ripngd_instance_timers_update_interval_modify,
179 },
180 },
181 {
182 .xpath = "/frr-ripngd:ripngd/instance/state/neighbors/neighbor",
183 .cbs = {
184 .get_keys = ripngd_instance_state_neighbors_neighbor_get_keys,
185 .get_next = ripngd_instance_state_neighbors_neighbor_get_next,
186 .lookup_entry = ripngd_instance_state_neighbors_neighbor_lookup_entry,
187 },
188 },
189 {
190 .xpath = "/frr-ripngd:ripngd/instance/state/neighbors/neighbor/address",
191 .cbs = {
192 .get_elem = ripngd_instance_state_neighbors_neighbor_address_get_elem,
193 },
194 },
195 {
196 .xpath = "/frr-ripngd:ripngd/instance/state/neighbors/neighbor/last-update",
197 .cbs = {
198 .get_elem = ripngd_instance_state_neighbors_neighbor_last_update_get_elem,
199 },
200 },
201 {
202 .xpath = "/frr-ripngd:ripngd/instance/state/neighbors/neighbor/bad-packets-rcvd",
203 .cbs = {
204 .get_elem = ripngd_instance_state_neighbors_neighbor_bad_packets_rcvd_get_elem,
205 },
206 },
207 {
208 .xpath = "/frr-ripngd:ripngd/instance/state/neighbors/neighbor/bad-routes-rcvd",
209 .cbs = {
210 .get_elem = ripngd_instance_state_neighbors_neighbor_bad_routes_rcvd_get_elem,
211 },
212 },
213 {
214 .xpath = "/frr-ripngd:ripngd/instance/state/routes/route",
215 .cbs = {
216 .get_keys = ripngd_instance_state_routes_route_get_keys,
217 .get_next = ripngd_instance_state_routes_route_get_next,
218 .lookup_entry = ripngd_instance_state_routes_route_lookup_entry,
219 },
220 },
221 {
222 .xpath = "/frr-ripngd:ripngd/instance/state/routes/route/prefix",
223 .cbs = {
224 .get_elem = ripngd_instance_state_routes_route_prefix_get_elem,
225 },
226 },
227 {
228 .xpath = "/frr-ripngd:ripngd/instance/state/routes/route/next-hop",
229 .cbs = {
230 .get_elem = ripngd_instance_state_routes_route_next_hop_get_elem,
231 },
232 },
233 {
234 .xpath = "/frr-ripngd:ripngd/instance/state/routes/route/interface",
235 .cbs = {
236 .get_elem = ripngd_instance_state_routes_route_interface_get_elem,
237 },
238 },
239 {
240 .xpath = "/frr-ripngd:ripngd/instance/state/routes/route/metric",
241 .cbs = {
242 .get_elem = ripngd_instance_state_routes_route_metric_get_elem,
243 },
244 },
245 {
246 .xpath = "/frr-ripngd:clear-ripng-route",
247 .cbs = {
248 .rpc = clear_ripng_route_rpc,
249 },
250 },
251 {
252 .xpath = "/frr-interface:lib/interface/frr-ripngd:ripng/split-horizon",
253 .cbs = {
254 .cli_show = cli_show_ipv6_ripng_split_horizon,
255 .modify = lib_interface_ripng_split_horizon_modify,
256 },
257 },
258 {
259 .xpath = NULL,
260 },
261 }
262};