]>
Commit | Line | Data |
---|---|---|
6c574029 RW |
1 | /* |
2 | * BFD daemon northbound implementation. | |
3 | * | |
4 | * Copyright (C) 2019 Network Device Education Foundation, Inc. ("NetDEF") | |
5 | * Rafael Zalamena | |
6 | * | |
7 | * This program is free software; you can redistribute it and/or modify | |
8 | * it under the terms of the GNU General Public License as published by | |
9 | * the Free Software Foundation; either version 2 of the License, or | |
10 | * (at your option) any later version. | |
11 | * | |
12 | * This program is distributed in the hope that it will be useful, | |
13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
15 | * GNU General Public License for more details. | |
16 | * | |
17 | * You should have received a copy of the GNU General Public License | |
18 | * along with this program; if not, write to the Free Software | |
19 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA | |
20 | * 02110-1301 USA. | |
21 | */ | |
22 | ||
23 | #ifndef _FRR_BFDD_NB_H_ | |
24 | #define _FRR_BFDD_NB_H_ | |
25 | ||
26 | extern const struct frr_yang_module_info frr_bfdd_info; | |
27 | ||
28 | /* Mandatory callbacks. */ | |
60ee8be1 RW |
29 | int bfdd_bfd_create(struct nb_cb_create_args *args); |
30 | int bfdd_bfd_destroy(struct nb_cb_destroy_args *args); | |
ccc9ada8 RZ |
31 | int bfdd_bfd_profile_create(struct nb_cb_create_args *args); |
32 | int bfdd_bfd_profile_destroy(struct nb_cb_destroy_args *args); | |
33 | int bfdd_bfd_profile_detection_multiplier_modify( | |
34 | struct nb_cb_modify_args *args); | |
35 | int bfdd_bfd_profile_desired_transmission_interval_modify( | |
36 | struct nb_cb_modify_args *args); | |
37 | int bfdd_bfd_profile_required_receive_interval_modify( | |
38 | struct nb_cb_modify_args *args); | |
39 | int bfdd_bfd_profile_administrative_down_modify(struct nb_cb_modify_args *args); | |
1a2e2fff | 40 | int bfdd_bfd_profile_passive_mode_modify(struct nb_cb_modify_args *args); |
262e1d25 RZ |
41 | int bfdd_bfd_profile_minimum_ttl_modify(struct nb_cb_modify_args *args); |
42 | int bfdd_bfd_profile_minimum_ttl_destroy(struct nb_cb_destroy_args *args); | |
ccc9ada8 RZ |
43 | int bfdd_bfd_profile_echo_mode_modify(struct nb_cb_modify_args *args); |
44 | int bfdd_bfd_profile_desired_echo_transmission_interval_modify( | |
45 | struct nb_cb_modify_args *args); | |
60ee8be1 RW |
46 | int bfdd_bfd_sessions_single_hop_create(struct nb_cb_create_args *args); |
47 | int bfdd_bfd_sessions_single_hop_destroy(struct nb_cb_destroy_args *args); | |
6c574029 | 48 | const void * |
60ee8be1 RW |
49 | bfdd_bfd_sessions_single_hop_get_next(struct nb_cb_get_next_args *args); |
50 | int bfdd_bfd_sessions_single_hop_get_keys(struct nb_cb_get_keys_args *args); | |
51 | const void * | |
52 | bfdd_bfd_sessions_single_hop_lookup_entry(struct nb_cb_lookup_entry_args *args); | |
6c574029 | 53 | int bfdd_bfd_sessions_single_hop_source_addr_modify( |
60ee8be1 | 54 | struct nb_cb_modify_args *args); |
6c574029 | 55 | int bfdd_bfd_sessions_single_hop_source_addr_destroy( |
60ee8be1 | 56 | struct nb_cb_destroy_args *args); |
ccc9ada8 RZ |
57 | int bfdd_bfd_sessions_single_hop_profile_modify(struct nb_cb_modify_args *args); |
58 | int bfdd_bfd_sessions_single_hop_profile_destroy( | |
59 | struct nb_cb_destroy_args *args); | |
6c574029 | 60 | int bfdd_bfd_sessions_single_hop_detection_multiplier_modify( |
60ee8be1 | 61 | struct nb_cb_modify_args *args); |
6c574029 | 62 | int bfdd_bfd_sessions_single_hop_desired_transmission_interval_modify( |
60ee8be1 | 63 | struct nb_cb_modify_args *args); |
6c574029 | 64 | int bfdd_bfd_sessions_single_hop_required_receive_interval_modify( |
60ee8be1 | 65 | struct nb_cb_modify_args *args); |
6c574029 | 66 | int bfdd_bfd_sessions_single_hop_administrative_down_modify( |
60ee8be1 | 67 | struct nb_cb_modify_args *args); |
1a2e2fff RZ |
68 | int bfdd_bfd_sessions_single_hop_passive_mode_modify( |
69 | struct nb_cb_modify_args *args); | |
60ee8be1 RW |
70 | int bfdd_bfd_sessions_single_hop_echo_mode_modify( |
71 | struct nb_cb_modify_args *args); | |
6c574029 | 72 | int bfdd_bfd_sessions_single_hop_desired_echo_transmission_interval_modify( |
60ee8be1 | 73 | struct nb_cb_modify_args *args); |
6c574029 RW |
74 | struct yang_data * |
75 | bfdd_bfd_sessions_single_hop_stats_local_discriminator_get_elem( | |
60ee8be1 RW |
76 | struct nb_cb_get_elem_args *args); |
77 | struct yang_data *bfdd_bfd_sessions_single_hop_stats_local_state_get_elem( | |
78 | struct nb_cb_get_elem_args *args); | |
6c574029 | 79 | struct yang_data *bfdd_bfd_sessions_single_hop_stats_local_diagnostic_get_elem( |
60ee8be1 | 80 | struct nb_cb_get_elem_args *args); |
6c574029 | 81 | struct yang_data *bfdd_bfd_sessions_single_hop_stats_local_multiplier_get_elem( |
60ee8be1 | 82 | struct nb_cb_get_elem_args *args); |
6c574029 RW |
83 | struct yang_data * |
84 | bfdd_bfd_sessions_single_hop_stats_remote_discriminator_get_elem( | |
60ee8be1 | 85 | struct nb_cb_get_elem_args *args); |
6c574029 | 86 | struct yang_data *bfdd_bfd_sessions_single_hop_stats_remote_state_get_elem( |
60ee8be1 | 87 | struct nb_cb_get_elem_args *args); |
6c574029 | 88 | struct yang_data *bfdd_bfd_sessions_single_hop_stats_remote_diagnostic_get_elem( |
60ee8be1 | 89 | struct nb_cb_get_elem_args *args); |
6c574029 | 90 | struct yang_data *bfdd_bfd_sessions_single_hop_stats_remote_multiplier_get_elem( |
60ee8be1 | 91 | struct nb_cb_get_elem_args *args); |
6c574029 RW |
92 | struct yang_data * |
93 | bfdd_bfd_sessions_single_hop_stats_negotiated_transmission_interval_get_elem( | |
60ee8be1 | 94 | struct nb_cb_get_elem_args *args); |
6c574029 RW |
95 | struct yang_data * |
96 | bfdd_bfd_sessions_single_hop_stats_negotiated_receive_interval_get_elem( | |
60ee8be1 | 97 | struct nb_cb_get_elem_args *args); |
6c574029 | 98 | struct yang_data *bfdd_bfd_sessions_single_hop_stats_detection_mode_get_elem( |
60ee8be1 | 99 | struct nb_cb_get_elem_args *args); |
6c574029 | 100 | struct yang_data *bfdd_bfd_sessions_single_hop_stats_last_down_time_get_elem( |
60ee8be1 | 101 | struct nb_cb_get_elem_args *args); |
6c574029 | 102 | struct yang_data *bfdd_bfd_sessions_single_hop_stats_last_up_time_get_elem( |
60ee8be1 | 103 | struct nb_cb_get_elem_args *args); |
6c574029 RW |
104 | struct yang_data * |
105 | bfdd_bfd_sessions_single_hop_stats_session_down_count_get_elem( | |
60ee8be1 | 106 | struct nb_cb_get_elem_args *args); |
6c574029 | 107 | struct yang_data *bfdd_bfd_sessions_single_hop_stats_session_up_count_get_elem( |
60ee8be1 | 108 | struct nb_cb_get_elem_args *args); |
6c574029 RW |
109 | struct yang_data * |
110 | bfdd_bfd_sessions_single_hop_stats_control_packet_input_count_get_elem( | |
60ee8be1 | 111 | struct nb_cb_get_elem_args *args); |
6c574029 RW |
112 | struct yang_data * |
113 | bfdd_bfd_sessions_single_hop_stats_control_packet_output_count_get_elem( | |
60ee8be1 | 114 | struct nb_cb_get_elem_args *args); |
6c574029 RW |
115 | struct yang_data * |
116 | bfdd_bfd_sessions_single_hop_stats_negotiated_echo_transmission_interval_get_elem( | |
60ee8be1 | 117 | struct nb_cb_get_elem_args *args); |
6c574029 RW |
118 | struct yang_data * |
119 | bfdd_bfd_sessions_single_hop_stats_echo_packet_input_count_get_elem( | |
60ee8be1 | 120 | struct nb_cb_get_elem_args *args); |
6c574029 RW |
121 | struct yang_data * |
122 | bfdd_bfd_sessions_single_hop_stats_echo_packet_output_count_get_elem( | |
60ee8be1 RW |
123 | struct nb_cb_get_elem_args *args); |
124 | int bfdd_bfd_sessions_multi_hop_create(struct nb_cb_create_args *args); | |
125 | int bfdd_bfd_sessions_multi_hop_destroy(struct nb_cb_destroy_args *args); | |
126 | const void * | |
127 | bfdd_bfd_sessions_multi_hop_get_next(struct nb_cb_get_next_args *args); | |
128 | int bfdd_bfd_sessions_multi_hop_get_keys(struct nb_cb_get_keys_args *args); | |
6c574029 | 129 | const void * |
60ee8be1 | 130 | bfdd_bfd_sessions_multi_hop_lookup_entry(struct nb_cb_lookup_entry_args *args); |
6c574029 | 131 | int bfdd_bfd_sessions_multi_hop_detection_multiplier_modify( |
60ee8be1 | 132 | struct nb_cb_modify_args *args); |
6c574029 | 133 | int bfdd_bfd_sessions_multi_hop_desired_transmission_interval_modify( |
60ee8be1 | 134 | struct nb_cb_modify_args *args); |
6c574029 | 135 | int bfdd_bfd_sessions_multi_hop_required_receive_interval_modify( |
60ee8be1 | 136 | struct nb_cb_modify_args *args); |
6c574029 | 137 | int bfdd_bfd_sessions_multi_hop_administrative_down_modify( |
60ee8be1 | 138 | struct nb_cb_modify_args *args); |
262e1d25 RZ |
139 | int bfdd_bfd_sessions_multi_hop_minimum_ttl_modify( |
140 | struct nb_cb_modify_args *args); | |
141 | int bfdd_bfd_sessions_multi_hop_minimum_ttl_destroy( | |
142 | struct nb_cb_destroy_args *args); | |
6c574029 RW |
143 | struct yang_data * |
144 | bfdd_bfd_sessions_multi_hop_stats_local_discriminator_get_elem( | |
60ee8be1 RW |
145 | struct nb_cb_get_elem_args *args); |
146 | struct yang_data *bfdd_bfd_sessions_multi_hop_stats_local_state_get_elem( | |
147 | struct nb_cb_get_elem_args *args); | |
6c574029 | 148 | struct yang_data *bfdd_bfd_sessions_multi_hop_stats_local_diagnostic_get_elem( |
60ee8be1 | 149 | struct nb_cb_get_elem_args *args); |
6c574029 | 150 | struct yang_data *bfdd_bfd_sessions_multi_hop_stats_local_multiplier_get_elem( |
60ee8be1 | 151 | struct nb_cb_get_elem_args *args); |
6c574029 RW |
152 | struct yang_data * |
153 | bfdd_bfd_sessions_multi_hop_stats_remote_discriminator_get_elem( | |
60ee8be1 RW |
154 | struct nb_cb_get_elem_args *args); |
155 | struct yang_data *bfdd_bfd_sessions_multi_hop_stats_remote_state_get_elem( | |
156 | struct nb_cb_get_elem_args *args); | |
6c574029 | 157 | struct yang_data *bfdd_bfd_sessions_multi_hop_stats_remote_diagnostic_get_elem( |
60ee8be1 | 158 | struct nb_cb_get_elem_args *args); |
6c574029 | 159 | struct yang_data *bfdd_bfd_sessions_multi_hop_stats_remote_multiplier_get_elem( |
60ee8be1 | 160 | struct nb_cb_get_elem_args *args); |
6c574029 RW |
161 | struct yang_data * |
162 | bfdd_bfd_sessions_multi_hop_stats_negotiated_transmission_interval_get_elem( | |
60ee8be1 | 163 | struct nb_cb_get_elem_args *args); |
6c574029 RW |
164 | struct yang_data * |
165 | bfdd_bfd_sessions_multi_hop_stats_negotiated_receive_interval_get_elem( | |
60ee8be1 | 166 | struct nb_cb_get_elem_args *args); |
6c574029 | 167 | struct yang_data *bfdd_bfd_sessions_multi_hop_stats_detection_mode_get_elem( |
60ee8be1 | 168 | struct nb_cb_get_elem_args *args); |
6c574029 | 169 | struct yang_data *bfdd_bfd_sessions_multi_hop_stats_last_down_time_get_elem( |
60ee8be1 RW |
170 | struct nb_cb_get_elem_args *args); |
171 | struct yang_data *bfdd_bfd_sessions_multi_hop_stats_last_up_time_get_elem( | |
172 | struct nb_cb_get_elem_args *args); | |
6c574029 | 173 | struct yang_data *bfdd_bfd_sessions_multi_hop_stats_session_down_count_get_elem( |
60ee8be1 | 174 | struct nb_cb_get_elem_args *args); |
6c574029 | 175 | struct yang_data *bfdd_bfd_sessions_multi_hop_stats_session_up_count_get_elem( |
60ee8be1 | 176 | struct nb_cb_get_elem_args *args); |
6c574029 RW |
177 | struct yang_data * |
178 | bfdd_bfd_sessions_multi_hop_stats_control_packet_input_count_get_elem( | |
60ee8be1 | 179 | struct nb_cb_get_elem_args *args); |
6c574029 RW |
180 | struct yang_data * |
181 | bfdd_bfd_sessions_multi_hop_stats_control_packet_output_count_get_elem( | |
60ee8be1 | 182 | struct nb_cb_get_elem_args *args); |
6c574029 RW |
183 | struct yang_data * |
184 | bfdd_bfd_sessions_multi_hop_stats_negotiated_echo_transmission_interval_get_elem( | |
60ee8be1 | 185 | struct nb_cb_get_elem_args *args); |
6c574029 RW |
186 | struct yang_data * |
187 | bfdd_bfd_sessions_multi_hop_stats_echo_packet_input_count_get_elem( | |
60ee8be1 | 188 | struct nb_cb_get_elem_args *args); |
6c574029 RW |
189 | struct yang_data * |
190 | bfdd_bfd_sessions_multi_hop_stats_echo_packet_output_count_get_elem( | |
60ee8be1 | 191 | struct nb_cb_get_elem_args *args); |
6c574029 RW |
192 | |
193 | /* Optional 'cli_show' callbacks. */ | |
194 | void bfd_cli_show_header(struct vty *vty, struct lyd_node *dnode, | |
195 | bool show_defaults); | |
196 | void bfd_cli_show_header_end(struct vty *vty, struct lyd_node *dnode); | |
197 | void bfd_cli_show_single_hop_peer(struct vty *vty, struct lyd_node *dnode, | |
198 | bool show_defaults); | |
199 | void bfd_cli_show_multi_hop_peer(struct vty *vty, struct lyd_node *dnode, | |
200 | bool show_defaults); | |
201 | void bfd_cli_show_peer_end(struct vty *vty, struct lyd_node *dnode); | |
202 | void bfd_cli_show_mult(struct vty *vty, struct lyd_node *dnode, | |
203 | bool show_defaults); | |
204 | void bfd_cli_show_tx(struct vty *vty, struct lyd_node *dnode, | |
205 | bool show_defaults); | |
206 | void bfd_cli_show_rx(struct vty *vty, struct lyd_node *dnode, | |
207 | bool show_defaults); | |
208 | void bfd_cli_show_shutdown(struct vty *vty, struct lyd_node *dnode, | |
209 | bool show_defaults); | |
210 | void bfd_cli_show_echo(struct vty *vty, struct lyd_node *dnode, | |
211 | bool show_defaults); | |
212 | void bfd_cli_show_echo_interval(struct vty *vty, struct lyd_node *dnode, | |
213 | bool show_defaults); | |
ccc9ada8 RZ |
214 | void bfd_cli_show_profile(struct vty *vty, struct lyd_node *dnode, |
215 | bool show_defaults); | |
216 | void bfd_cli_peer_profile_show(struct vty *vty, struct lyd_node *dnode, | |
217 | bool show_defaults); | |
1a2e2fff RZ |
218 | void bfd_cli_show_passive(struct vty *vty, struct lyd_node *dnode, |
219 | bool show_defaults); | |
262e1d25 RZ |
220 | void bfd_cli_show_minimum_ttl(struct vty *vty, struct lyd_node *dnode, |
221 | bool show_defaults); | |
6c574029 RW |
222 | |
223 | #endif /* _FRR_BFDD_NB_H_ */ |