]>
Commit | Line | Data |
---|---|---|
acddc0ed | 1 | // SPDX-License-Identifier: GPL-2.0-or-later |
f80ec39e RW |
2 | /* |
3 | * Copyright (C) 2018 NetDEF, Inc. | |
4 | * Renato Westphal | |
f80ec39e RW |
5 | */ |
6 | ||
7 | #ifndef _FRR_RIP_NB_H_ | |
8 | #define _FRR_RIP_NB_H_ | |
9 | ||
10 | extern const struct frr_yang_module_info frr_ripd_info; | |
11 | ||
12 | /* Mandatory callbacks. */ | |
60ee8be1 RW |
13 | int ripd_instance_create(struct nb_cb_create_args *args); |
14 | int ripd_instance_destroy(struct nb_cb_destroy_args *args); | |
15 | const void *ripd_instance_get_next(struct nb_cb_get_next_args *args); | |
16 | int ripd_instance_get_keys(struct nb_cb_get_keys_args *args); | |
17 | const void *ripd_instance_lookup_entry(struct nb_cb_lookup_entry_args *args); | |
18 | int ripd_instance_allow_ecmp_modify(struct nb_cb_modify_args *args); | |
f80ec39e | 19 | int ripd_instance_default_information_originate_modify( |
60ee8be1 RW |
20 | struct nb_cb_modify_args *args); |
21 | int ripd_instance_default_metric_modify(struct nb_cb_modify_args *args); | |
22 | int ripd_instance_distance_default_modify(struct nb_cb_modify_args *args); | |
23 | int ripd_instance_distance_source_create(struct nb_cb_create_args *args); | |
24 | int ripd_instance_distance_source_destroy(struct nb_cb_destroy_args *args); | |
25 | int ripd_instance_distance_source_distance_modify( | |
26 | struct nb_cb_modify_args *args); | |
f80ec39e | 27 | int ripd_instance_distance_source_access_list_modify( |
60ee8be1 | 28 | struct nb_cb_modify_args *args); |
f80ec39e | 29 | int ripd_instance_distance_source_access_list_destroy( |
60ee8be1 RW |
30 | struct nb_cb_destroy_args *args); |
31 | int ripd_instance_explicit_neighbor_create(struct nb_cb_create_args *args); | |
32 | int ripd_instance_explicit_neighbor_destroy(struct nb_cb_destroy_args *args); | |
33 | int ripd_instance_network_create(struct nb_cb_create_args *args); | |
34 | int ripd_instance_network_destroy(struct nb_cb_destroy_args *args); | |
35 | int ripd_instance_interface_create(struct nb_cb_create_args *args); | |
36 | int ripd_instance_interface_destroy(struct nb_cb_destroy_args *args); | |
37 | int ripd_instance_offset_list_create(struct nb_cb_create_args *args); | |
38 | int ripd_instance_offset_list_destroy(struct nb_cb_destroy_args *args); | |
39 | int ripd_instance_offset_list_access_list_modify( | |
40 | struct nb_cb_modify_args *args); | |
41 | int ripd_instance_offset_list_metric_modify(struct nb_cb_modify_args *args); | |
42 | int ripd_instance_passive_default_modify(struct nb_cb_modify_args *args); | |
43 | int ripd_instance_passive_interface_create(struct nb_cb_create_args *args); | |
44 | int ripd_instance_passive_interface_destroy(struct nb_cb_destroy_args *args); | |
45 | int ripd_instance_non_passive_interface_create(struct nb_cb_create_args *args); | |
46 | int ripd_instance_non_passive_interface_destroy( | |
47 | struct nb_cb_destroy_args *args); | |
48 | int ripd_instance_redistribute_create(struct nb_cb_create_args *args); | |
49 | int ripd_instance_redistribute_destroy(struct nb_cb_destroy_args *args); | |
50 | int ripd_instance_redistribute_route_map_modify(struct nb_cb_modify_args *args); | |
51 | int ripd_instance_redistribute_route_map_destroy( | |
52 | struct nb_cb_destroy_args *args); | |
53 | int ripd_instance_redistribute_metric_modify(struct nb_cb_modify_args *args); | |
54 | int ripd_instance_redistribute_metric_destroy(struct nb_cb_destroy_args *args); | |
14ef7be7 CH |
55 | int ripd_instance_if_route_maps_if_route_map_create( |
56 | struct nb_cb_create_args *args); | |
57 | int ripd_instance_if_route_maps_if_route_map_destroy( | |
58 | struct nb_cb_destroy_args *args); | |
59 | int ripd_instance_if_route_maps_if_route_map_in_route_map_modify( | |
60 | struct nb_cb_modify_args *args); | |
61 | int ripd_instance_if_route_maps_if_route_map_in_route_map_destroy( | |
62 | struct nb_cb_destroy_args *args); | |
63 | int ripd_instance_if_route_maps_if_route_map_out_route_map_modify( | |
64 | struct nb_cb_modify_args *args); | |
65 | int ripd_instance_if_route_maps_if_route_map_out_route_map_destroy( | |
66 | struct nb_cb_destroy_args *args); | |
60ee8be1 RW |
67 | int ripd_instance_static_route_create(struct nb_cb_create_args *args); |
68 | int ripd_instance_static_route_destroy(struct nb_cb_destroy_args *args); | |
69 | int ripd_instance_timers_flush_interval_modify(struct nb_cb_modify_args *args); | |
70 | int ripd_instance_timers_holddown_interval_modify( | |
71 | struct nb_cb_modify_args *args); | |
72 | int ripd_instance_timers_update_interval_modify(struct nb_cb_modify_args *args); | |
73 | int ripd_instance_version_receive_modify(struct nb_cb_modify_args *args); | |
74 | int ripd_instance_version_send_modify(struct nb_cb_modify_args *args); | |
c262df82 RW |
75 | int ripd_instance_default_bfd_profile_modify(struct nb_cb_modify_args *args); |
76 | int ripd_instance_default_bfd_profile_destroy(struct nb_cb_destroy_args *args); | |
60ee8be1 RW |
77 | const void *ripd_instance_state_neighbors_neighbor_get_next( |
78 | struct nb_cb_get_next_args *args); | |
f80ec39e | 79 | int ripd_instance_state_neighbors_neighbor_get_keys( |
60ee8be1 | 80 | struct nb_cb_get_keys_args *args); |
f80ec39e | 81 | const void *ripd_instance_state_neighbors_neighbor_lookup_entry( |
60ee8be1 RW |
82 | struct nb_cb_lookup_entry_args *args); |
83 | struct yang_data *ripd_instance_state_neighbors_neighbor_address_get_elem( | |
84 | struct nb_cb_get_elem_args *args); | |
f80ec39e | 85 | struct yang_data *ripd_instance_state_neighbors_neighbor_last_update_get_elem( |
60ee8be1 | 86 | struct nb_cb_get_elem_args *args); |
f80ec39e RW |
87 | struct yang_data * |
88 | ripd_instance_state_neighbors_neighbor_bad_packets_rcvd_get_elem( | |
60ee8be1 | 89 | struct nb_cb_get_elem_args *args); |
f80ec39e RW |
90 | struct yang_data * |
91 | ripd_instance_state_neighbors_neighbor_bad_routes_rcvd_get_elem( | |
60ee8be1 | 92 | struct nb_cb_get_elem_args *args); |
f80ec39e | 93 | const void * |
60ee8be1 RW |
94 | ripd_instance_state_routes_route_get_next(struct nb_cb_get_next_args *args); |
95 | int ripd_instance_state_routes_route_get_keys(struct nb_cb_get_keys_args *args); | |
f80ec39e | 96 | const void *ripd_instance_state_routes_route_lookup_entry( |
60ee8be1 RW |
97 | struct nb_cb_lookup_entry_args *args); |
98 | struct yang_data *ripd_instance_state_routes_route_prefix_get_elem( | |
99 | struct nb_cb_get_elem_args *args); | |
100 | struct yang_data *ripd_instance_state_routes_route_next_hop_get_elem( | |
101 | struct nb_cb_get_elem_args *args); | |
102 | struct yang_data *ripd_instance_state_routes_route_interface_get_elem( | |
103 | struct nb_cb_get_elem_args *args); | |
104 | struct yang_data *ripd_instance_state_routes_route_metric_get_elem( | |
105 | struct nb_cb_get_elem_args *args); | |
0b7f0e35 CH |
106 | const void *ripd_instance_state_routes_route_nexthops_nexthop_get_next( |
107 | struct nb_cb_get_next_args *args); | |
108 | struct yang_data * | |
109 | ripd_instance_state_routes_route_nexthops_nexthop_nh_type_get_elem( | |
110 | struct nb_cb_get_elem_args *args); | |
111 | struct yang_data * | |
112 | ripd_instance_state_routes_route_nexthops_nexthop_protocol_get_elem( | |
113 | struct nb_cb_get_elem_args *args); | |
114 | struct yang_data * | |
115 | ripd_instance_state_routes_route_nexthops_nexthop_rip_type_get_elem( | |
116 | struct nb_cb_get_elem_args *args); | |
117 | struct yang_data * | |
118 | ripd_instance_state_routes_route_nexthops_nexthop_gateway_get_elem( | |
119 | struct nb_cb_get_elem_args *args); | |
120 | struct yang_data * | |
121 | ripd_instance_state_routes_route_nexthops_nexthop_interface_get_elem( | |
122 | struct nb_cb_get_elem_args *args); | |
123 | struct yang_data * | |
124 | ripd_instance_state_routes_route_nexthops_nexthop_from_get_elem( | |
125 | struct nb_cb_get_elem_args *args); | |
126 | struct yang_data * | |
127 | ripd_instance_state_routes_route_nexthops_nexthop_tag_get_elem( | |
128 | struct nb_cb_get_elem_args *args); | |
129 | struct yang_data * | |
130 | ripd_instance_state_routes_route_nexthops_nexthop_external_metric_get_elem( | |
131 | struct nb_cb_get_elem_args *args); | |
132 | struct yang_data * | |
133 | ripd_instance_state_routes_route_nexthops_nexthop_expire_time_get_elem( | |
134 | struct nb_cb_get_elem_args *args); | |
135 | struct yang_data *ripd_instance_state_routes_route_metric_get_elem( | |
136 | struct nb_cb_get_elem_args *args); | |
60ee8be1 RW |
137 | int clear_rip_route_rpc(struct nb_cb_rpc_args *args); |
138 | int lib_interface_rip_split_horizon_modify(struct nb_cb_modify_args *args); | |
139 | int lib_interface_rip_v2_broadcast_modify(struct nb_cb_modify_args *args); | |
140 | int lib_interface_rip_version_receive_modify(struct nb_cb_modify_args *args); | |
141 | int lib_interface_rip_version_send_modify(struct nb_cb_modify_args *args); | |
f80ec39e | 142 | int lib_interface_rip_authentication_scheme_mode_modify( |
60ee8be1 | 143 | struct nb_cb_modify_args *args); |
f80ec39e | 144 | int lib_interface_rip_authentication_scheme_md5_auth_length_modify( |
60ee8be1 | 145 | struct nb_cb_modify_args *args); |
f80ec39e | 146 | int lib_interface_rip_authentication_scheme_md5_auth_length_destroy( |
60ee8be1 | 147 | struct nb_cb_destroy_args *args); |
f80ec39e | 148 | int lib_interface_rip_authentication_password_modify( |
60ee8be1 | 149 | struct nb_cb_modify_args *args); |
f80ec39e | 150 | int lib_interface_rip_authentication_password_destroy( |
60ee8be1 | 151 | struct nb_cb_destroy_args *args); |
f80ec39e | 152 | int lib_interface_rip_authentication_key_chain_modify( |
60ee8be1 | 153 | struct nb_cb_modify_args *args); |
f80ec39e | 154 | int lib_interface_rip_authentication_key_chain_destroy( |
60ee8be1 | 155 | struct nb_cb_destroy_args *args); |
c262df82 RW |
156 | int lib_interface_rip_bfd_create(struct nb_cb_create_args *args); |
157 | int lib_interface_rip_bfd_destroy(struct nb_cb_destroy_args *args); | |
158 | int lib_interface_rip_bfd_enable_modify(struct nb_cb_modify_args *args); | |
159 | int lib_interface_rip_bfd_enable_destroy(struct nb_cb_destroy_args *args); | |
160 | int lib_interface_rip_bfd_profile_modify(struct nb_cb_modify_args *args); | |
161 | int lib_interface_rip_bfd_profile_destroy(struct nb_cb_destroy_args *args); | |
f80ec39e RW |
162 | |
163 | /* Optional 'apply_finish' callbacks. */ | |
60ee8be1 RW |
164 | void ripd_instance_redistribute_apply_finish( |
165 | struct nb_cb_apply_finish_args *args); | |
166 | void ripd_instance_timers_apply_finish(struct nb_cb_apply_finish_args *args); | |
f80ec39e RW |
167 | |
168 | /* Optional 'cli_show' callbacks. */ | |
25605051 | 169 | void cli_show_router_rip(struct vty *vty, const struct lyd_node *dnode, |
f80ec39e | 170 | bool show_defaults); |
25605051 | 171 | void cli_show_rip_allow_ecmp(struct vty *vty, const struct lyd_node *dnode, |
f80ec39e RW |
172 | bool show_defaults); |
173 | void cli_show_rip_default_information_originate(struct vty *vty, | |
25605051 | 174 | const struct lyd_node *dnode, |
f80ec39e | 175 | bool show_defaults); |
25605051 | 176 | void cli_show_rip_default_metric(struct vty *vty, const struct lyd_node *dnode, |
f80ec39e | 177 | bool show_defaults); |
25605051 | 178 | void cli_show_rip_distance(struct vty *vty, const struct lyd_node *dnode, |
f80ec39e | 179 | bool show_defaults); |
25605051 | 180 | void cli_show_rip_distance_source(struct vty *vty, const struct lyd_node *dnode, |
f80ec39e | 181 | bool show_defaults); |
25605051 | 182 | void cli_show_rip_neighbor(struct vty *vty, const struct lyd_node *dnode, |
f80ec39e | 183 | bool show_defaults); |
25605051 | 184 | void cli_show_rip_network_prefix(struct vty *vty, const struct lyd_node *dnode, |
f80ec39e | 185 | bool show_defaults); |
25605051 IR |
186 | void cli_show_rip_network_interface(struct vty *vty, |
187 | const struct lyd_node *dnode, | |
f80ec39e | 188 | bool show_defaults); |
25605051 | 189 | void cli_show_rip_offset_list(struct vty *vty, const struct lyd_node *dnode, |
f80ec39e | 190 | bool show_defaults); |
25605051 | 191 | void cli_show_rip_passive_default(struct vty *vty, const struct lyd_node *dnode, |
f80ec39e | 192 | bool show_defaults); |
25605051 IR |
193 | void cli_show_rip_passive_interface(struct vty *vty, |
194 | const struct lyd_node *dnode, | |
f80ec39e | 195 | bool show_defaults); |
25605051 IR |
196 | void cli_show_rip_non_passive_interface(struct vty *vty, |
197 | const struct lyd_node *dnode, | |
f80ec39e | 198 | bool show_defaults); |
25605051 | 199 | void cli_show_rip_redistribute(struct vty *vty, const struct lyd_node *dnode, |
f80ec39e | 200 | bool show_defaults); |
25605051 | 201 | void cli_show_rip_route(struct vty *vty, const struct lyd_node *dnode, |
f80ec39e | 202 | bool show_defaults); |
25605051 | 203 | void cli_show_rip_timers(struct vty *vty, const struct lyd_node *dnode, |
f80ec39e | 204 | bool show_defaults); |
25605051 | 205 | void cli_show_rip_version(struct vty *vty, const struct lyd_node *dnode, |
f80ec39e | 206 | bool show_defaults); |
25605051 IR |
207 | void cli_show_ip_rip_split_horizon(struct vty *vty, |
208 | const struct lyd_node *dnode, | |
f80ec39e | 209 | bool show_defaults); |
25605051 | 210 | void cli_show_ip_rip_v2_broadcast(struct vty *vty, const struct lyd_node *dnode, |
f80ec39e | 211 | bool show_defaults); |
25605051 IR |
212 | void cli_show_ip_rip_receive_version(struct vty *vty, |
213 | const struct lyd_node *dnode, | |
f80ec39e | 214 | bool show_defaults); |
25605051 | 215 | void cli_show_ip_rip_send_version(struct vty *vty, const struct lyd_node *dnode, |
f80ec39e | 216 | bool show_defaults); |
c262df82 RW |
217 | void cli_show_ripd_instance_default_bfd_profile(struct vty *vty, |
218 | const struct lyd_node *dnode, | |
219 | bool show_defaults); | |
f80ec39e | 220 | void cli_show_ip_rip_authentication_scheme(struct vty *vty, |
25605051 | 221 | const struct lyd_node *dnode, |
f80ec39e RW |
222 | bool show_defaults); |
223 | void cli_show_ip_rip_authentication_string(struct vty *vty, | |
25605051 | 224 | const struct lyd_node *dnode, |
f80ec39e RW |
225 | bool show_defaults); |
226 | void cli_show_ip_rip_authentication_key_chain(struct vty *vty, | |
25605051 | 227 | const struct lyd_node *dnode, |
f80ec39e | 228 | bool show_defaults); |
c262df82 RW |
229 | void cli_show_ip_rip_bfd_enable(struct vty *vty, const struct lyd_node *dnode, |
230 | bool show_defaults); | |
231 | void cli_show_ip_rip_bfd_profile(struct vty *vty, const struct lyd_node *dnode, | |
232 | bool show_defaults); | |
f80ec39e RW |
233 | |
234 | /* Notifications. */ | |
235 | extern void ripd_notif_send_auth_type_failure(const char *ifname); | |
236 | extern void ripd_notif_send_auth_failure(const char *ifname); | |
237 | ||
238 | #endif /* _FRR_RIP_NB_H_ */ |