]>
Commit | Line | Data |
---|---|---|
2a1c520e RW |
1 | /* |
2 | * Copyright (C) 2018 Volta Networks | |
3 | * Emanuele Di Pascale | |
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 | #ifndef ISISD_ISIS_NB_H_ | |
21 | #define ISISD_ISIS_NB_H_ | |
22 | ||
23 | extern const struct frr_yang_module_info frr_isisd_info; | |
24 | ||
25 | /* Forward declaration(s). */ | |
26 | struct isis_area; | |
27 | struct isis_circuit; | |
28 | struct isis_adjacency; | |
29 | ||
30 | /* Mandatory callbacks. */ | |
60ee8be1 RW |
31 | int isis_instance_create(struct nb_cb_create_args *args); |
32 | int isis_instance_destroy(struct nb_cb_destroy_args *args); | |
33 | int isis_instance_is_type_modify(struct nb_cb_modify_args *args); | |
34 | int isis_instance_area_address_create(struct nb_cb_create_args *args); | |
35 | int isis_instance_area_address_destroy(struct nb_cb_destroy_args *args); | |
36 | int isis_instance_dynamic_hostname_modify(struct nb_cb_modify_args *args); | |
f3abc412 | 37 | int isis_instance_attached_send_modify(struct nb_cb_modify_args *args); |
38 | int isis_instance_attached_receive_modify(struct nb_cb_modify_args *args); | |
60ee8be1 RW |
39 | int isis_instance_attached_modify(struct nb_cb_modify_args *args); |
40 | int isis_instance_overload_modify(struct nb_cb_modify_args *args); | |
41 | int isis_instance_metric_style_modify(struct nb_cb_modify_args *args); | |
42 | int isis_instance_purge_originator_modify(struct nb_cb_modify_args *args); | |
43 | int isis_instance_lsp_mtu_modify(struct nb_cb_modify_args *args); | |
2a1c520e | 44 | int isis_instance_lsp_refresh_interval_level_1_modify( |
60ee8be1 | 45 | struct nb_cb_modify_args *args); |
2a1c520e | 46 | int isis_instance_lsp_refresh_interval_level_2_modify( |
60ee8be1 | 47 | struct nb_cb_modify_args *args); |
2a1c520e | 48 | int isis_instance_lsp_maximum_lifetime_level_1_modify( |
60ee8be1 | 49 | struct nb_cb_modify_args *args); |
2a1c520e | 50 | int isis_instance_lsp_maximum_lifetime_level_2_modify( |
60ee8be1 | 51 | struct nb_cb_modify_args *args); |
2a1c520e | 52 | int isis_instance_lsp_generation_interval_level_1_modify( |
60ee8be1 | 53 | struct nb_cb_modify_args *args); |
2a1c520e | 54 | int isis_instance_lsp_generation_interval_level_2_modify( |
60ee8be1 RW |
55 | struct nb_cb_modify_args *args); |
56 | int isis_instance_spf_ietf_backoff_delay_create(struct nb_cb_create_args *args); | |
57 | int isis_instance_spf_ietf_backoff_delay_destroy( | |
58 | struct nb_cb_destroy_args *args); | |
2a1c520e | 59 | int isis_instance_spf_ietf_backoff_delay_init_delay_modify( |
60ee8be1 | 60 | struct nb_cb_modify_args *args); |
2a1c520e | 61 | int isis_instance_spf_ietf_backoff_delay_short_delay_modify( |
60ee8be1 | 62 | struct nb_cb_modify_args *args); |
2a1c520e | 63 | int isis_instance_spf_ietf_backoff_delay_long_delay_modify( |
60ee8be1 | 64 | struct nb_cb_modify_args *args); |
2a1c520e | 65 | int isis_instance_spf_ietf_backoff_delay_hold_down_modify( |
60ee8be1 | 66 | struct nb_cb_modify_args *args); |
2a1c520e | 67 | int isis_instance_spf_ietf_backoff_delay_time_to_learn_modify( |
60ee8be1 | 68 | struct nb_cb_modify_args *args); |
2a1c520e | 69 | int isis_instance_spf_minimum_interval_level_1_modify( |
60ee8be1 | 70 | struct nb_cb_modify_args *args); |
2a1c520e | 71 | int isis_instance_spf_minimum_interval_level_2_modify( |
60ee8be1 | 72 | struct nb_cb_modify_args *args); |
d20b14bc RW |
73 | int isis_instance_spf_prefix_priorities_critical_access_list_name_modify( |
74 | struct nb_cb_modify_args *args); | |
75 | int isis_instance_spf_prefix_priorities_critical_access_list_name_destroy( | |
76 | struct nb_cb_destroy_args *args); | |
77 | int isis_instance_spf_prefix_priorities_high_access_list_name_modify( | |
78 | struct nb_cb_modify_args *args); | |
79 | int isis_instance_spf_prefix_priorities_high_access_list_name_destroy( | |
80 | struct nb_cb_destroy_args *args); | |
81 | int isis_instance_spf_prefix_priorities_medium_access_list_name_modify( | |
82 | struct nb_cb_modify_args *args); | |
83 | int isis_instance_spf_prefix_priorities_medium_access_list_name_destroy( | |
84 | struct nb_cb_destroy_args *args); | |
60ee8be1 RW |
85 | int isis_instance_area_password_create(struct nb_cb_create_args *args); |
86 | int isis_instance_area_password_destroy(struct nb_cb_destroy_args *args); | |
87 | int isis_instance_area_password_password_modify(struct nb_cb_modify_args *args); | |
2a1c520e | 88 | int isis_instance_area_password_password_type_modify( |
60ee8be1 | 89 | struct nb_cb_modify_args *args); |
2a1c520e | 90 | int isis_instance_area_password_authenticate_snp_modify( |
60ee8be1 RW |
91 | struct nb_cb_modify_args *args); |
92 | int isis_instance_domain_password_create(struct nb_cb_create_args *args); | |
93 | int isis_instance_domain_password_destroy(struct nb_cb_destroy_args *args); | |
94 | int isis_instance_domain_password_password_modify( | |
95 | struct nb_cb_modify_args *args); | |
2a1c520e | 96 | int isis_instance_domain_password_password_type_modify( |
60ee8be1 | 97 | struct nb_cb_modify_args *args); |
2a1c520e | 98 | int isis_instance_domain_password_authenticate_snp_modify( |
60ee8be1 | 99 | struct nb_cb_modify_args *args); |
2a1c520e | 100 | int isis_instance_default_information_originate_ipv4_create( |
60ee8be1 | 101 | struct nb_cb_create_args *args); |
2a1c520e | 102 | int isis_instance_default_information_originate_ipv4_destroy( |
60ee8be1 | 103 | struct nb_cb_destroy_args *args); |
2a1c520e | 104 | int isis_instance_default_information_originate_ipv4_always_modify( |
60ee8be1 | 105 | struct nb_cb_modify_args *args); |
2a1c520e | 106 | int isis_instance_default_information_originate_ipv4_route_map_modify( |
60ee8be1 | 107 | struct nb_cb_modify_args *args); |
2a1c520e | 108 | int isis_instance_default_information_originate_ipv4_route_map_destroy( |
60ee8be1 | 109 | struct nb_cb_destroy_args *args); |
2a1c520e | 110 | int isis_instance_default_information_originate_ipv4_metric_modify( |
60ee8be1 | 111 | struct nb_cb_modify_args *args); |
2a1c520e | 112 | int isis_instance_default_information_originate_ipv6_create( |
60ee8be1 | 113 | struct nb_cb_create_args *args); |
2a1c520e | 114 | int isis_instance_default_information_originate_ipv6_destroy( |
60ee8be1 | 115 | struct nb_cb_destroy_args *args); |
2a1c520e | 116 | int isis_instance_default_information_originate_ipv6_always_modify( |
60ee8be1 | 117 | struct nb_cb_modify_args *args); |
2a1c520e | 118 | int isis_instance_default_information_originate_ipv6_route_map_modify( |
60ee8be1 | 119 | struct nb_cb_modify_args *args); |
2a1c520e | 120 | int isis_instance_default_information_originate_ipv6_route_map_destroy( |
60ee8be1 | 121 | struct nb_cb_destroy_args *args); |
2a1c520e | 122 | int isis_instance_default_information_originate_ipv6_metric_modify( |
60ee8be1 RW |
123 | struct nb_cb_modify_args *args); |
124 | int isis_instance_redistribute_ipv4_create(struct nb_cb_create_args *args); | |
125 | int isis_instance_redistribute_ipv4_destroy(struct nb_cb_destroy_args *args); | |
2a1c520e | 126 | int isis_instance_redistribute_ipv4_route_map_modify( |
60ee8be1 | 127 | struct nb_cb_modify_args *args); |
2a1c520e | 128 | int isis_instance_redistribute_ipv4_route_map_destroy( |
60ee8be1 RW |
129 | struct nb_cb_destroy_args *args); |
130 | int isis_instance_redistribute_ipv4_metric_modify( | |
131 | struct nb_cb_modify_args *args); | |
132 | int isis_instance_redistribute_ipv6_create(struct nb_cb_create_args *args); | |
133 | int isis_instance_redistribute_ipv6_destroy(struct nb_cb_destroy_args *args); | |
2a1c520e | 134 | int isis_instance_redistribute_ipv6_route_map_modify( |
60ee8be1 | 135 | struct nb_cb_modify_args *args); |
2a1c520e | 136 | int isis_instance_redistribute_ipv6_route_map_destroy( |
60ee8be1 RW |
137 | struct nb_cb_destroy_args *args); |
138 | int isis_instance_redistribute_ipv6_metric_modify( | |
139 | struct nb_cb_modify_args *args); | |
2a1c520e | 140 | int isis_instance_multi_topology_ipv4_multicast_create( |
60ee8be1 | 141 | struct nb_cb_create_args *args); |
2a1c520e | 142 | int isis_instance_multi_topology_ipv4_multicast_destroy( |
60ee8be1 | 143 | struct nb_cb_destroy_args *args); |
2a1c520e | 144 | int isis_instance_multi_topology_ipv4_multicast_overload_modify( |
60ee8be1 | 145 | struct nb_cb_modify_args *args); |
2a1c520e | 146 | int isis_instance_multi_topology_ipv4_management_create( |
60ee8be1 | 147 | struct nb_cb_create_args *args); |
2a1c520e | 148 | int isis_instance_multi_topology_ipv4_management_destroy( |
60ee8be1 | 149 | struct nb_cb_destroy_args *args); |
2a1c520e | 150 | int isis_instance_multi_topology_ipv4_management_overload_modify( |
60ee8be1 | 151 | struct nb_cb_modify_args *args); |
2a1c520e | 152 | int isis_instance_multi_topology_ipv6_unicast_create( |
60ee8be1 | 153 | struct nb_cb_create_args *args); |
2a1c520e | 154 | int isis_instance_multi_topology_ipv6_unicast_destroy( |
60ee8be1 | 155 | struct nb_cb_destroy_args *args); |
2a1c520e | 156 | int isis_instance_multi_topology_ipv6_unicast_overload_modify( |
60ee8be1 | 157 | struct nb_cb_modify_args *args); |
2a1c520e | 158 | int isis_instance_multi_topology_ipv6_multicast_create( |
60ee8be1 | 159 | struct nb_cb_create_args *args); |
2a1c520e | 160 | int isis_instance_multi_topology_ipv6_multicast_destroy( |
60ee8be1 | 161 | struct nb_cb_destroy_args *args); |
2a1c520e | 162 | int isis_instance_multi_topology_ipv6_multicast_overload_modify( |
60ee8be1 | 163 | struct nb_cb_modify_args *args); |
2a1c520e | 164 | int isis_instance_multi_topology_ipv6_management_create( |
60ee8be1 | 165 | struct nb_cb_create_args *args); |
2a1c520e | 166 | int isis_instance_multi_topology_ipv6_management_destroy( |
60ee8be1 | 167 | struct nb_cb_destroy_args *args); |
2a1c520e | 168 | int isis_instance_multi_topology_ipv6_management_overload_modify( |
60ee8be1 | 169 | struct nb_cb_modify_args *args); |
2a1c520e | 170 | int isis_instance_multi_topology_ipv6_dstsrc_create( |
60ee8be1 | 171 | struct nb_cb_create_args *args); |
2a1c520e | 172 | int isis_instance_multi_topology_ipv6_dstsrc_destroy( |
60ee8be1 | 173 | struct nb_cb_destroy_args *args); |
2a1c520e | 174 | int isis_instance_multi_topology_ipv6_dstsrc_overload_modify( |
60ee8be1 | 175 | struct nb_cb_modify_args *args); |
d20b14bc RW |
176 | int isis_instance_fast_reroute_level_1_lfa_load_sharing_modify( |
177 | struct nb_cb_modify_args *args); | |
178 | int isis_instance_fast_reroute_level_1_lfa_priority_limit_modify( | |
179 | struct nb_cb_modify_args *args); | |
180 | int isis_instance_fast_reroute_level_1_lfa_priority_limit_destroy( | |
181 | struct nb_cb_destroy_args *args); | |
182 | int isis_instance_fast_reroute_level_1_lfa_tiebreaker_create( | |
183 | struct nb_cb_create_args *args); | |
184 | int isis_instance_fast_reroute_level_1_lfa_tiebreaker_destroy( | |
185 | struct nb_cb_destroy_args *args); | |
186 | int isis_instance_fast_reroute_level_1_lfa_tiebreaker_type_modify( | |
187 | struct nb_cb_modify_args *args); | |
381200be RW |
188 | int isis_instance_fast_reroute_level_1_remote_lfa_prefix_list_modify( |
189 | struct nb_cb_modify_args *args); | |
190 | int isis_instance_fast_reroute_level_1_remote_lfa_prefix_list_destroy( | |
191 | struct nb_cb_destroy_args *args); | |
d20b14bc RW |
192 | int isis_instance_fast_reroute_level_2_lfa_load_sharing_modify( |
193 | struct nb_cb_modify_args *args); | |
194 | int isis_instance_fast_reroute_level_2_lfa_priority_limit_modify( | |
195 | struct nb_cb_modify_args *args); | |
196 | int isis_instance_fast_reroute_level_2_lfa_priority_limit_destroy( | |
197 | struct nb_cb_destroy_args *args); | |
198 | int isis_instance_fast_reroute_level_2_lfa_tiebreaker_create( | |
199 | struct nb_cb_create_args *args); | |
200 | int isis_instance_fast_reroute_level_2_lfa_tiebreaker_destroy( | |
201 | struct nb_cb_destroy_args *args); | |
202 | int isis_instance_fast_reroute_level_2_lfa_tiebreaker_type_modify( | |
203 | struct nb_cb_modify_args *args); | |
381200be RW |
204 | int isis_instance_fast_reroute_level_2_remote_lfa_prefix_list_modify( |
205 | struct nb_cb_modify_args *args); | |
206 | int isis_instance_fast_reroute_level_2_remote_lfa_prefix_list_destroy( | |
207 | struct nb_cb_destroy_args *args); | |
60ee8be1 RW |
208 | int isis_instance_log_adjacency_changes_modify(struct nb_cb_modify_args *args); |
209 | int isis_instance_mpls_te_create(struct nb_cb_create_args *args); | |
210 | int isis_instance_mpls_te_destroy(struct nb_cb_destroy_args *args); | |
211 | int isis_instance_mpls_te_router_address_modify(struct nb_cb_modify_args *args); | |
212 | int isis_instance_mpls_te_router_address_destroy( | |
213 | struct nb_cb_destroy_args *args); | |
214 | int lib_interface_isis_create(struct nb_cb_create_args *args); | |
215 | int lib_interface_isis_destroy(struct nb_cb_destroy_args *args); | |
216 | int lib_interface_isis_area_tag_modify(struct nb_cb_modify_args *args); | |
217 | int lib_interface_isis_ipv4_routing_modify(struct nb_cb_modify_args *args); | |
218 | int lib_interface_isis_ipv6_routing_modify(struct nb_cb_modify_args *args); | |
219 | int lib_interface_isis_circuit_type_modify(struct nb_cb_modify_args *args); | |
4affdba7 G |
220 | void lib_interface_isis_bfd_monitoring_apply_finish( |
221 | struct nb_cb_apply_finish_args *args); | |
222 | int lib_interface_isis_bfd_monitoring_enabled_modify( | |
223 | struct nb_cb_modify_args *args); | |
224 | int lib_interface_isis_bfd_monitoring_profile_modify( | |
225 | struct nb_cb_modify_args *args); | |
226 | int lib_interface_isis_bfd_monitoring_profile_destroy( | |
227 | struct nb_cb_destroy_args *args); | |
7e405d3b RW |
228 | int isis_instance_segment_routing_enabled_modify( |
229 | struct nb_cb_modify_args *args); | |
230 | int isis_instance_segment_routing_enabled_modify( | |
231 | struct nb_cb_modify_args *args); | |
232 | int isis_instance_segment_routing_srgb_lower_bound_modify( | |
233 | struct nb_cb_modify_args *args); | |
234 | int isis_instance_segment_routing_srgb_upper_bound_modify( | |
235 | struct nb_cb_modify_args *args); | |
d8391312 OD |
236 | int isis_instance_segment_routing_srlb_lower_bound_modify( |
237 | struct nb_cb_modify_args *args); | |
238 | int isis_instance_segment_routing_srlb_upper_bound_modify( | |
239 | struct nb_cb_modify_args *args); | |
7e405d3b RW |
240 | int isis_instance_segment_routing_msd_node_msd_modify( |
241 | struct nb_cb_modify_args *args); | |
242 | int isis_instance_segment_routing_msd_node_msd_destroy( | |
26f6acaf | 243 | struct nb_cb_destroy_args *args); |
7e405d3b | 244 | int isis_instance_segment_routing_prefix_sid_map_prefix_sid_create( |
26f6acaf | 245 | struct nb_cb_create_args *args); |
7e405d3b | 246 | int isis_instance_segment_routing_prefix_sid_map_prefix_sid_destroy( |
26f6acaf | 247 | struct nb_cb_destroy_args *args); |
7e405d3b RW |
248 | int isis_instance_segment_routing_prefix_sid_map_prefix_sid_sid_value_type_modify( |
249 | struct nb_cb_modify_args *args); | |
250 | int isis_instance_segment_routing_prefix_sid_map_prefix_sid_sid_value_modify( | |
251 | struct nb_cb_modify_args *args); | |
252 | int isis_instance_segment_routing_prefix_sid_map_prefix_sid_last_hop_behavior_modify( | |
253 | struct nb_cb_modify_args *args); | |
01983712 RW |
254 | int isis_instance_segment_routing_prefix_sid_map_prefix_sid_n_flag_clear_modify( |
255 | struct nb_cb_modify_args *args); | |
1cbf96a8 | 256 | int isis_instance_mpls_ldp_sync_destroy(struct nb_cb_destroy_args *args); |
257 | int isis_instance_mpls_ldp_sync_create(struct nb_cb_create_args *args); | |
258 | int isis_instance_mpls_ldp_sync_holddown_modify(struct nb_cb_modify_args *args); | |
2a1c520e | 259 | int lib_interface_isis_csnp_interval_level_1_modify( |
60ee8be1 | 260 | struct nb_cb_modify_args *args); |
2a1c520e | 261 | int lib_interface_isis_csnp_interval_level_2_modify( |
60ee8be1 | 262 | struct nb_cb_modify_args *args); |
2a1c520e | 263 | int lib_interface_isis_psnp_interval_level_1_modify( |
60ee8be1 | 264 | struct nb_cb_modify_args *args); |
2a1c520e | 265 | int lib_interface_isis_psnp_interval_level_2_modify( |
60ee8be1 RW |
266 | struct nb_cb_modify_args *args); |
267 | int lib_interface_isis_hello_padding_modify(struct nb_cb_modify_args *args); | |
2a1c520e | 268 | int lib_interface_isis_hello_interval_level_1_modify( |
60ee8be1 | 269 | struct nb_cb_modify_args *args); |
2a1c520e | 270 | int lib_interface_isis_hello_interval_level_2_modify( |
60ee8be1 | 271 | struct nb_cb_modify_args *args); |
2a1c520e | 272 | int lib_interface_isis_hello_multiplier_level_1_modify( |
60ee8be1 | 273 | struct nb_cb_modify_args *args); |
2a1c520e | 274 | int lib_interface_isis_hello_multiplier_level_2_modify( |
60ee8be1 RW |
275 | struct nb_cb_modify_args *args); |
276 | int lib_interface_isis_metric_level_1_modify(struct nb_cb_modify_args *args); | |
277 | int lib_interface_isis_metric_level_2_modify(struct nb_cb_modify_args *args); | |
278 | int lib_interface_isis_priority_level_1_modify(struct nb_cb_modify_args *args); | |
279 | int lib_interface_isis_priority_level_2_modify(struct nb_cb_modify_args *args); | |
280 | int lib_interface_isis_network_type_modify(struct nb_cb_modify_args *args); | |
281 | int lib_interface_isis_passive_modify(struct nb_cb_modify_args *args); | |
282 | int lib_interface_isis_password_create(struct nb_cb_create_args *args); | |
283 | int lib_interface_isis_password_destroy(struct nb_cb_destroy_args *args); | |
284 | int lib_interface_isis_password_password_modify(struct nb_cb_modify_args *args); | |
2a1c520e | 285 | int lib_interface_isis_password_password_type_modify( |
60ee8be1 | 286 | struct nb_cb_modify_args *args); |
2a1c520e | 287 | int lib_interface_isis_disable_three_way_handshake_modify( |
60ee8be1 | 288 | struct nb_cb_modify_args *args); |
2a1c520e | 289 | int lib_interface_isis_multi_topology_ipv4_unicast_modify( |
60ee8be1 | 290 | struct nb_cb_modify_args *args); |
2a1c520e | 291 | int lib_interface_isis_multi_topology_ipv4_multicast_modify( |
60ee8be1 | 292 | struct nb_cb_modify_args *args); |
2a1c520e | 293 | int lib_interface_isis_multi_topology_ipv4_management_modify( |
60ee8be1 | 294 | struct nb_cb_modify_args *args); |
2a1c520e | 295 | int lib_interface_isis_multi_topology_ipv6_unicast_modify( |
60ee8be1 | 296 | struct nb_cb_modify_args *args); |
2a1c520e | 297 | int lib_interface_isis_multi_topology_ipv6_multicast_modify( |
60ee8be1 | 298 | struct nb_cb_modify_args *args); |
2a1c520e | 299 | int lib_interface_isis_multi_topology_ipv6_management_modify( |
60ee8be1 | 300 | struct nb_cb_modify_args *args); |
2a1c520e | 301 | int lib_interface_isis_multi_topology_ipv6_dstsrc_modify( |
60ee8be1 | 302 | struct nb_cb_modify_args *args); |
1cbf96a8 | 303 | int lib_interface_isis_mpls_ldp_sync_modify(struct nb_cb_modify_args *args); |
304 | int lib_interface_isis_mpls_holddown_modify(struct nb_cb_modify_args *args); | |
305 | int lib_interface_isis_mpls_holddown_destroy(struct nb_cb_destroy_args *args); | |
d20b14bc RW |
306 | int lib_interface_isis_fast_reroute_level_1_lfa_enable_modify( |
307 | struct nb_cb_modify_args *args); | |
308 | int lib_interface_isis_fast_reroute_level_1_lfa_exclude_interface_create( | |
309 | struct nb_cb_create_args *args); | |
310 | int lib_interface_isis_fast_reroute_level_1_lfa_exclude_interface_destroy( | |
311 | struct nb_cb_destroy_args *args); | |
381200be RW |
312 | int lib_interface_isis_fast_reroute_level_1_remote_lfa_enable_modify( |
313 | struct nb_cb_modify_args *args); | |
314 | int lib_interface_isis_fast_reroute_level_1_remote_lfa_maximum_metric_modify( | |
315 | struct nb_cb_modify_args *args); | |
316 | int lib_interface_isis_fast_reroute_level_1_remote_lfa_maximum_metric_destroy( | |
317 | struct nb_cb_destroy_args *args); | |
ed5d7032 RW |
318 | int lib_interface_isis_fast_reroute_level_1_ti_lfa_enable_modify( |
319 | struct nb_cb_modify_args *args); | |
320 | int lib_interface_isis_fast_reroute_level_1_ti_lfa_node_protection_modify( | |
321 | struct nb_cb_modify_args *args); | |
ce4eccfa FR |
322 | int lib_interface_isis_fast_reroute_level_1_ti_lfa_link_fallback_modify( |
323 | struct nb_cb_modify_args *args); | |
d20b14bc RW |
324 | int lib_interface_isis_fast_reroute_level_2_lfa_enable_modify( |
325 | struct nb_cb_modify_args *args); | |
326 | int lib_interface_isis_fast_reroute_level_2_lfa_exclude_interface_create( | |
327 | struct nb_cb_create_args *args); | |
328 | int lib_interface_isis_fast_reroute_level_2_lfa_exclude_interface_destroy( | |
329 | struct nb_cb_destroy_args *args); | |
381200be RW |
330 | int lib_interface_isis_fast_reroute_level_2_remote_lfa_enable_modify( |
331 | struct nb_cb_modify_args *args); | |
332 | int lib_interface_isis_fast_reroute_level_2_remote_lfa_maximum_metric_modify( | |
333 | struct nb_cb_modify_args *args); | |
334 | int lib_interface_isis_fast_reroute_level_2_remote_lfa_maximum_metric_destroy( | |
335 | struct nb_cb_destroy_args *args); | |
ed5d7032 RW |
336 | int lib_interface_isis_fast_reroute_level_2_ti_lfa_enable_modify( |
337 | struct nb_cb_modify_args *args); | |
338 | int lib_interface_isis_fast_reroute_level_2_ti_lfa_node_protection_modify( | |
339 | struct nb_cb_modify_args *args); | |
ce4eccfa FR |
340 | int lib_interface_isis_fast_reroute_level_2_ti_lfa_link_fallback_modify( |
341 | struct nb_cb_modify_args *args); | |
27171928 RW |
342 | struct yang_data * |
343 | lib_interface_state_isis_get_elem(struct nb_cb_get_elem_args *args); | |
344 | const void *lib_interface_state_isis_adjacencies_adjacency_get_next( | |
60ee8be1 | 345 | struct nb_cb_get_next_args *args); |
2a1c520e | 346 | struct yang_data * |
27171928 | 347 | lib_interface_state_isis_adjacencies_adjacency_neighbor_sys_type_get_elem( |
60ee8be1 | 348 | struct nb_cb_get_elem_args *args); |
2a1c520e | 349 | struct yang_data * |
27171928 | 350 | lib_interface_state_isis_adjacencies_adjacency_neighbor_sysid_get_elem( |
60ee8be1 | 351 | struct nb_cb_get_elem_args *args); |
2a1c520e | 352 | struct yang_data * |
27171928 | 353 | lib_interface_state_isis_adjacencies_adjacency_neighbor_extended_circuit_id_get_elem( |
60ee8be1 | 354 | struct nb_cb_get_elem_args *args); |
2a1c520e | 355 | struct yang_data * |
27171928 | 356 | lib_interface_state_isis_adjacencies_adjacency_neighbor_snpa_get_elem( |
60ee8be1 | 357 | struct nb_cb_get_elem_args *args); |
27171928 RW |
358 | struct yang_data * |
359 | lib_interface_state_isis_adjacencies_adjacency_hold_timer_get_elem( | |
60ee8be1 | 360 | struct nb_cb_get_elem_args *args); |
2a1c520e | 361 | struct yang_data * |
27171928 | 362 | lib_interface_state_isis_adjacencies_adjacency_neighbor_priority_get_elem( |
60ee8be1 | 363 | struct nb_cb_get_elem_args *args); |
27171928 | 364 | struct yang_data *lib_interface_state_isis_adjacencies_adjacency_state_get_elem( |
60ee8be1 | 365 | struct nb_cb_get_elem_args *args); |
27171928 RW |
366 | struct yang_data * |
367 | lib_interface_state_isis_event_counters_adjacency_changes_get_elem( | |
60ee8be1 | 368 | struct nb_cb_get_elem_args *args); |
27171928 RW |
369 | struct yang_data * |
370 | lib_interface_state_isis_event_counters_adjacency_number_get_elem( | |
60ee8be1 | 371 | struct nb_cb_get_elem_args *args); |
27171928 | 372 | struct yang_data *lib_interface_state_isis_event_counters_init_fails_get_elem( |
60ee8be1 | 373 | struct nb_cb_get_elem_args *args); |
27171928 RW |
374 | struct yang_data * |
375 | lib_interface_state_isis_event_counters_adjacency_rejects_get_elem( | |
60ee8be1 | 376 | struct nb_cb_get_elem_args *args); |
27171928 RW |
377 | struct yang_data * |
378 | lib_interface_state_isis_event_counters_id_len_mismatch_get_elem( | |
60ee8be1 | 379 | struct nb_cb_get_elem_args *args); |
2a1c520e | 380 | struct yang_data * |
27171928 | 381 | lib_interface_state_isis_event_counters_max_area_addresses_mismatch_get_elem( |
60ee8be1 | 382 | struct nb_cb_get_elem_args *args); |
2a1c520e | 383 | struct yang_data * |
27171928 | 384 | lib_interface_state_isis_event_counters_authentication_type_fails_get_elem( |
60ee8be1 | 385 | struct nb_cb_get_elem_args *args); |
2a1c520e | 386 | struct yang_data * |
27171928 | 387 | lib_interface_state_isis_event_counters_authentication_fails_get_elem( |
60ee8be1 | 388 | struct nb_cb_get_elem_args *args); |
2a1c520e | 389 | |
26f6acaf RW |
390 | /* Optional 'pre_validate' callbacks. */ |
391 | int isis_instance_segment_routing_prefix_sid_map_prefix_sid_pre_validate( | |
392 | struct nb_cb_pre_validate_args *args); | |
01d43141 | 393 | int isis_instance_segment_routing_label_blocks_pre_validate( |
d8391312 | 394 | struct nb_cb_pre_validate_args *args); |
26f6acaf | 395 | |
2a1c520e | 396 | /* Optional 'apply_finish' callbacks. */ |
60ee8be1 RW |
397 | void ietf_backoff_delay_apply_finish(struct nb_cb_apply_finish_args *args); |
398 | void area_password_apply_finish(struct nb_cb_apply_finish_args *args); | |
399 | void domain_password_apply_finish(struct nb_cb_apply_finish_args *args); | |
2a1c520e | 400 | void default_info_origin_apply_finish(const struct lyd_node *dnode, int family); |
60ee8be1 RW |
401 | void default_info_origin_ipv4_apply_finish( |
402 | struct nb_cb_apply_finish_args *args); | |
403 | void default_info_origin_ipv6_apply_finish( | |
404 | struct nb_cb_apply_finish_args *args); | |
2a1c520e | 405 | void redistribute_apply_finish(const struct lyd_node *dnode, int family); |
60ee8be1 RW |
406 | void redistribute_ipv4_apply_finish(struct nb_cb_apply_finish_args *args); |
407 | void redistribute_ipv6_apply_finish(struct nb_cb_apply_finish_args *args); | |
26f6acaf RW |
408 | void isis_instance_segment_routing_srgb_apply_finish( |
409 | struct nb_cb_apply_finish_args *args); | |
d8391312 OD |
410 | void isis_instance_segment_routing_srlb_apply_finish( |
411 | struct nb_cb_apply_finish_args *args); | |
26f6acaf RW |
412 | void isis_instance_segment_routing_prefix_sid_map_prefix_sid_apply_finish( |
413 | struct nb_cb_apply_finish_args *args); | |
2a1c520e RW |
414 | |
415 | /* Optional 'cli_show' callbacks. */ | |
416 | void cli_show_router_isis(struct vty *vty, struct lyd_node *dnode, | |
417 | bool show_defaults); | |
418 | void cli_show_ip_isis_ipv4(struct vty *vty, struct lyd_node *dnode, | |
419 | bool show_defaults); | |
420 | void cli_show_ip_isis_ipv6(struct vty *vty, struct lyd_node *dnode, | |
421 | bool show_defaults); | |
422 | void cli_show_ip_isis_bfd_monitoring(struct vty *vty, struct lyd_node *dnode, | |
423 | bool show_defaults); | |
424 | void cli_show_isis_area_address(struct vty *vty, struct lyd_node *dnode, | |
425 | bool show_defaults); | |
426 | void cli_show_isis_is_type(struct vty *vty, struct lyd_node *dnode, | |
427 | bool show_defaults); | |
428 | void cli_show_isis_dynamic_hostname(struct vty *vty, struct lyd_node *dnode, | |
429 | bool show_defaults); | |
f3abc412 | 430 | void cli_show_isis_attached_send(struct vty *vty, struct lyd_node *dnode, |
431 | bool show_defaults); | |
432 | void cli_show_isis_attached_receive(struct vty *vty, struct lyd_node *dnode, | |
433 | bool show_defaults); | |
2a1c520e RW |
434 | void cli_show_isis_overload(struct vty *vty, struct lyd_node *dnode, |
435 | bool show_defaults); | |
436 | void cli_show_isis_metric_style(struct vty *vty, struct lyd_node *dnode, | |
437 | bool show_defaults); | |
438 | void cli_show_isis_area_pwd(struct vty *vty, struct lyd_node *dnode, | |
439 | bool show_defaults); | |
440 | void cli_show_isis_domain_pwd(struct vty *vty, struct lyd_node *dnode, | |
441 | bool show_defaults); | |
d2c970ff EDP |
442 | void cli_show_isis_lsp_timers(struct vty *vty, struct lyd_node *dnode, |
443 | bool show_defaults); | |
2a1c520e RW |
444 | void cli_show_isis_lsp_mtu(struct vty *vty, struct lyd_node *dnode, |
445 | bool show_defaults); | |
446 | void cli_show_isis_spf_min_interval(struct vty *vty, struct lyd_node *dnode, | |
447 | bool show_defaults); | |
448 | void cli_show_isis_spf_ietf_backoff(struct vty *vty, struct lyd_node *dnode, | |
449 | bool show_defaults); | |
d20b14bc RW |
450 | void cli_show_isis_spf_prefix_priority(struct vty *vty, struct lyd_node *dnode, |
451 | bool show_defaults); | |
2a1c520e RW |
452 | void cli_show_isis_purge_origin(struct vty *vty, struct lyd_node *dnode, |
453 | bool show_defaults); | |
454 | void cli_show_isis_mpls_te(struct vty *vty, struct lyd_node *dnode, | |
455 | bool show_defaults); | |
456 | void cli_show_isis_mpls_te_router_addr(struct vty *vty, struct lyd_node *dnode, | |
457 | bool show_defaults); | |
458 | void cli_show_isis_def_origin_ipv4(struct vty *vty, struct lyd_node *dnode, | |
459 | bool show_defaults); | |
460 | void cli_show_isis_def_origin_ipv6(struct vty *vty, struct lyd_node *dnode, | |
461 | bool show_defaults); | |
462 | void cli_show_isis_redistribute_ipv4(struct vty *vty, struct lyd_node *dnode, | |
463 | bool show_defaults); | |
464 | void cli_show_isis_redistribute_ipv6(struct vty *vty, struct lyd_node *dnode, | |
465 | bool show_defaults); | |
466 | void cli_show_isis_mt_ipv4_multicast(struct vty *vty, struct lyd_node *dnode, | |
467 | bool show_defaults); | |
468 | void cli_show_isis_mt_ipv4_mgmt(struct vty *vty, struct lyd_node *dnode, | |
469 | bool show_defaults); | |
470 | void cli_show_isis_mt_ipv6_unicast(struct vty *vty, struct lyd_node *dnode, | |
471 | bool show_defaults); | |
472 | void cli_show_isis_mt_ipv6_multicast(struct vty *vty, struct lyd_node *dnode, | |
473 | bool show_defaults); | |
474 | void cli_show_isis_mt_ipv6_mgmt(struct vty *vty, struct lyd_node *dnode, | |
475 | bool show_defaults); | |
476 | void cli_show_isis_mt_ipv6_dstsrc(struct vty *vty, struct lyd_node *dnode, | |
477 | bool show_defaults); | |
8f6c8936 RW |
478 | void cli_show_isis_sr_enabled(struct vty *vty, struct lyd_node *dnode, |
479 | bool show_defaults); | |
01d43141 EDP |
480 | void cli_show_isis_label_blocks(struct vty *vty, struct lyd_node *dnode, |
481 | bool show_defaults); | |
8f6c8936 RW |
482 | void cli_show_isis_node_msd(struct vty *vty, struct lyd_node *dnode, |
483 | bool show_defaults); | |
484 | void cli_show_isis_prefix_sid(struct vty *vty, struct lyd_node *dnode, | |
485 | bool show_defaults); | |
d20b14bc RW |
486 | void cli_show_isis_frr_lfa_priority_limit(struct vty *vty, |
487 | struct lyd_node *dnode, | |
488 | bool show_defaults); | |
489 | void cli_show_isis_frr_lfa_tiebreaker(struct vty *vty, struct lyd_node *dnode, | |
490 | bool show_defaults); | |
491 | void cli_show_isis_frr_lfa_load_sharing(struct vty *vty, struct lyd_node *dnode, | |
492 | bool show_defaults); | |
381200be RW |
493 | void cli_show_isis_frr_remote_lfa_plist(struct vty *vty, struct lyd_node *dnode, |
494 | bool show_defaults); | |
2a1c520e RW |
495 | void cli_show_ip_isis_passive(struct vty *vty, struct lyd_node *dnode, |
496 | bool show_defaults); | |
497 | void cli_show_ip_isis_password(struct vty *vty, struct lyd_node *dnode, | |
498 | bool show_defaults); | |
499 | void cli_show_ip_isis_metric(struct vty *vty, struct lyd_node *dnode, | |
500 | bool show_defaults); | |
501 | void cli_show_ip_isis_hello_interval(struct vty *vty, struct lyd_node *dnode, | |
502 | bool show_defaults); | |
503 | void cli_show_ip_isis_hello_multi(struct vty *vty, struct lyd_node *dnode, | |
504 | bool show_defaults); | |
505 | void cli_show_ip_isis_threeway_shake(struct vty *vty, struct lyd_node *dnode, | |
506 | bool show_defaults); | |
507 | void cli_show_ip_isis_hello_padding(struct vty *vty, struct lyd_node *dnode, | |
508 | bool show_defaults); | |
509 | void cli_show_ip_isis_csnp_interval(struct vty *vty, struct lyd_node *dnode, | |
510 | bool show_defaults); | |
511 | void cli_show_ip_isis_psnp_interval(struct vty *vty, struct lyd_node *dnode, | |
512 | bool show_defaults); | |
513 | void cli_show_ip_isis_mt_ipv4_unicast(struct vty *vty, struct lyd_node *dnode, | |
514 | bool show_defaults); | |
515 | void cli_show_ip_isis_mt_ipv4_multicast(struct vty *vty, struct lyd_node *dnode, | |
516 | bool show_defaults); | |
517 | void cli_show_ip_isis_mt_ipv4_mgmt(struct vty *vty, struct lyd_node *dnode, | |
518 | bool show_defaults); | |
519 | void cli_show_ip_isis_mt_ipv6_unicast(struct vty *vty, struct lyd_node *dnode, | |
520 | bool show_defaults); | |
521 | void cli_show_ip_isis_mt_ipv6_multicast(struct vty *vty, struct lyd_node *dnode, | |
522 | bool show_defaults); | |
523 | void cli_show_ip_isis_mt_ipv6_mgmt(struct vty *vty, struct lyd_node *dnode, | |
524 | bool show_defaults); | |
525 | void cli_show_ip_isis_mt_ipv6_dstsrc(struct vty *vty, struct lyd_node *dnode, | |
526 | bool show_defaults); | |
d20b14bc RW |
527 | void cli_show_ip_isis_frr(struct vty *vty, struct lyd_node *dnode, |
528 | bool show_defaults); | |
529 | void cli_show_frr_lfa_exclude_interface(struct vty *vty, struct lyd_node *dnode, | |
530 | bool show_defaults); | |
381200be RW |
531 | void cli_show_frr_remote_lfa_max_metric(struct vty *vty, struct lyd_node *dnode, |
532 | bool show_defaults); | |
2a1c520e RW |
533 | void cli_show_ip_isis_circ_type(struct vty *vty, struct lyd_node *dnode, |
534 | bool show_defaults); | |
535 | void cli_show_ip_isis_network_type(struct vty *vty, struct lyd_node *dnode, | |
536 | bool show_defaults); | |
537 | void cli_show_ip_isis_priority(struct vty *vty, struct lyd_node *dnode, | |
538 | bool show_defaults); | |
539 | void cli_show_isis_log_adjacency(struct vty *vty, struct lyd_node *dnode, | |
540 | bool show_defaults); | |
1cbf96a8 | 541 | void cli_show_isis_mpls_ldp_sync(struct vty *vty, struct lyd_node *dnode, |
542 | bool show_defaults); | |
543 | void cli_show_isis_mpls_ldp_sync_holddown(struct vty *vty, | |
544 | struct lyd_node *dnode, | |
545 | bool show_defaults); | |
546 | void cli_show_isis_mpls_if_ldp_sync(struct vty *vty, struct lyd_node *dnode, | |
547 | bool show_defaults); | |
548 | void cli_show_isis_mpls_if_ldp_sync_holddown(struct vty *vty, | |
549 | struct lyd_node *dnode, | |
550 | bool show_defaults); | |
2a1c520e RW |
551 | |
552 | /* Notifications. */ | |
553 | void isis_notif_db_overload(const struct isis_area *area, bool overload); | |
554 | void isis_notif_lsp_too_large(const struct isis_circuit *circuit, | |
1ee746d9 | 555 | uint32_t pdu_size, const uint8_t *lsp_id); |
2a1c520e RW |
556 | void isis_notif_if_state_change(const struct isis_circuit *circuit, bool down); |
557 | void isis_notif_corrupted_lsp(const struct isis_area *area, | |
1ee746d9 | 558 | const uint8_t *lsp_id); /* currently unused */ |
2a1c520e | 559 | void isis_notif_lsp_exceed_max(const struct isis_area *area, |
1ee746d9 | 560 | const uint8_t *lsp_id); |
2a1c520e RW |
561 | void isis_notif_max_area_addr_mismatch(const struct isis_circuit *circuit, |
562 | uint8_t max_area_addrs, | |
1ee746d9 | 563 | const char *raw_pdu, size_t raw_pdu_len); |
2a1c520e | 564 | void isis_notif_authentication_type_failure(const struct isis_circuit *circuit, |
1ee746d9 | 565 | const char *raw_pdu, |
566 | size_t raw_pdu_len); | |
2a1c520e | 567 | void isis_notif_authentication_failure(const struct isis_circuit *circuit, |
1ee746d9 | 568 | const char *raw_pdu, size_t raw_pdu_len); |
2a1c520e RW |
569 | void isis_notif_adj_state_change(const struct isis_adjacency *adj, |
570 | int new_state, const char *reason); | |
571 | void isis_notif_reject_adjacency(const struct isis_circuit *circuit, | |
1ee746d9 | 572 | const char *reason, const char *raw_pdu, |
573 | size_t raw_pdu_len); | |
2a1c520e | 574 | void isis_notif_area_mismatch(const struct isis_circuit *circuit, |
1ee746d9 | 575 | const char *raw_pdu, size_t raw_pdu_len); |
2a1c520e | 576 | void isis_notif_lsp_received(const struct isis_circuit *circuit, |
1ee746d9 | 577 | const uint8_t *lsp_id, uint32_t seqno, |
2a1c520e | 578 | uint32_t timestamp, const char *sys_id); |
1ee746d9 | 579 | void isis_notif_lsp_gen(const struct isis_area *area, const uint8_t *lsp_id, |
2a1c520e RW |
580 | uint32_t seqno, uint32_t timestamp); |
581 | void isis_notif_id_len_mismatch(const struct isis_circuit *circuit, | |
1ee746d9 | 582 | uint8_t rcv_id_len, const char *raw_pdu, |
583 | size_t raw_pdu_len); | |
2a1c520e | 584 | void isis_notif_version_skew(const struct isis_circuit *circuit, |
1ee746d9 | 585 | uint8_t version, const char *raw_pdu, |
586 | size_t raw_pdu_len); | |
2a1c520e | 587 | void isis_notif_lsp_error(const struct isis_circuit *circuit, |
1ee746d9 | 588 | const uint8_t *lsp_id, const char *raw_pdu, |
589 | size_t raw_pdu_len, uint32_t offset, | |
590 | uint8_t tlv_type); | |
2a1c520e | 591 | void isis_notif_seqno_skipped(const struct isis_circuit *circuit, |
1ee746d9 | 592 | const uint8_t *lsp_id); |
2a1c520e | 593 | void isis_notif_own_lsp_purge(const struct isis_circuit *circuit, |
1ee746d9 | 594 | const uint8_t *lsp_id); |
595 | ||
596 | /* We also declare hook for every notification */ | |
597 | ||
598 | DECLARE_HOOK(isis_hook_db_overload, (const struct isis_area *area), (area)); | |
599 | DECLARE_HOOK(isis_hook_lsp_too_large, | |
600 | (const struct isis_circuit *circuit, uint32_t pdu_size, | |
601 | const uint8_t *lsp_id), | |
602 | (circuit, pdu_size, lsp_id)); | |
603 | /* Note: no isis_hook_corrupted_lsp - because this notificaiton is not used */ | |
604 | DECLARE_HOOK(isis_hook_lsp_exceed_max, | |
605 | (const struct isis_area *area, const uint8_t *lsp_id), | |
606 | (area, lsp_id)); | |
607 | DECLARE_HOOK(isis_hook_max_area_addr_mismatch, | |
608 | (const struct isis_circuit *circuit, uint8_t max_addrs, | |
609 | const char *raw_pdu, size_t raw_pdu_len), | |
610 | (circuit, max_addrs, raw_pdu, raw_pdu_len)); | |
611 | DECLARE_HOOK(isis_hook_authentication_type_failure, | |
612 | (const struct isis_circuit *circuit, const char *raw_pdu, | |
613 | size_t raw_pdu_len), | |
614 | (circuit, raw_pdu, raw_pdu_len)); | |
615 | DECLARE_HOOK(isis_hook_authentication_failure, | |
616 | (const struct isis_circuit *circuit, const char *raw_pdu, | |
617 | size_t raw_pdu_len), | |
618 | (circuit, raw_pdu, raw_pdu_len)); | |
619 | DECLARE_HOOK(isis_hook_adj_state_change, (const struct isis_adjacency *adj), | |
620 | (adj)); | |
621 | DECLARE_HOOK(isis_hook_reject_adjacency, | |
622 | (const struct isis_circuit *circuit, const char *pdu, | |
623 | size_t pdu_len), | |
624 | (circuit, pdu, pdu_len)); | |
625 | DECLARE_HOOK(isis_hook_area_mismatch, | |
626 | (const struct isis_circuit *circuit, const char *raw_pdu, | |
627 | size_t raw_pdu_len), | |
628 | (circuit)); | |
629 | DECLARE_HOOK(isis_hook_id_len_mismatch, | |
630 | (const struct isis_circuit *circuit, uint8_t rcv_id_len, | |
631 | const char *raw_pdu, size_t raw_pdu_len), | |
632 | (circuit, rcv_id_len, raw_pdu, raw_pdu_len)); | |
633 | DECLARE_HOOK(isis_hook_version_skew, | |
634 | (const struct isis_circuit *circuit, uint8_t version, | |
635 | const char *raw_pdu, size_t raw_pdu_len), | |
636 | (circuit)); | |
637 | DECLARE_HOOK(isis_hook_lsp_error, | |
638 | (const struct isis_circuit *circuit, const uint8_t *lsp_id, | |
639 | const char *raw_pdu, size_t raw_pdu_len), | |
640 | (circuit)); | |
641 | DECLARE_HOOK(isis_hook_seqno_skipped, | |
642 | (const struct isis_circuit *circuit, const uint8_t *lsp_id), | |
643 | (circuit, lsp_id)); | |
644 | DECLARE_HOOK(isis_hook_own_lsp_purge, | |
645 | (const struct isis_circuit *circuit, const uint8_t *lsp_id), | |
646 | (circuit, lsp_id)); | |
2a1c520e RW |
647 | |
648 | #endif /* ISISD_ISIS_NB_H_ */ |