]>
Commit | Line | Data |
---|---|---|
ce45ffe7 CS |
1 | /* |
2 | * Copyright (C) 2020 Cumulus Networks, Inc. | |
3 | * Chirag Shah | |
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 | #include "northbound.h" | |
22 | #include "libfrr.h" | |
23 | #include "zebra_nb.h" | |
09268680 | 24 | #include "zebra/interface.h" |
ce45ffe7 | 25 | |
b00f3e4b CS |
26 | /* |
27 | * XPath: /frr-interface:lib/interface/frr-zebra:zebra/state/up-count | |
28 | */ | |
29 | struct yang_data * | |
60ee8be1 | 30 | lib_interface_zebra_state_up_count_get_elem(struct nb_cb_get_elem_args *args) |
b00f3e4b | 31 | { |
60ee8be1 | 32 | const struct interface *ifp = args->list_entry; |
09268680 CS |
33 | struct zebra_if *zebra_if; |
34 | ||
35 | zebra_if = ifp->info; | |
36 | ||
60ee8be1 | 37 | return yang_data_new_uint16(args->xpath, zebra_if->up_count); |
b00f3e4b CS |
38 | } |
39 | ||
40 | /* | |
41 | * XPath: /frr-interface:lib/interface/frr-zebra:zebra/state/down-count | |
42 | */ | |
43 | struct yang_data * | |
60ee8be1 | 44 | lib_interface_zebra_state_down_count_get_elem(struct nb_cb_get_elem_args *args) |
b00f3e4b | 45 | { |
60ee8be1 | 46 | const struct interface *ifp = args->list_entry; |
09268680 CS |
47 | struct zebra_if *zebra_if; |
48 | ||
49 | zebra_if = ifp->info; | |
50 | ||
60ee8be1 | 51 | return yang_data_new_uint16(args->xpath, zebra_if->down_count); |
b00f3e4b CS |
52 | } |
53 | ||
54 | /* | |
55 | * XPath: /frr-interface:lib/interface/frr-zebra:zebra/state/zif-type | |
56 | */ | |
57 | struct yang_data * | |
60ee8be1 | 58 | lib_interface_zebra_state_zif_type_get_elem(struct nb_cb_get_elem_args *args) |
b00f3e4b CS |
59 | { |
60 | /* TODO: implement me. */ | |
61 | return NULL; | |
62 | } | |
63 | ||
64 | /* | |
65 | * XPath: /frr-interface:lib/interface/frr-zebra:zebra/state/ptm-status | |
66 | */ | |
67 | struct yang_data * | |
60ee8be1 | 68 | lib_interface_zebra_state_ptm_status_get_elem(struct nb_cb_get_elem_args *args) |
b00f3e4b CS |
69 | { |
70 | /* TODO: implement me. */ | |
71 | return NULL; | |
72 | } | |
73 | ||
74 | /* | |
75 | * XPath: /frr-interface:lib/interface/frr-zebra:zebra/state/vlan-id | |
76 | */ | |
77 | struct yang_data * | |
60ee8be1 | 78 | lib_interface_zebra_state_vlan_id_get_elem(struct nb_cb_get_elem_args *args) |
b00f3e4b | 79 | { |
60ee8be1 | 80 | const struct interface *ifp = args->list_entry; |
09268680 CS |
81 | struct zebra_if *zebra_if; |
82 | struct zebra_l2info_vlan *vlan_info; | |
83 | ||
84 | if (!IS_ZEBRA_IF_VLAN(ifp)) | |
85 | return NULL; | |
86 | ||
87 | zebra_if = ifp->info; | |
88 | vlan_info = &zebra_if->l2info.vl; | |
89 | ||
60ee8be1 | 90 | return yang_data_new_uint16(args->xpath, vlan_info->vid); |
b00f3e4b CS |
91 | } |
92 | ||
93 | /* | |
94 | * XPath: /frr-interface:lib/interface/frr-zebra:zebra/state/vni-id | |
95 | */ | |
96 | struct yang_data * | |
60ee8be1 | 97 | lib_interface_zebra_state_vni_id_get_elem(struct nb_cb_get_elem_args *args) |
b00f3e4b | 98 | { |
60ee8be1 | 99 | const struct interface *ifp = args->list_entry; |
09268680 CS |
100 | struct zebra_if *zebra_if; |
101 | struct zebra_l2info_vxlan *vxlan_info; | |
102 | ||
103 | if (!IS_ZEBRA_IF_VXLAN(ifp)) | |
104 | return NULL; | |
105 | ||
106 | zebra_if = ifp->info; | |
107 | vxlan_info = &zebra_if->l2info.vxl; | |
108 | ||
60ee8be1 | 109 | return yang_data_new_uint32(args->xpath, vxlan_info->vni); |
b00f3e4b CS |
110 | } |
111 | ||
112 | /* | |
113 | * XPath: /frr-interface:lib/interface/frr-zebra:zebra/state/remote-vtep | |
114 | */ | |
115 | struct yang_data * | |
60ee8be1 | 116 | lib_interface_zebra_state_remote_vtep_get_elem(struct nb_cb_get_elem_args *args) |
b00f3e4b | 117 | { |
60ee8be1 | 118 | const struct interface *ifp = args->list_entry; |
09268680 CS |
119 | struct zebra_if *zebra_if; |
120 | struct zebra_l2info_vxlan *vxlan_info; | |
121 | ||
122 | if (!IS_ZEBRA_IF_VXLAN(ifp)) | |
123 | return NULL; | |
124 | ||
125 | zebra_if = ifp->info; | |
126 | vxlan_info = &zebra_if->l2info.vxl; | |
127 | ||
60ee8be1 | 128 | return yang_data_new_ipv4(args->xpath, &vxlan_info->vtep_ip); |
b00f3e4b CS |
129 | } |
130 | ||
131 | /* | |
132 | * XPath: /frr-interface:lib/interface/frr-zebra:zebra/state/mcast-group | |
133 | */ | |
134 | struct yang_data * | |
60ee8be1 | 135 | lib_interface_zebra_state_mcast_group_get_elem(struct nb_cb_get_elem_args *args) |
b00f3e4b | 136 | { |
60ee8be1 | 137 | const struct interface *ifp = args->list_entry; |
09268680 CS |
138 | struct zebra_if *zebra_if; |
139 | struct zebra_l2info_vxlan *vxlan_info; | |
140 | ||
141 | if (!IS_ZEBRA_IF_VXLAN(ifp)) | |
142 | return NULL; | |
143 | ||
144 | zebra_if = ifp->info; | |
145 | vxlan_info = &zebra_if->l2info.vxl; | |
146 | ||
60ee8be1 | 147 | return yang_data_new_ipv4(args->xpath, &vxlan_info->mcast_grp); |
b00f3e4b CS |
148 | } |
149 | ||
60ee8be1 | 150 | const void *lib_vrf_ribs_rib_get_next(struct nb_cb_get_next_args *args) |
ce45ffe7 CS |
151 | { |
152 | /* TODO: implement me. */ | |
153 | return NULL; | |
154 | } | |
155 | ||
60ee8be1 | 156 | int lib_vrf_ribs_rib_get_keys(struct nb_cb_get_keys_args *args) |
ce45ffe7 CS |
157 | { |
158 | /* TODO: implement me. */ | |
159 | return NB_OK; | |
160 | } | |
161 | ||
60ee8be1 | 162 | const void *lib_vrf_ribs_rib_lookup_entry(struct nb_cb_lookup_entry_args *args) |
ce45ffe7 CS |
163 | { |
164 | /* TODO: implement me. */ | |
165 | return NULL; | |
166 | } | |
167 | ||
168 | /* | |
169 | * XPath: /frr-vrf:lib/vrf/frr-zebra:ribs/rib/route | |
170 | */ | |
60ee8be1 | 171 | const void *lib_vrf_ribs_rib_route_get_next(struct nb_cb_get_next_args *args) |
ce45ffe7 CS |
172 | { |
173 | /* TODO: implement me. */ | |
174 | return NULL; | |
175 | } | |
176 | ||
60ee8be1 | 177 | int lib_vrf_ribs_rib_route_get_keys(struct nb_cb_get_keys_args *args) |
ce45ffe7 CS |
178 | { |
179 | /* TODO: implement me. */ | |
180 | return NB_OK; | |
181 | } | |
182 | ||
183 | const void * | |
60ee8be1 | 184 | lib_vrf_ribs_rib_route_lookup_entry(struct nb_cb_lookup_entry_args *args) |
ce45ffe7 CS |
185 | { |
186 | /* TODO: implement me. */ | |
187 | return NULL; | |
188 | } | |
189 | ||
190 | /* | |
191 | * XPath: /frr-vrf:lib/vrf/frr-zebra:ribs/rib/route/prefix | |
192 | */ | |
60ee8be1 RW |
193 | struct yang_data * |
194 | lib_vrf_ribs_rib_route_prefix_get_elem(struct nb_cb_get_elem_args *args) | |
ce45ffe7 CS |
195 | { |
196 | /* TODO: implement me. */ | |
197 | return NULL; | |
198 | } | |
199 | ||
200 | /* | |
ed5abdb2 | 201 | * XPath: /frr-vrf:lib/vrf/frr-zebra:ribs/rib/route/route-entry |
ce45ffe7 | 202 | */ |
ed5abdb2 | 203 | const void * |
60ee8be1 | 204 | lib_vrf_ribs_rib_route_route_entry_get_next(struct nb_cb_get_next_args *args) |
ed5abdb2 CS |
205 | { |
206 | /* TODO: implement me. */ | |
207 | return NULL; | |
208 | } | |
209 | ||
60ee8be1 RW |
210 | int lib_vrf_ribs_rib_route_route_entry_get_keys( |
211 | struct nb_cb_get_keys_args *args) | |
ed5abdb2 CS |
212 | { |
213 | /* TODO: implement me. */ | |
214 | return NB_OK; | |
215 | } | |
216 | ||
217 | const void *lib_vrf_ribs_rib_route_route_entry_lookup_entry( | |
60ee8be1 | 218 | struct nb_cb_lookup_entry_args *args) |
ce45ffe7 CS |
219 | { |
220 | /* TODO: implement me. */ | |
221 | return NULL; | |
222 | } | |
223 | ||
224 | /* | |
ed5abdb2 | 225 | * XPath: /frr-vrf:lib/vrf/frr-zebra:ribs/rib/route/route-entry/protocol |
ce45ffe7 | 226 | */ |
60ee8be1 RW |
227 | struct yang_data *lib_vrf_ribs_rib_route_route_entry_protocol_get_elem( |
228 | struct nb_cb_get_elem_args *args) | |
ce45ffe7 CS |
229 | { |
230 | /* TODO: implement me. */ | |
231 | return NULL; | |
232 | } | |
233 | ||
234 | /* | |
ed5abdb2 | 235 | * XPath: /frr-vrf:lib/vrf/frr-zebra:ribs/rib/route/route-entry/instance |
ce45ffe7 | 236 | */ |
60ee8be1 RW |
237 | struct yang_data *lib_vrf_ribs_rib_route_route_entry_instance_get_elem( |
238 | struct nb_cb_get_elem_args *args) | |
ce45ffe7 CS |
239 | { |
240 | /* TODO: implement me. */ | |
241 | return NULL; | |
242 | } | |
243 | ||
244 | /* | |
ed5abdb2 | 245 | * XPath: /frr-vrf:lib/vrf/frr-zebra:ribs/rib/route/route-entry/distance |
ce45ffe7 | 246 | */ |
60ee8be1 RW |
247 | struct yang_data *lib_vrf_ribs_rib_route_route_entry_distance_get_elem( |
248 | struct nb_cb_get_elem_args *args) | |
ce45ffe7 CS |
249 | { |
250 | /* TODO: implement me. */ | |
251 | return NULL; | |
252 | } | |
253 | ||
254 | /* | |
ed5abdb2 | 255 | * XPath: /frr-vrf:lib/vrf/frr-zebra:ribs/rib/route/route-entry/metric |
ce45ffe7 | 256 | */ |
60ee8be1 RW |
257 | struct yang_data *lib_vrf_ribs_rib_route_route_entry_metric_get_elem( |
258 | struct nb_cb_get_elem_args *args) | |
ce45ffe7 CS |
259 | { |
260 | /* TODO: implement me. */ | |
261 | return NULL; | |
262 | } | |
263 | ||
264 | /* | |
ed5abdb2 | 265 | * XPath: /frr-vrf:lib/vrf/frr-zebra:ribs/rib/route/route-entry/tag |
ce45ffe7 | 266 | */ |
60ee8be1 RW |
267 | struct yang_data *lib_vrf_ribs_rib_route_route_entry_tag_get_elem( |
268 | struct nb_cb_get_elem_args *args) | |
ce45ffe7 CS |
269 | { |
270 | /* TODO: implement me. */ | |
271 | return NULL; | |
272 | } | |
273 | ||
274 | /* | |
ed5abdb2 | 275 | * XPath: /frr-vrf:lib/vrf/frr-zebra:ribs/rib/route/route-entry/selected |
ce45ffe7 | 276 | */ |
60ee8be1 RW |
277 | struct yang_data *lib_vrf_ribs_rib_route_route_entry_selected_get_elem( |
278 | struct nb_cb_get_elem_args *args) | |
ce45ffe7 CS |
279 | { |
280 | /* TODO: implement me. */ | |
281 | return NULL; | |
282 | } | |
283 | ||
284 | /* | |
ed5abdb2 | 285 | * XPath: /frr-vrf:lib/vrf/frr-zebra:ribs/rib/route/route-entry/installed |
ce45ffe7 | 286 | */ |
60ee8be1 RW |
287 | struct yang_data *lib_vrf_ribs_rib_route_route_entry_installed_get_elem( |
288 | struct nb_cb_get_elem_args *args) | |
ce45ffe7 CS |
289 | { |
290 | /* TODO: implement me. */ | |
291 | return NULL; | |
292 | } | |
293 | ||
294 | /* | |
ed5abdb2 | 295 | * XPath: /frr-vrf:lib/vrf/frr-zebra:ribs/rib/route/route-entry/failed |
ce45ffe7 | 296 | */ |
60ee8be1 RW |
297 | struct yang_data *lib_vrf_ribs_rib_route_route_entry_failed_get_elem( |
298 | struct nb_cb_get_elem_args *args) | |
ce45ffe7 CS |
299 | { |
300 | /* TODO: implement me. */ | |
301 | return NULL; | |
302 | } | |
303 | ||
304 | /* | |
ed5abdb2 | 305 | * XPath: /frr-vrf:lib/vrf/frr-zebra:ribs/rib/route/route-entry/queued |
ce45ffe7 | 306 | */ |
60ee8be1 RW |
307 | struct yang_data *lib_vrf_ribs_rib_route_route_entry_queued_get_elem( |
308 | struct nb_cb_get_elem_args *args) | |
ce45ffe7 CS |
309 | { |
310 | /* TODO: implement me. */ | |
311 | return NULL; | |
312 | } | |
313 | ||
314 | /* | |
ed5abdb2 | 315 | * XPath: /frr-vrf:lib/vrf/frr-zebra:ribs/rib/route/route-entry/internal-flags |
ce45ffe7 | 316 | */ |
ed5abdb2 | 317 | struct yang_data *lib_vrf_ribs_rib_route_route_entry_internal_flags_get_elem( |
60ee8be1 | 318 | struct nb_cb_get_elem_args *args) |
ce45ffe7 CS |
319 | { |
320 | /* TODO: implement me. */ | |
321 | return NULL; | |
322 | } | |
323 | ||
324 | /* | |
ed5abdb2 | 325 | * XPath: /frr-vrf:lib/vrf/frr-zebra:ribs/rib/route/route-entry/internal-status |
ce45ffe7 | 326 | */ |
ed5abdb2 | 327 | struct yang_data *lib_vrf_ribs_rib_route_route_entry_internal_status_get_elem( |
60ee8be1 | 328 | struct nb_cb_get_elem_args *args) |
ce45ffe7 CS |
329 | { |
330 | /* TODO: implement me. */ | |
331 | return NULL; | |
332 | } | |
333 | ||
334 | /* | |
ed5abdb2 | 335 | * XPath: /frr-vrf:lib/vrf/frr-zebra:ribs/rib/route/route-entry/uptime |
ce45ffe7 | 336 | */ |
60ee8be1 RW |
337 | struct yang_data *lib_vrf_ribs_rib_route_route_entry_uptime_get_elem( |
338 | struct nb_cb_get_elem_args *args) | |
ce45ffe7 CS |
339 | { |
340 | /* TODO: implement me. */ | |
341 | return NULL; | |
342 | } | |
343 | ||
344 | /* | |
ed5abdb2 | 345 | * XPath: /frr-vrf:lib/vrf/frr-zebra:ribs/rib/route/route-entry/nexthop-group |
ce45ffe7 | 346 | */ |
ed5abdb2 | 347 | const void *lib_vrf_ribs_rib_route_route_entry_nexthop_group_get_next( |
60ee8be1 | 348 | struct nb_cb_get_next_args *args) |
ce45ffe7 CS |
349 | { |
350 | /* TODO: implement me. */ | |
351 | return NULL; | |
352 | } | |
353 | ||
ed5abdb2 | 354 | int lib_vrf_ribs_rib_route_route_entry_nexthop_group_get_keys( |
60ee8be1 | 355 | struct nb_cb_get_keys_args *args) |
ce45ffe7 CS |
356 | { |
357 | /* TODO: implement me. */ | |
358 | return NB_OK; | |
359 | } | |
360 | ||
ed5abdb2 | 361 | const void *lib_vrf_ribs_rib_route_route_entry_nexthop_group_lookup_entry( |
60ee8be1 | 362 | struct nb_cb_lookup_entry_args *args) |
ce45ffe7 CS |
363 | { |
364 | /* TODO: implement me. */ | |
365 | return NULL; | |
366 | } | |
367 | ||
368 | /* | |
ed5abdb2 CS |
369 | * XPath: |
370 | * /frr-vrf:lib/vrf/frr-zebra:ribs/rib/route/route-entry/nexthop-group/name | |
ce45ffe7 CS |
371 | */ |
372 | struct yang_data * | |
ed5abdb2 | 373 | lib_vrf_ribs_rib_route_route_entry_nexthop_group_name_get_elem( |
60ee8be1 | 374 | struct nb_cb_get_elem_args *args) |
ce45ffe7 CS |
375 | { |
376 | /* TODO: implement me. */ | |
377 | return NULL; | |
378 | } | |
379 | ||
380 | /* | |
381 | * XPath: | |
ed5abdb2 | 382 | * /frr-vrf:lib/vrf/frr-zebra:ribs/rib/route/route-entry/nexthop-group/frr-nexthops/nexthop |
ce45ffe7 | 383 | */ |
ed5abdb2 CS |
384 | const void * |
385 | lib_vrf_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_get_next( | |
60ee8be1 | 386 | struct nb_cb_get_next_args *args) |
ce45ffe7 CS |
387 | { |
388 | /* TODO: implement me. */ | |
389 | return NULL; | |
390 | } | |
391 | ||
ed5abdb2 | 392 | int lib_vrf_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_get_keys( |
60ee8be1 | 393 | struct nb_cb_get_keys_args *args) |
ce45ffe7 CS |
394 | { |
395 | /* TODO: implement me. */ | |
396 | return NB_OK; | |
397 | } | |
398 | ||
399 | const void * | |
ed5abdb2 | 400 | lib_vrf_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_lookup_entry( |
60ee8be1 | 401 | struct nb_cb_lookup_entry_args *args) |
ce45ffe7 CS |
402 | { |
403 | /* TODO: implement me. */ | |
404 | return NULL; | |
405 | } | |
406 | ||
407 | /* | |
408 | * XPath: | |
ed5abdb2 | 409 | * /frr-vrf:lib/vrf/frr-zebra:ribs/rib/route/route-entry/nexthop-group/frr-nexthops/nexthop/nh-type |
ce45ffe7 CS |
410 | */ |
411 | struct yang_data * | |
ed5abdb2 | 412 | lib_vrf_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_nh_type_get_elem( |
60ee8be1 | 413 | struct nb_cb_get_elem_args *args) |
ce45ffe7 CS |
414 | { |
415 | /* TODO: implement me. */ | |
416 | return NULL; | |
417 | } | |
418 | ||
419 | /* | |
420 | * XPath: | |
ed5abdb2 | 421 | * /frr-vrf:lib/vrf/frr-zebra:ribs/rib/route/route-entry/nexthop-group/frr-nexthops/nexthop/vrf |
ce45ffe7 CS |
422 | */ |
423 | struct yang_data * | |
ed5abdb2 | 424 | lib_vrf_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_vrf_get_elem( |
60ee8be1 | 425 | struct nb_cb_get_elem_args *args) |
ce45ffe7 CS |
426 | { |
427 | /* TODO: implement me. */ | |
428 | return NULL; | |
429 | } | |
430 | ||
431 | /* | |
432 | * XPath: | |
ed5abdb2 | 433 | * /frr-vrf:lib/vrf/frr-zebra:ribs/rib/route/route-entry/nexthop-group/frr-nexthops/nexthop/gateway |
ce45ffe7 CS |
434 | */ |
435 | struct yang_data * | |
ed5abdb2 | 436 | lib_vrf_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_gateway_get_elem( |
60ee8be1 | 437 | struct nb_cb_get_elem_args *args) |
ce45ffe7 CS |
438 | { |
439 | /* TODO: implement me. */ | |
440 | return NULL; | |
441 | } | |
442 | ||
443 | /* | |
444 | * XPath: | |
ed5abdb2 | 445 | * /frr-vrf:lib/vrf/frr-zebra:ribs/rib/route/route-entry/nexthop-group/frr-nexthops/nexthop/interface |
ce45ffe7 CS |
446 | */ |
447 | struct yang_data * | |
ed5abdb2 | 448 | lib_vrf_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_interface_get_elem( |
60ee8be1 | 449 | struct nb_cb_get_elem_args *args) |
ce45ffe7 CS |
450 | { |
451 | /* TODO: implement me. */ | |
452 | return NULL; | |
453 | } | |
454 | ||
455 | /* | |
456 | * XPath: | |
ed5abdb2 | 457 | * /frr-vrf:lib/vrf/frr-zebra:ribs/rib/route/route-entry/nexthop-group/frr-nexthops/nexthop/bh-type |
ce45ffe7 CS |
458 | */ |
459 | struct yang_data * | |
ed5abdb2 | 460 | lib_vrf_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_bh_type_get_elem( |
60ee8be1 | 461 | struct nb_cb_get_elem_args *args) |
ce45ffe7 CS |
462 | { |
463 | /* TODO: implement me. */ | |
464 | return NULL; | |
465 | } | |
466 | ||
467 | /* | |
468 | * XPath: | |
ed5abdb2 | 469 | * /frr-vrf:lib/vrf/frr-zebra:ribs/rib/route/route-entry/nexthop-group/frr-nexthops/nexthop/onlink |
ce45ffe7 CS |
470 | */ |
471 | struct yang_data * | |
ed5abdb2 | 472 | lib_vrf_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_onlink_get_elem( |
60ee8be1 | 473 | struct nb_cb_get_elem_args *args) |
ce45ffe7 CS |
474 | { |
475 | /* TODO: implement me. */ | |
476 | return NULL; | |
477 | } | |
478 | ||
479 | /* | |
480 | * XPath: | |
ed5abdb2 | 481 | * /frr-vrf:lib/vrf/frr-zebra:ribs/rib/route/route-entry/nexthop-group/frr-nexthops/nexthop/mpls-label-stack/entry |
ce45ffe7 CS |
482 | */ |
483 | const void * | |
ed5abdb2 | 484 | lib_vrf_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_mpls_label_stack_entry_get_next( |
60ee8be1 | 485 | struct nb_cb_get_next_args *args) |
ce45ffe7 CS |
486 | { |
487 | /* TODO: implement me. */ | |
488 | return NULL; | |
489 | } | |
490 | ||
ed5abdb2 | 491 | int lib_vrf_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_mpls_label_stack_entry_get_keys( |
60ee8be1 | 492 | struct nb_cb_get_keys_args *args) |
ce45ffe7 CS |
493 | { |
494 | /* TODO: implement me. */ | |
495 | return NB_OK; | |
496 | } | |
497 | ||
498 | const void * | |
ed5abdb2 | 499 | lib_vrf_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_mpls_label_stack_entry_lookup_entry( |
60ee8be1 | 500 | struct nb_cb_lookup_entry_args *args) |
ce45ffe7 CS |
501 | { |
502 | /* TODO: implement me. */ | |
503 | return NULL; | |
504 | } | |
505 | ||
506 | /* | |
507 | * XPath: | |
ed5abdb2 | 508 | * /frr-vrf:lib/vrf/frr-zebra:ribs/rib/route/route-entry/nexthop-group/frr-nexthops/nexthop/mpls-label-stack/entry/id |
ce45ffe7 CS |
509 | */ |
510 | struct yang_data * | |
ed5abdb2 | 511 | lib_vrf_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_mpls_label_stack_entry_id_get_elem( |
60ee8be1 | 512 | struct nb_cb_get_elem_args *args) |
ce45ffe7 CS |
513 | { |
514 | /* TODO: implement me. */ | |
515 | return NULL; | |
516 | } | |
517 | ||
518 | /* | |
519 | * XPath: | |
ed5abdb2 | 520 | * /frr-vrf:lib/vrf/frr-zebra:ribs/rib/route/route-entry/nexthop-group/frr-nexthops/nexthop/mpls-label-stack/entry/label |
ce45ffe7 CS |
521 | */ |
522 | struct yang_data * | |
ed5abdb2 | 523 | lib_vrf_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_mpls_label_stack_entry_label_get_elem( |
60ee8be1 | 524 | struct nb_cb_get_elem_args *args) |
ce45ffe7 CS |
525 | { |
526 | /* TODO: implement me. */ | |
527 | return NULL; | |
528 | } | |
529 | ||
530 | /* | |
531 | * XPath: | |
ed5abdb2 | 532 | * /frr-vrf:lib/vrf/frr-zebra:ribs/rib/route/route-entry/nexthop-group/frr-nexthops/nexthop/mpls-label-stack/entry/ttl |
ce45ffe7 CS |
533 | */ |
534 | struct yang_data * | |
ed5abdb2 | 535 | lib_vrf_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_mpls_label_stack_entry_ttl_get_elem( |
60ee8be1 | 536 | struct nb_cb_get_elem_args *args) |
ce45ffe7 CS |
537 | { |
538 | /* TODO: implement me. */ | |
539 | return NULL; | |
540 | } | |
541 | ||
542 | /* | |
543 | * XPath: | |
ed5abdb2 | 544 | * /frr-vrf:lib/vrf/frr-zebra:ribs/rib/route/route-entry/nexthop-group/frr-nexthops/nexthop/mpls-label-stack/entry/traffic-class |
ce45ffe7 CS |
545 | */ |
546 | struct yang_data * | |
ed5abdb2 | 547 | lib_vrf_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_mpls_label_stack_entry_traffic_class_get_elem( |
60ee8be1 | 548 | struct nb_cb_get_elem_args *args) |
ce45ffe7 CS |
549 | { |
550 | /* TODO: implement me. */ | |
551 | return NULL; | |
552 | } | |
553 | ||
554 | /* | |
555 | * XPath: | |
ed5abdb2 | 556 | * /frr-vrf:lib/vrf/frr-zebra:ribs/rib/route/route-entry/nexthop-group/frr-nexthops/nexthop/duplicate |
ce45ffe7 CS |
557 | */ |
558 | struct yang_data * | |
ed5abdb2 | 559 | lib_vrf_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_duplicate_get_elem( |
60ee8be1 | 560 | struct nb_cb_get_elem_args *args) |
ce45ffe7 CS |
561 | { |
562 | /* TODO: implement me. */ | |
563 | return NULL; | |
564 | } | |
565 | ||
566 | /* | |
567 | * XPath: | |
ed5abdb2 | 568 | * /frr-vrf:lib/vrf/frr-zebra:ribs/rib/route/route-entry/nexthop-group/frr-nexthops/nexthop/recursive |
ce45ffe7 CS |
569 | */ |
570 | struct yang_data * | |
ed5abdb2 | 571 | lib_vrf_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_recursive_get_elem( |
60ee8be1 | 572 | struct nb_cb_get_elem_args *args) |
ce45ffe7 CS |
573 | { |
574 | /* TODO: implement me. */ | |
575 | return NULL; | |
576 | } | |
577 | ||
578 | /* | |
579 | * XPath: | |
ed5abdb2 | 580 | * /frr-vrf:lib/vrf/frr-zebra:ribs/rib/route/route-entry/nexthop-group/frr-nexthops/nexthop/active |
ce45ffe7 CS |
581 | */ |
582 | struct yang_data * | |
ed5abdb2 | 583 | lib_vrf_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_active_get_elem( |
60ee8be1 | 584 | struct nb_cb_get_elem_args *args) |
ce45ffe7 CS |
585 | { |
586 | /* TODO: implement me. */ | |
587 | return NULL; | |
588 | } | |
589 | ||
590 | /* | |
591 | * XPath: | |
ed5abdb2 | 592 | * /frr-vrf:lib/vrf/frr-zebra:ribs/rib/route/route-entry/nexthop-group/frr-nexthops/nexthop/fib |
ce45ffe7 CS |
593 | */ |
594 | struct yang_data * | |
ed5abdb2 | 595 | lib_vrf_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_fib_get_elem( |
60ee8be1 | 596 | struct nb_cb_get_elem_args *args) |
ce45ffe7 CS |
597 | { |
598 | /* TODO: implement me. */ | |
599 | return NULL; | |
600 | } | |
7225e61c CS |
601 | |
602 | /* | |
603 | * XPath: | |
604 | * /frr-vrf:lib/vrf/frr-zebra:ribs/rib/route/route-entry/nexthop-group/frr-nexthops/nexthop/weight | |
605 | */ | |
606 | struct yang_data * | |
607 | lib_vrf_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_weight_get_elem( | |
60ee8be1 | 608 | struct nb_cb_get_elem_args *args) |
7225e61c CS |
609 | { |
610 | /* TODO: implement me. */ | |
611 | return NULL; | |
612 | } |