]> git.proxmox.com Git - mirror_frr.git/blame - zebra/zebra_nb.h
tools: config clang-format to allow aligned macros
[mirror_frr.git] / zebra / zebra_nb.h
CommitLineData
acddc0ed 1// SPDX-License-Identifier: GPL-2.0-or-later
ce45ffe7
CS
2/*
3 * Copyright (C) 2020 Cumulus Networks, Inc.
4 * Chirag Shah
ce45ffe7
CS
5 */
6
7#ifndef ZEBRA_ZEBRA_NB_H_
8#define ZEBRA_ZEBRA_NB_H_
9
17e38209
RW
10#ifdef __cplusplus
11extern "C" {
12#endif
13
ce45ffe7
CS
14extern const struct frr_yang_module_info frr_zebra_info;
15
16/* prototypes */
60ee8be1
RW
17int get_route_information_rpc(struct nb_cb_rpc_args *args);
18int get_v6_mroute_info_rpc(struct nb_cb_rpc_args *args);
19int get_vrf_info_rpc(struct nb_cb_rpc_args *args);
20int get_vrf_vni_info_rpc(struct nb_cb_rpc_args *args);
21int get_evpn_info_rpc(struct nb_cb_rpc_args *args);
22int get_vni_info_rpc(struct nb_cb_rpc_args *args);
23int get_evpn_vni_rmac_rpc(struct nb_cb_rpc_args *args);
24int get_evpn_vni_nexthops_rpc(struct nb_cb_rpc_args *args);
25int clear_evpn_dup_addr_rpc(struct nb_cb_rpc_args *args);
26int get_evpn_macs_rpc(struct nb_cb_rpc_args *args);
27int get_evpn_arp_cache_rpc(struct nb_cb_rpc_args *args);
28int get_pbr_ipset_rpc(struct nb_cb_rpc_args *args);
29int get_pbr_iptable_rpc(struct nb_cb_rpc_args *args);
30int get_debugs_rpc(struct nb_cb_rpc_args *args);
31int zebra_mcast_rpf_lookup_modify(struct nb_cb_modify_args *args);
32int zebra_ip_forwarding_modify(struct nb_cb_modify_args *args);
33int zebra_ip_forwarding_destroy(struct nb_cb_destroy_args *args);
34int zebra_ipv6_forwarding_modify(struct nb_cb_modify_args *args);
35int zebra_ipv6_forwarding_destroy(struct nb_cb_destroy_args *args);
36int zebra_workqueue_hold_timer_modify(struct nb_cb_modify_args *args);
37int zebra_zapi_packets_modify(struct nb_cb_modify_args *args);
38int zebra_import_kernel_table_table_id_modify(struct nb_cb_modify_args *args);
39int zebra_import_kernel_table_table_id_destroy(struct nb_cb_destroy_args *args);
40int zebra_import_kernel_table_distance_modify(struct nb_cb_modify_args *args);
41int zebra_import_kernel_table_route_map_modify(struct nb_cb_modify_args *args);
42int zebra_import_kernel_table_route_map_destroy(
43 struct nb_cb_destroy_args *args);
44int zebra_allow_external_route_update_create(struct nb_cb_create_args *args);
45int zebra_allow_external_route_update_destroy(struct nb_cb_destroy_args *args);
46int zebra_dplane_queue_limit_modify(struct nb_cb_modify_args *args);
60ee8be1
RW
47int zebra_debugs_debug_events_modify(struct nb_cb_modify_args *args);
48int zebra_debugs_debug_events_destroy(struct nb_cb_destroy_args *args);
49int zebra_debugs_debug_zapi_send_modify(struct nb_cb_modify_args *args);
50int zebra_debugs_debug_zapi_send_destroy(struct nb_cb_destroy_args *args);
51int zebra_debugs_debug_zapi_recv_modify(struct nb_cb_modify_args *args);
52int zebra_debugs_debug_zapi_recv_destroy(struct nb_cb_destroy_args *args);
53int zebra_debugs_debug_zapi_detail_modify(struct nb_cb_modify_args *args);
54int zebra_debugs_debug_zapi_detail_destroy(struct nb_cb_destroy_args *args);
55int zebra_debugs_debug_kernel_modify(struct nb_cb_modify_args *args);
56int zebra_debugs_debug_kernel_destroy(struct nb_cb_destroy_args *args);
57int zebra_debugs_debug_kernel_msg_send_modify(struct nb_cb_modify_args *args);
58int zebra_debugs_debug_kernel_msg_send_destroy(struct nb_cb_destroy_args *args);
59int zebra_debugs_debug_kernel_msg_recv_modify(struct nb_cb_modify_args *args);
60int zebra_debugs_debug_kernel_msg_recv_destroy(struct nb_cb_destroy_args *args);
61int zebra_debugs_debug_rib_modify(struct nb_cb_modify_args *args);
62int zebra_debugs_debug_rib_destroy(struct nb_cb_destroy_args *args);
63int zebra_debugs_debug_rib_detail_modify(struct nb_cb_modify_args *args);
64int zebra_debugs_debug_rib_detail_destroy(struct nb_cb_destroy_args *args);
65int zebra_debugs_debug_fpm_modify(struct nb_cb_modify_args *args);
66int zebra_debugs_debug_fpm_destroy(struct nb_cb_destroy_args *args);
67int zebra_debugs_debug_nht_modify(struct nb_cb_modify_args *args);
68int zebra_debugs_debug_nht_destroy(struct nb_cb_destroy_args *args);
69int zebra_debugs_debug_nht_detail_modify(struct nb_cb_modify_args *args);
70int zebra_debugs_debug_nht_detail_destroy(struct nb_cb_destroy_args *args);
71int zebra_debugs_debug_mpls_modify(struct nb_cb_modify_args *args);
72int zebra_debugs_debug_mpls_destroy(struct nb_cb_destroy_args *args);
73int zebra_debugs_debug_vxlan_modify(struct nb_cb_modify_args *args);
74int zebra_debugs_debug_vxlan_destroy(struct nb_cb_destroy_args *args);
75int zebra_debugs_debug_pw_modify(struct nb_cb_modify_args *args);
76int zebra_debugs_debug_pw_destroy(struct nb_cb_destroy_args *args);
77int zebra_debugs_debug_dplane_modify(struct nb_cb_modify_args *args);
78int zebra_debugs_debug_dplane_destroy(struct nb_cb_destroy_args *args);
79int zebra_debugs_debug_dplane_detail_modify(struct nb_cb_modify_args *args);
80int zebra_debugs_debug_dplane_detail_destroy(struct nb_cb_destroy_args *args);
81int zebra_debugs_debug_mlag_modify(struct nb_cb_modify_args *args);
82int zebra_debugs_debug_mlag_destroy(struct nb_cb_destroy_args *args);
83int lib_interface_zebra_ip_addrs_create(struct nb_cb_create_args *args);
84int lib_interface_zebra_ip_addrs_destroy(struct nb_cb_destroy_args *args);
85int lib_interface_zebra_ip_addrs_label_modify(struct nb_cb_modify_args *args);
86int lib_interface_zebra_ip_addrs_label_destroy(struct nb_cb_destroy_args *args);
87int lib_interface_zebra_ip_addrs_ip4_peer_modify(
88 struct nb_cb_modify_args *args);
89int lib_interface_zebra_ip_addrs_ip4_peer_destroy(
90 struct nb_cb_destroy_args *args);
91int lib_interface_zebra_multicast_modify(struct nb_cb_modify_args *args);
92int lib_interface_zebra_multicast_destroy(struct nb_cb_destroy_args *args);
93int lib_interface_zebra_link_detect_modify(struct nb_cb_modify_args *args);
94int lib_interface_zebra_link_detect_destroy(struct nb_cb_destroy_args *args);
95int lib_interface_zebra_shutdown_modify(struct nb_cb_modify_args *args);
96int lib_interface_zebra_shutdown_destroy(struct nb_cb_destroy_args *args);
97int lib_interface_zebra_bandwidth_modify(struct nb_cb_modify_args *args);
98int lib_interface_zebra_bandwidth_destroy(struct nb_cb_destroy_args *args);
15833261
LS
99int lib_interface_zebra_legacy_admin_group_modify(
100 struct nb_cb_modify_args *args);
101int lib_interface_zebra_legacy_admin_group_destroy(
102 struct nb_cb_destroy_args *args);
103int lib_interface_zebra_affinity_create(struct nb_cb_create_args *args);
104int lib_interface_zebra_affinity_destroy(struct nb_cb_destroy_args *args);
105int lib_interface_zebra_affinity_mode_modify(struct nb_cb_modify_args *args);
60ee8be1
RW
106struct yang_data *
107lib_interface_zebra_state_up_count_get_elem(struct nb_cb_get_elem_args *args);
108struct yang_data *
109lib_interface_zebra_state_down_count_get_elem(struct nb_cb_get_elem_args *args);
110struct yang_data *
111lib_interface_zebra_state_zif_type_get_elem(struct nb_cb_get_elem_args *args);
112struct yang_data *
113lib_interface_zebra_state_ptm_status_get_elem(struct nb_cb_get_elem_args *args);
114struct yang_data *
115lib_interface_zebra_state_vlan_id_get_elem(struct nb_cb_get_elem_args *args);
116struct yang_data *
117lib_interface_zebra_state_vni_id_get_elem(struct nb_cb_get_elem_args *args);
118struct yang_data *lib_interface_zebra_state_remote_vtep_get_elem(
119 struct nb_cb_get_elem_args *args);
120struct yang_data *lib_interface_zebra_state_mcast_group_get_elem(
121 struct nb_cb_get_elem_args *args);
56a88b9e
CS
122const void *lib_vrf_zebra_ribs_rib_get_next(struct nb_cb_get_next_args *args);
123int lib_vrf_zebra_ribs_rib_get_keys(struct nb_cb_get_keys_args *args);
ce45ffe7 124const void *
56a88b9e 125lib_vrf_zebra_ribs_rib_lookup_entry(struct nb_cb_lookup_entry_args *args);
6c380957
IR
126struct yang_data *
127lib_vrf_zebra_ribs_rib_afi_safi_name_get_elem(struct nb_cb_get_elem_args *args);
128struct yang_data *
129lib_vrf_zebra_ribs_rib_table_id_get_elem(struct nb_cb_get_elem_args *args);
56a88b9e
CS
130const void *
131lib_vrf_zebra_ribs_rib_route_get_next(struct nb_cb_get_next_args *args);
132int lib_vrf_zebra_ribs_rib_route_get_keys(struct nb_cb_get_keys_args *args);
133const void *
134lib_vrf_zebra_ribs_rib_route_lookup_entry(struct nb_cb_lookup_entry_args *args);
ce45ffe7 135struct yang_data *
56a88b9e
CS
136lib_vrf_zebra_ribs_rib_route_prefix_get_elem(struct nb_cb_get_elem_args *args);
137struct yang_data *lib_vrf_zebra_ribs_rib_route_protocol_get_elem(
138 struct nb_cb_get_elem_args *args);
139struct yang_data *lib_vrf_zebra_ribs_rib_route_protocol_v6_get_elem(
140 struct nb_cb_get_elem_args *args);
ce45ffe7 141struct yang_data *
56a88b9e
CS
142lib_vrf_zebra_ribs_rib_route_vrf_get_elem(struct nb_cb_get_elem_args *args);
143struct yang_data *lib_vrf_zebra_ribs_rib_route_distance_get_elem(
144 struct nb_cb_get_elem_args *args);
ce45ffe7 145struct yang_data *
56a88b9e 146lib_vrf_zebra_ribs_rib_route_metric_get_elem(struct nb_cb_get_elem_args *args);
ce45ffe7 147struct yang_data *
56a88b9e
CS
148lib_vrf_zebra_ribs_rib_route_tag_get_elem(struct nb_cb_get_elem_args *args);
149struct yang_data *lib_vrf_zebra_ribs_rib_route_selected_get_elem(
150 struct nb_cb_get_elem_args *args);
151struct yang_data *lib_vrf_zebra_ribs_rib_route_installed_get_elem(
152 struct nb_cb_get_elem_args *args);
ce45ffe7 153struct yang_data *
56a88b9e 154lib_vrf_zebra_ribs_rib_route_failed_get_elem(struct nb_cb_get_elem_args *args);
ce45ffe7 155struct yang_data *
56a88b9e
CS
156lib_vrf_zebra_ribs_rib_route_queued_get_elem(struct nb_cb_get_elem_args *args);
157struct yang_data *lib_vrf_zebra_ribs_rib_route_internal_flags_get_elem(
60ee8be1 158 struct nb_cb_get_elem_args *args);
56a88b9e 159struct yang_data *lib_vrf_zebra_ribs_rib_route_internal_status_get_elem(
60ee8be1 160 struct nb_cb_get_elem_args *args);
ce45ffe7 161struct yang_data *
56a88b9e
CS
162lib_vrf_zebra_ribs_rib_route_uptime_get_elem(struct nb_cb_get_elem_args *args);
163const void *lib_vrf_zebra_ribs_rib_route_nexthop_group_get_next(
164 struct nb_cb_get_next_args *args);
165int lib_vrf_zebra_ribs_rib_route_nexthop_group_get_keys(
60ee8be1 166 struct nb_cb_get_keys_args *args);
56a88b9e 167const void *lib_vrf_zebra_ribs_rib_route_nexthop_group_lookup_entry(
60ee8be1 168 struct nb_cb_lookup_entry_args *args);
56a88b9e 169struct yang_data *lib_vrf_zebra_ribs_rib_route_nexthop_group_name_get_elem(
60ee8be1 170 struct nb_cb_get_elem_args *args);
56a88b9e
CS
171const void *
172lib_vrf_zebra_ribs_rib_route_nexthop_group_frr_nexthops_nexthop_get_next(
60ee8be1 173 struct nb_cb_get_next_args *args);
56a88b9e 174int lib_vrf_zebra_ribs_rib_route_nexthop_group_frr_nexthops_nexthop_get_keys(
60ee8be1 175 struct nb_cb_get_keys_args *args);
56a88b9e
CS
176const void *lib_vrf_zebra_ribs_rib_route_route_entry_get_next(
177 struct nb_cb_get_next_args *args);
178int lib_vrf_zebra_ribs_rib_route_route_entry_get_keys(
60ee8be1 179 struct nb_cb_get_keys_args *args);
56a88b9e 180const void *lib_vrf_zebra_ribs_rib_route_route_entry_lookup_entry(
60ee8be1 181 struct nb_cb_lookup_entry_args *args);
56a88b9e 182struct yang_data *lib_vrf_zebra_ribs_rib_route_route_entry_protocol_get_elem(
60ee8be1 183 struct nb_cb_get_elem_args *args);
56a88b9e 184struct yang_data *lib_vrf_zebra_ribs_rib_route_route_entry_instance_get_elem(
60ee8be1 185 struct nb_cb_get_elem_args *args);
56a88b9e 186struct yang_data *lib_vrf_zebra_ribs_rib_route_route_entry_distance_get_elem(
60ee8be1 187 struct nb_cb_get_elem_args *args);
56a88b9e 188struct yang_data *lib_vrf_zebra_ribs_rib_route_route_entry_metric_get_elem(
60ee8be1 189 struct nb_cb_get_elem_args *args);
56a88b9e 190struct yang_data *lib_vrf_zebra_ribs_rib_route_route_entry_tag_get_elem(
60ee8be1 191 struct nb_cb_get_elem_args *args);
56a88b9e 192struct yang_data *lib_vrf_zebra_ribs_rib_route_route_entry_selected_get_elem(
60ee8be1 193 struct nb_cb_get_elem_args *args);
56a88b9e 194struct yang_data *lib_vrf_zebra_ribs_rib_route_route_entry_installed_get_elem(
60ee8be1 195 struct nb_cb_get_elem_args *args);
56a88b9e 196struct yang_data *lib_vrf_zebra_ribs_rib_route_route_entry_failed_get_elem(
60ee8be1 197 struct nb_cb_get_elem_args *args);
56a88b9e 198struct yang_data *lib_vrf_zebra_ribs_rib_route_route_entry_queued_get_elem(
60ee8be1 199 struct nb_cb_get_elem_args *args);
56a88b9e
CS
200struct yang_data *
201lib_vrf_zebra_ribs_rib_route_route_entry_internal_flags_get_elem(
60ee8be1 202 struct nb_cb_get_elem_args *args);
56a88b9e
CS
203struct yang_data *
204lib_vrf_zebra_ribs_rib_route_route_entry_internal_status_get_elem(
60ee8be1 205 struct nb_cb_get_elem_args *args);
56a88b9e 206struct yang_data *lib_vrf_zebra_ribs_rib_route_route_entry_uptime_get_elem(
60ee8be1 207 struct nb_cb_get_elem_args *args);
ed5abdb2 208struct yang_data *
2b2282eb 209lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_id_get_elem(
60ee8be1 210 struct nb_cb_get_elem_args *args);
ed5abdb2 211const void *
2b2282eb 212lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_nexthop_get_next(
60ee8be1 213 struct nb_cb_get_next_args *args);
2b2282eb 214int lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_nexthop_get_keys(
60ee8be1 215 struct nb_cb_get_keys_args *args);
ce45ffe7 216const void *
2b2282eb 217lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_nexthop_lookup_entry(
60ee8be1 218 struct nb_cb_lookup_entry_args *args);
ce45ffe7 219struct yang_data *
2b2282eb 220lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_nexthop_nh_type_get_elem(
60ee8be1 221 struct nb_cb_get_elem_args *args);
ce45ffe7 222struct yang_data *
2b2282eb 223lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_nexthop_vrf_get_elem(
60ee8be1 224 struct nb_cb_get_elem_args *args);
ce45ffe7 225struct yang_data *
2b2282eb 226lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_nexthop_gateway_get_elem(
60ee8be1 227 struct nb_cb_get_elem_args *args);
ce45ffe7 228struct yang_data *
2b2282eb 229lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_nexthop_interface_get_elem(
60ee8be1 230 struct nb_cb_get_elem_args *args);
ce45ffe7 231struct yang_data *
2b2282eb 232lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_nexthop_bh_type_get_elem(
60ee8be1 233 struct nb_cb_get_elem_args *args);
ce45ffe7 234struct yang_data *
2b2282eb 235lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_nexthop_onlink_get_elem(
60ee8be1 236 struct nb_cb_get_elem_args *args);
065276ae
SM
237struct yang_data *
238lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_nexthop_color_get_elem(
239 struct nb_cb_get_elem_args *args);
ce45ffe7 240const void *
2b2282eb 241lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_nexthop_mpls_label_stack_entry_get_next(
60ee8be1 242 struct nb_cb_get_next_args *args);
2b2282eb 243int lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_nexthop_mpls_label_stack_entry_get_keys(
60ee8be1 244 struct nb_cb_get_keys_args *args);
ce45ffe7 245const void *
2b2282eb 246lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_nexthop_mpls_label_stack_entry_lookup_entry(
60ee8be1 247 struct nb_cb_lookup_entry_args *args);
ce45ffe7 248struct yang_data *
2b2282eb 249lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_nexthop_mpls_label_stack_entry_id_get_elem(
60ee8be1 250 struct nb_cb_get_elem_args *args);
ce45ffe7 251struct yang_data *
2b2282eb 252lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_nexthop_mpls_label_stack_entry_label_get_elem(
60ee8be1 253 struct nb_cb_get_elem_args *args);
ce45ffe7 254struct yang_data *
2b2282eb 255lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_nexthop_mpls_label_stack_entry_ttl_get_elem(
60ee8be1 256 struct nb_cb_get_elem_args *args);
ce45ffe7 257struct yang_data *
2b2282eb 258lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_nexthop_mpls_label_stack_entry_traffic_class_get_elem(
60ee8be1 259 struct nb_cb_get_elem_args *args);
ce45ffe7 260struct yang_data *
2b2282eb 261lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_nexthop_duplicate_get_elem(
60ee8be1 262 struct nb_cb_get_elem_args *args);
ce45ffe7 263struct yang_data *
2b2282eb 264lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_nexthop_recursive_get_elem(
60ee8be1 265 struct nb_cb_get_elem_args *args);
ce45ffe7 266struct yang_data *
2b2282eb 267lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_nexthop_active_get_elem(
60ee8be1 268 struct nb_cb_get_elem_args *args);
ce45ffe7 269struct yang_data *
2b2282eb 270lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_nexthop_fib_get_elem(
60ee8be1 271 struct nb_cb_get_elem_args *args);
7225e61c 272struct yang_data *
2b2282eb 273lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_nexthop_weight_get_elem(
60ee8be1 274 struct nb_cb_get_elem_args *args);
e2bcfa39
CS
275int lib_vrf_zebra_l3vni_id_modify(struct nb_cb_modify_args *args);
276int lib_vrf_zebra_l3vni_id_destroy(struct nb_cb_destroy_args *args);
277int lib_vrf_zebra_prefix_only_modify(struct nb_cb_modify_args *args);
ce45ffe7 278
17e38209
RW
279#ifdef __cplusplus
280}
281#endif
282
ce45ffe7 283#endif