]>
Commit | Line | Data |
---|---|---|
299c66b3 SP |
1 | /* |
2 | * Copyright (C) 2020 VmWare | |
3 | * Sarita Patra | |
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 | ||
22 | #include "northbound.h" | |
23 | #include "libfrr.h" | |
24 | #include "vrf.h" | |
25 | #include "pimd/pim_nb.h" | |
26 | ||
27 | /* clang-format off */ | |
28 | const struct frr_yang_module_info frr_pim_info = { | |
29 | .name = "frr-pim", | |
30 | .nodes = { | |
31 | { | |
698f4147 | 32 | .xpath = "/frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-pim:pim/address-family", |
299c66b3 | 33 | .cbs = { |
698f4147 | 34 | .create = routing_control_plane_protocols_control_plane_protocol_pim_address_family_create, |
35 | .destroy = routing_control_plane_protocols_control_plane_protocol_pim_address_family_destroy, | |
299c66b3 SP |
36 | } |
37 | }, | |
38 | { | |
698f4147 | 39 | .xpath = "/frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-pim:pim/address-family/ecmp", |
299c66b3 | 40 | .cbs = { |
698f4147 | 41 | .modify = routing_control_plane_protocols_control_plane_protocol_pim_address_family_ecmp_modify, |
299c66b3 SP |
42 | } |
43 | }, | |
44 | { | |
698f4147 | 45 | .xpath = "/frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-pim:pim/address-family/ecmp-rebalance", |
299c66b3 | 46 | .cbs = { |
698f4147 | 47 | .modify = routing_control_plane_protocols_control_plane_protocol_pim_address_family_ecmp_rebalance_modify, |
299c66b3 SP |
48 | } |
49 | }, | |
50 | { | |
698f4147 | 51 | .xpath = "/frr-pim:pim/address-family/join-prune-interval", |
299c66b3 | 52 | .cbs = { |
698f4147 | 53 | .modify = pim_address_family_join_prune_interval_modify, |
299c66b3 SP |
54 | } |
55 | }, | |
56 | { | |
698f4147 | 57 | .xpath = "/frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-pim:pim/address-family/keep-alive-timer", |
299c66b3 | 58 | .cbs = { |
698f4147 | 59 | .modify = routing_control_plane_protocols_control_plane_protocol_pim_address_family_keep_alive_timer_modify, |
299c66b3 SP |
60 | } |
61 | }, | |
62 | { | |
698f4147 | 63 | .xpath = "/frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-pim:pim/address-family/rp-keep-alive-timer", |
299c66b3 | 64 | .cbs = { |
698f4147 | 65 | .modify = routing_control_plane_protocols_control_plane_protocol_pim_address_family_rp_keep_alive_timer_modify, |
299c66b3 SP |
66 | } |
67 | }, | |
68 | { | |
698f4147 | 69 | .xpath = "/frr-pim:pim/address-family", |
299c66b3 | 70 | .cbs = { |
698f4147 | 71 | .create = pim_address_family_create, |
72 | .destroy = pim_address_family_destroy, | |
299c66b3 SP |
73 | } |
74 | }, | |
75 | { | |
698f4147 | 76 | .xpath = "/frr-pim:pim/address-family/packets", |
299c66b3 | 77 | .cbs = { |
698f4147 | 78 | .modify = pim_address_family_packets_modify, |
79 | } | |
80 | }, | |
81 | { | |
82 | .xpath = "/frr-pim:pim/address-family/register-suppress-time", | |
83 | .cbs = { | |
84 | .modify = pim_address_family_register_suppress_time_modify, | |
299c66b3 SP |
85 | } |
86 | }, | |
87 | { | |
88 | .xpath = "/frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-pim:pim/address-family/send-v6-secondary", | |
89 | .cbs = { | |
90 | .modify = routing_control_plane_protocols_control_plane_protocol_pim_address_family_send_v6_secondary_modify, | |
91 | .destroy = routing_control_plane_protocols_control_plane_protocol_pim_address_family_send_v6_secondary_destroy, | |
92 | } | |
93 | }, | |
94 | { | |
95 | .xpath = "/frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-pim:pim/address-family/spt-switchover", | |
96 | .cbs = { | |
97 | .apply_finish = routing_control_plane_protocols_control_plane_protocol_pim_address_family_spt_switchover_apply_finish, | |
98 | } | |
99 | }, | |
100 | { | |
101 | .xpath = "/frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-pim:pim/address-family/spt-switchover/spt-action", | |
102 | .cbs = { | |
103 | .modify = routing_control_plane_protocols_control_plane_protocol_pim_address_family_spt_switchover_spt_action_modify, | |
104 | } | |
105 | }, | |
106 | { | |
107 | .xpath = "/frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-pim:pim/address-family/spt-switchover/spt-infinity-prefix-list", | |
108 | .cbs = { | |
109 | .modify = routing_control_plane_protocols_control_plane_protocol_pim_address_family_spt_switchover_spt_infinity_prefix_list_modify, | |
110 | .destroy = routing_control_plane_protocols_control_plane_protocol_pim_address_family_spt_switchover_spt_infinity_prefix_list_destroy, | |
111 | } | |
112 | }, | |
113 | { | |
114 | .xpath = "/frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-pim:pim/address-family/ssm-prefix-list", | |
115 | .cbs = { | |
116 | .modify = routing_control_plane_protocols_control_plane_protocol_pim_address_family_ssm_prefix_list_modify, | |
117 | .destroy = routing_control_plane_protocols_control_plane_protocol_pim_address_family_ssm_prefix_list_destroy, | |
118 | } | |
119 | }, | |
120 | { | |
121 | .xpath = "/frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-pim:pim/address-family/ssm-pingd-source-ip", | |
122 | .cbs = { | |
123 | .create = routing_control_plane_protocols_control_plane_protocol_pim_address_family_ssm_pingd_source_ip_create, | |
124 | .destroy = routing_control_plane_protocols_control_plane_protocol_pim_address_family_ssm_pingd_source_ip_destroy, | |
125 | } | |
126 | }, | |
622fd3f1 RZ |
127 | { |
128 | .xpath = "/frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-pim:pim/address-family/msdp/hold-time", | |
129 | .cbs = { | |
130 | .modify = pim_msdp_hold_time_modify, | |
131 | } | |
132 | }, | |
133 | { | |
134 | .xpath = "/frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-pim:pim/address-family/msdp/keep-alive", | |
135 | .cbs = { | |
136 | .modify = pim_msdp_keep_alive_modify, | |
137 | } | |
138 | }, | |
139 | { | |
140 | .xpath = "/frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-pim:pim/address-family/msdp/connection-retry", | |
141 | .cbs = { | |
142 | .modify = pim_msdp_connection_retry_modify, | |
143 | } | |
144 | }, | |
299c66b3 | 145 | { |
e2809e61 | 146 | .xpath = "/frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-pim:pim/address-family/msdp-mesh-groups", |
299c66b3 | 147 | .cbs = { |
e2809e61 RZ |
148 | .create = pim_msdp_mesh_group_create, |
149 | .destroy = pim_msdp_mesh_group_destroy, | |
299c66b3 SP |
150 | } |
151 | }, | |
152 | { | |
e2809e61 | 153 | .xpath = "/frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-pim:pim/address-family/msdp-mesh-groups/source", |
299c66b3 | 154 | .cbs = { |
e2809e61 RZ |
155 | .modify = pim_msdp_mesh_group_source_modify, |
156 | .destroy = pim_msdp_mesh_group_source_destroy, | |
299c66b3 SP |
157 | } |
158 | }, | |
159 | { | |
e2809e61 | 160 | .xpath = "/frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-pim:pim/address-family/msdp-mesh-groups/members", |
299c66b3 | 161 | .cbs = { |
e2809e61 RZ |
162 | .create = pim_msdp_mesh_group_members_create, |
163 | .destroy = pim_msdp_mesh_group_members_destroy, | |
299c66b3 SP |
164 | } |
165 | }, | |
166 | { | |
167 | .xpath = "/frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-pim:pim/address-family/msdp-peer", | |
168 | .cbs = { | |
169 | .create = routing_control_plane_protocols_control_plane_protocol_pim_address_family_msdp_peer_create, | |
170 | .destroy = routing_control_plane_protocols_control_plane_protocol_pim_address_family_msdp_peer_destroy, | |
171 | } | |
172 | }, | |
173 | { | |
174 | .xpath = "/frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-pim:pim/address-family/msdp-peer/source-ip", | |
175 | .cbs = { | |
176 | .modify = routing_control_plane_protocols_control_plane_protocol_pim_address_family_msdp_peer_source_ip_modify, | |
299c66b3 SP |
177 | } |
178 | }, | |
179 | { | |
180 | .xpath = "/frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-pim:pim/address-family/mlag", | |
181 | .cbs = { | |
182 | .create = routing_control_plane_protocols_control_plane_protocol_pim_address_family_mlag_create, | |
183 | .destroy = routing_control_plane_protocols_control_plane_protocol_pim_address_family_mlag_destroy, | |
184 | .apply_finish = routing_control_plane_protocols_control_plane_protocol_pim_address_family_mlag_apply_finish, | |
185 | } | |
186 | }, | |
187 | { | |
188 | .xpath = "/frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-pim:pim/address-family/mlag/peerlink-rif", | |
189 | .cbs = { | |
190 | .modify = routing_control_plane_protocols_control_plane_protocol_pim_address_family_mlag_peerlink_rif_modify, | |
191 | .destroy = routing_control_plane_protocols_control_plane_protocol_pim_address_family_mlag_peerlink_rif_destroy, | |
192 | } | |
193 | }, | |
194 | { | |
195 | .xpath = "/frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-pim:pim/address-family/mlag/reg-address", | |
196 | .cbs = { | |
197 | .modify = routing_control_plane_protocols_control_plane_protocol_pim_address_family_mlag_reg_address_modify, | |
198 | .destroy = routing_control_plane_protocols_control_plane_protocol_pim_address_family_mlag_reg_address_destroy, | |
199 | } | |
200 | }, | |
201 | { | |
202 | .xpath = "/frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-pim:pim/address-family/mlag/my-role", | |
203 | .cbs = { | |
204 | .modify = routing_control_plane_protocols_control_plane_protocol_pim_address_family_mlag_my_role_modify, | |
205 | } | |
206 | }, | |
207 | { | |
208 | .xpath = "/frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-pim:pim/address-family/mlag/peer-state", | |
209 | .cbs = { | |
210 | .modify = routing_control_plane_protocols_control_plane_protocol_pim_address_family_mlag_peer_state_modify, | |
211 | } | |
212 | }, | |
213 | { | |
214 | .xpath = "/frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-pim:pim/address-family/register-accept-list", | |
215 | .cbs = { | |
216 | .modify = routing_control_plane_protocols_control_plane_protocol_pim_address_family_register_accept_list_modify, | |
217 | .destroy = routing_control_plane_protocols_control_plane_protocol_pim_address_family_register_accept_list_destroy, | |
218 | } | |
219 | }, | |
220 | { | |
698f4147 | 221 | .xpath = "/frr-interface:lib/interface/frr-pim:pim/address-family", |
299c66b3 | 222 | .cbs = { |
698f4147 | 223 | .create = lib_interface_pim_address_family_create, |
224 | .destroy = lib_interface_pim_address_family_destroy, | |
299c66b3 SP |
225 | } |
226 | }, | |
227 | { | |
698f4147 | 228 | .xpath = "/frr-interface:lib/interface/frr-pim:pim/address-family/pim-enable", |
299c66b3 | 229 | .cbs = { |
698f4147 | 230 | .modify = lib_interface_pim_address_family_pim_enable_modify, |
299c66b3 SP |
231 | } |
232 | }, | |
9726536d | 233 | { |
234 | .xpath = "/frr-interface:lib/interface/frr-pim:pim/address-family/pim-passive-enable", | |
235 | .cbs = { | |
236 | .modify = lib_interface_pim_address_family_pim_passive_enable_modify, | |
237 | } | |
238 | }, | |
299c66b3 | 239 | { |
698f4147 | 240 | .xpath = "/frr-interface:lib/interface/frr-pim:pim/address-family/dr-priority", |
299c66b3 | 241 | .cbs = { |
698f4147 | 242 | .modify = lib_interface_pim_address_family_dr_priority_modify, |
299c66b3 SP |
243 | } |
244 | }, | |
245 | { | |
698f4147 | 246 | .xpath = "/frr-interface:lib/interface/frr-pim:pim/address-family/hello-interval", |
299c66b3 | 247 | .cbs = { |
698f4147 | 248 | .modify = lib_interface_pim_address_family_hello_interval_modify, |
299c66b3 SP |
249 | } |
250 | }, | |
251 | { | |
698f4147 | 252 | .xpath = "/frr-interface:lib/interface/frr-pim:pim/address-family/hello-holdtime", |
299c66b3 | 253 | .cbs = { |
698f4147 | 254 | .modify = lib_interface_pim_address_family_hello_holdtime_modify, |
255 | .destroy = lib_interface_pim_address_family_hello_holdtime_destroy, | |
299c66b3 SP |
256 | } |
257 | }, | |
258 | { | |
698f4147 | 259 | .xpath = "/frr-interface:lib/interface/frr-pim:pim/address-family/bfd", |
299c66b3 | 260 | .cbs = { |
698f4147 | 261 | .create = lib_interface_pim_address_family_bfd_create, |
262 | .destroy = lib_interface_pim_address_family_bfd_destroy, | |
263 | .apply_finish = lib_interface_pim_address_family_bfd_apply_finish, | |
299c66b3 SP |
264 | } |
265 | }, | |
266 | { | |
698f4147 | 267 | .xpath = "/frr-interface:lib/interface/frr-pim:pim/address-family/bfd/min-rx-interval", |
299c66b3 | 268 | .cbs = { |
698f4147 | 269 | .modify = lib_interface_pim_address_family_bfd_min_rx_interval_modify, |
299c66b3 SP |
270 | } |
271 | }, | |
272 | { | |
698f4147 | 273 | .xpath = "/frr-interface:lib/interface/frr-pim:pim/address-family/bfd/min-tx-interval", |
299c66b3 | 274 | .cbs = { |
698f4147 | 275 | .modify = lib_interface_pim_address_family_bfd_min_tx_interval_modify, |
299c66b3 SP |
276 | } |
277 | }, | |
745b8d4a | 278 | { |
698f4147 | 279 | .xpath = "/frr-interface:lib/interface/frr-pim:pim/address-family/bfd/detect_mult", |
745b8d4a | 280 | .cbs = { |
698f4147 | 281 | .modify = lib_interface_pim_address_family_bfd_detect_mult_modify, |
745b8d4a RZ |
282 | } |
283 | }, | |
299c66b3 | 284 | { |
698f4147 | 285 | .xpath = "/frr-interface:lib/interface/frr-pim:pim/address-family/bfd/profile", |
299c66b3 | 286 | .cbs = { |
698f4147 | 287 | .modify = lib_interface_pim_address_family_bfd_profile_modify, |
288 | .destroy = lib_interface_pim_address_family_bfd_profile_destroy, | |
299c66b3 SP |
289 | } |
290 | }, | |
291 | { | |
698f4147 | 292 | .xpath = "/frr-interface:lib/interface/frr-pim:pim/address-family/bsm", |
299c66b3 | 293 | .cbs = { |
698f4147 | 294 | .modify = lib_interface_pim_address_family_bsm_modify, |
299c66b3 SP |
295 | } |
296 | }, | |
297 | { | |
698f4147 | 298 | .xpath = "/frr-interface:lib/interface/frr-pim:pim/address-family/unicast-bsm", |
299c66b3 | 299 | .cbs = { |
698f4147 | 300 | .modify = lib_interface_pim_address_family_unicast_bsm_modify, |
299c66b3 SP |
301 | } |
302 | }, | |
303 | { | |
698f4147 | 304 | .xpath = "/frr-interface:lib/interface/frr-pim:pim/address-family/active-active", |
299c66b3 | 305 | .cbs = { |
698f4147 | 306 | .modify = lib_interface_pim_address_family_active_active_modify, |
299c66b3 SP |
307 | } |
308 | }, | |
309 | { | |
310 | .xpath = "/frr-interface:lib/interface/frr-pim:pim/address-family/use-source", | |
311 | .cbs = { | |
312 | .modify = lib_interface_pim_address_family_use_source_modify, | |
313 | .destroy = lib_interface_pim_address_family_use_source_destroy, | |
314 | } | |
315 | }, | |
316 | { | |
317 | .xpath = "/frr-interface:lib/interface/frr-pim:pim/address-family/multicast-boundary-oil", | |
318 | .cbs = { | |
319 | .modify = lib_interface_pim_address_family_multicast_boundary_oil_modify, | |
320 | .destroy = lib_interface_pim_address_family_multicast_boundary_oil_destroy, | |
321 | } | |
322 | }, | |
323 | { | |
324 | .xpath = "/frr-interface:lib/interface/frr-pim:pim/address-family/mroute", | |
325 | .cbs = { | |
326 | .create = lib_interface_pim_address_family_mroute_create, | |
327 | .destroy = lib_interface_pim_address_family_mroute_destroy, | |
328 | } | |
329 | }, | |
330 | { | |
331 | .xpath = "/frr-interface:lib/interface/frr-pim:pim/address-family/mroute/oif", | |
332 | .cbs = { | |
333 | .modify = lib_interface_pim_address_family_mroute_oif_modify, | |
334 | .destroy = lib_interface_pim_address_family_mroute_oif_destroy, | |
335 | } | |
336 | }, | |
337 | { | |
338 | .xpath = NULL, | |
339 | }, | |
340 | } | |
341 | }; | |
342 | ||
343 | /* clang-format off */ | |
344 | const struct frr_yang_module_info frr_pim_rp_info = { | |
345 | .name = "frr-pim-rp", | |
346 | .nodes = { | |
347 | { | |
348 | .xpath = "/frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-pim:pim/address-family/frr-pim-rp:rp/static-rp/rp-list", | |
349 | .cbs = { | |
350 | .create = routing_control_plane_protocols_control_plane_protocol_pim_address_family_rp_static_rp_rp_list_create, | |
351 | .destroy = routing_control_plane_protocols_control_plane_protocol_pim_address_family_rp_static_rp_rp_list_destroy, | |
352 | } | |
353 | }, | |
354 | { | |
355 | .xpath = "/frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-pim:pim/address-family/frr-pim-rp:rp/static-rp/rp-list/group-list", | |
356 | .cbs = { | |
357 | .create = routing_control_plane_protocols_control_plane_protocol_pim_address_family_rp_static_rp_rp_list_group_list_create, | |
358 | .destroy = routing_control_plane_protocols_control_plane_protocol_pim_address_family_rp_static_rp_rp_list_group_list_destroy, | |
359 | } | |
360 | }, | |
361 | { | |
362 | .xpath = "/frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-pim:pim/address-family/frr-pim-rp:rp/static-rp/rp-list/prefix-list", | |
363 | .cbs = { | |
364 | .modify = routing_control_plane_protocols_control_plane_protocol_pim_address_family_rp_static_rp_rp_list_prefix_list_modify, | |
365 | .destroy = routing_control_plane_protocols_control_plane_protocol_pim_address_family_rp_static_rp_rp_list_prefix_list_destroy, | |
366 | } | |
367 | }, | |
368 | { | |
369 | .xpath = NULL, | |
370 | }, | |
371 | } | |
372 | }; | |
373 | ||
374 | /* clang-format off */ | |
3051f443 | 375 | const struct frr_yang_module_info frr_gmp_info = { |
376 | .name = "frr-gmp", | |
299c66b3 SP |
377 | .nodes = { |
378 | { | |
3051f443 | 379 | .xpath = "/frr-interface:lib/interface/frr-gmp:gmp/address-family", |
299c66b3 | 380 | .cbs = { |
3051f443 | 381 | .create = lib_interface_gmp_address_family_create, |
382 | .destroy = lib_interface_gmp_address_family_destroy, | |
299c66b3 SP |
383 | } |
384 | }, | |
385 | { | |
3051f443 | 386 | .xpath = "/frr-interface:lib/interface/frr-gmp:gmp/address-family/enable", |
299c66b3 | 387 | .cbs = { |
3051f443 | 388 | .modify = lib_interface_gmp_address_family_enable_modify, |
299c66b3 SP |
389 | } |
390 | }, | |
391 | { | |
3051f443 | 392 | .xpath = "/frr-interface:lib/interface/frr-gmp:gmp/address-family/igmp-version", |
299c66b3 | 393 | .cbs = { |
3051f443 | 394 | .modify = lib_interface_gmp_address_family_igmp_version_modify, |
395 | .destroy = lib_interface_gmp_address_family_igmp_version_destroy, | |
299c66b3 SP |
396 | } |
397 | }, | |
398 | { | |
3051f443 | 399 | .xpath = "/frr-interface:lib/interface/frr-gmp:gmp/address-family/mld-version", |
299c66b3 | 400 | .cbs = { |
3051f443 | 401 | .modify = lib_interface_gmp_address_family_mld_version_modify, |
402 | .destroy = lib_interface_gmp_address_family_mld_version_destroy, | |
299c66b3 SP |
403 | } |
404 | }, | |
405 | { | |
3051f443 | 406 | .xpath = "/frr-interface:lib/interface/frr-gmp:gmp/address-family/query-interval", |
299c66b3 | 407 | .cbs = { |
3051f443 | 408 | .modify = lib_interface_gmp_address_family_query_interval_modify, |
299c66b3 SP |
409 | } |
410 | }, | |
411 | { | |
3051f443 | 412 | .xpath = "/frr-interface:lib/interface/frr-gmp:gmp/address-family/query-max-response-time", |
299c66b3 | 413 | .cbs = { |
3051f443 | 414 | .modify = lib_interface_gmp_address_family_query_max_response_time_modify, |
299c66b3 SP |
415 | } |
416 | }, | |
417 | { | |
3051f443 | 418 | .xpath = "/frr-interface:lib/interface/frr-gmp:gmp/address-family/last-member-query-interval", |
299c66b3 | 419 | .cbs = { |
3051f443 | 420 | .modify = lib_interface_gmp_address_family_last_member_query_interval_modify, |
299c66b3 SP |
421 | } |
422 | }, | |
423 | { | |
3051f443 | 424 | .xpath = "/frr-interface:lib/interface/frr-gmp:gmp/address-family/robustness-variable", |
299c66b3 | 425 | .cbs = { |
3051f443 | 426 | .modify = lib_interface_gmp_address_family_robustness_variable_modify, |
299c66b3 SP |
427 | } |
428 | }, | |
429 | { | |
3051f443 | 430 | .xpath = "/frr-interface:lib/interface/frr-gmp:gmp/address-family/static-group", |
299c66b3 | 431 | .cbs = { |
3051f443 | 432 | .create = lib_interface_gmp_address_family_static_group_create, |
433 | .destroy = lib_interface_gmp_address_family_static_group_destroy, | |
299c66b3 SP |
434 | } |
435 | }, | |
436 | { | |
437 | .xpath = NULL, | |
438 | }, | |
439 | } | |
440 | }; | |
3051f443 | 441 |