]> git.proxmox.com Git - mirror_frr.git/blob - isisd/isis_nb.h
Merge pull request #5895 from patrasar/2404618
[mirror_frr.git] / isisd / isis_nb.h
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. */
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);
37 int isis_instance_attached_modify(struct nb_cb_modify_args *args);
38 int isis_instance_overload_modify(struct nb_cb_modify_args *args);
39 int isis_instance_metric_style_modify(struct nb_cb_modify_args *args);
40 int isis_instance_purge_originator_modify(struct nb_cb_modify_args *args);
41 int isis_instance_lsp_mtu_modify(struct nb_cb_modify_args *args);
42 int isis_instance_lsp_refresh_interval_level_1_modify(
43 struct nb_cb_modify_args *args);
44 int isis_instance_lsp_refresh_interval_level_2_modify(
45 struct nb_cb_modify_args *args);
46 int isis_instance_lsp_maximum_lifetime_level_1_modify(
47 struct nb_cb_modify_args *args);
48 int isis_instance_lsp_maximum_lifetime_level_2_modify(
49 struct nb_cb_modify_args *args);
50 int isis_instance_lsp_generation_interval_level_1_modify(
51 struct nb_cb_modify_args *args);
52 int isis_instance_lsp_generation_interval_level_2_modify(
53 struct nb_cb_modify_args *args);
54 int isis_instance_spf_ietf_backoff_delay_create(struct nb_cb_create_args *args);
55 int isis_instance_spf_ietf_backoff_delay_destroy(
56 struct nb_cb_destroy_args *args);
57 int isis_instance_spf_ietf_backoff_delay_init_delay_modify(
58 struct nb_cb_modify_args *args);
59 int isis_instance_spf_ietf_backoff_delay_short_delay_modify(
60 struct nb_cb_modify_args *args);
61 int isis_instance_spf_ietf_backoff_delay_long_delay_modify(
62 struct nb_cb_modify_args *args);
63 int isis_instance_spf_ietf_backoff_delay_hold_down_modify(
64 struct nb_cb_modify_args *args);
65 int isis_instance_spf_ietf_backoff_delay_time_to_learn_modify(
66 struct nb_cb_modify_args *args);
67 int isis_instance_spf_minimum_interval_level_1_modify(
68 struct nb_cb_modify_args *args);
69 int isis_instance_spf_minimum_interval_level_2_modify(
70 struct nb_cb_modify_args *args);
71 int isis_instance_area_password_create(struct nb_cb_create_args *args);
72 int isis_instance_area_password_destroy(struct nb_cb_destroy_args *args);
73 int isis_instance_area_password_password_modify(struct nb_cb_modify_args *args);
74 int isis_instance_area_password_password_type_modify(
75 struct nb_cb_modify_args *args);
76 int isis_instance_area_password_authenticate_snp_modify(
77 struct nb_cb_modify_args *args);
78 int isis_instance_domain_password_create(struct nb_cb_create_args *args);
79 int isis_instance_domain_password_destroy(struct nb_cb_destroy_args *args);
80 int isis_instance_domain_password_password_modify(
81 struct nb_cb_modify_args *args);
82 int isis_instance_domain_password_password_type_modify(
83 struct nb_cb_modify_args *args);
84 int isis_instance_domain_password_authenticate_snp_modify(
85 struct nb_cb_modify_args *args);
86 int isis_instance_default_information_originate_ipv4_create(
87 struct nb_cb_create_args *args);
88 int isis_instance_default_information_originate_ipv4_destroy(
89 struct nb_cb_destroy_args *args);
90 int isis_instance_default_information_originate_ipv4_always_modify(
91 struct nb_cb_modify_args *args);
92 int isis_instance_default_information_originate_ipv4_route_map_modify(
93 struct nb_cb_modify_args *args);
94 int isis_instance_default_information_originate_ipv4_route_map_destroy(
95 struct nb_cb_destroy_args *args);
96 int isis_instance_default_information_originate_ipv4_metric_modify(
97 struct nb_cb_modify_args *args);
98 int isis_instance_default_information_originate_ipv6_create(
99 struct nb_cb_create_args *args);
100 int isis_instance_default_information_originate_ipv6_destroy(
101 struct nb_cb_destroy_args *args);
102 int isis_instance_default_information_originate_ipv6_always_modify(
103 struct nb_cb_modify_args *args);
104 int isis_instance_default_information_originate_ipv6_route_map_modify(
105 struct nb_cb_modify_args *args);
106 int isis_instance_default_information_originate_ipv6_route_map_destroy(
107 struct nb_cb_destroy_args *args);
108 int isis_instance_default_information_originate_ipv6_metric_modify(
109 struct nb_cb_modify_args *args);
110 int isis_instance_redistribute_ipv4_create(struct nb_cb_create_args *args);
111 int isis_instance_redistribute_ipv4_destroy(struct nb_cb_destroy_args *args);
112 int isis_instance_redistribute_ipv4_route_map_modify(
113 struct nb_cb_modify_args *args);
114 int isis_instance_redistribute_ipv4_route_map_destroy(
115 struct nb_cb_destroy_args *args);
116 int isis_instance_redistribute_ipv4_metric_modify(
117 struct nb_cb_modify_args *args);
118 int isis_instance_redistribute_ipv6_create(struct nb_cb_create_args *args);
119 int isis_instance_redistribute_ipv6_destroy(struct nb_cb_destroy_args *args);
120 int isis_instance_redistribute_ipv6_route_map_modify(
121 struct nb_cb_modify_args *args);
122 int isis_instance_redistribute_ipv6_route_map_destroy(
123 struct nb_cb_destroy_args *args);
124 int isis_instance_redistribute_ipv6_metric_modify(
125 struct nb_cb_modify_args *args);
126 int isis_instance_multi_topology_ipv4_multicast_create(
127 struct nb_cb_create_args *args);
128 int isis_instance_multi_topology_ipv4_multicast_destroy(
129 struct nb_cb_destroy_args *args);
130 int isis_instance_multi_topology_ipv4_multicast_overload_modify(
131 struct nb_cb_modify_args *args);
132 int isis_instance_multi_topology_ipv4_management_create(
133 struct nb_cb_create_args *args);
134 int isis_instance_multi_topology_ipv4_management_destroy(
135 struct nb_cb_destroy_args *args);
136 int isis_instance_multi_topology_ipv4_management_overload_modify(
137 struct nb_cb_modify_args *args);
138 int isis_instance_multi_topology_ipv6_unicast_create(
139 struct nb_cb_create_args *args);
140 int isis_instance_multi_topology_ipv6_unicast_destroy(
141 struct nb_cb_destroy_args *args);
142 int isis_instance_multi_topology_ipv6_unicast_overload_modify(
143 struct nb_cb_modify_args *args);
144 int isis_instance_multi_topology_ipv6_multicast_create(
145 struct nb_cb_create_args *args);
146 int isis_instance_multi_topology_ipv6_multicast_destroy(
147 struct nb_cb_destroy_args *args);
148 int isis_instance_multi_topology_ipv6_multicast_overload_modify(
149 struct nb_cb_modify_args *args);
150 int isis_instance_multi_topology_ipv6_management_create(
151 struct nb_cb_create_args *args);
152 int isis_instance_multi_topology_ipv6_management_destroy(
153 struct nb_cb_destroy_args *args);
154 int isis_instance_multi_topology_ipv6_management_overload_modify(
155 struct nb_cb_modify_args *args);
156 int isis_instance_multi_topology_ipv6_dstsrc_create(
157 struct nb_cb_create_args *args);
158 int isis_instance_multi_topology_ipv6_dstsrc_destroy(
159 struct nb_cb_destroy_args *args);
160 int isis_instance_multi_topology_ipv6_dstsrc_overload_modify(
161 struct nb_cb_modify_args *args);
162 int isis_instance_log_adjacency_changes_modify(struct nb_cb_modify_args *args);
163 int isis_instance_mpls_te_create(struct nb_cb_create_args *args);
164 int isis_instance_mpls_te_destroy(struct nb_cb_destroy_args *args);
165 int isis_instance_mpls_te_router_address_modify(struct nb_cb_modify_args *args);
166 int isis_instance_mpls_te_router_address_destroy(
167 struct nb_cb_destroy_args *args);
168 int lib_interface_isis_create(struct nb_cb_create_args *args);
169 int lib_interface_isis_destroy(struct nb_cb_destroy_args *args);
170 int lib_interface_isis_area_tag_modify(struct nb_cb_modify_args *args);
171 int lib_interface_isis_vrf_modify(struct nb_cb_modify_args *args);
172 int lib_interface_isis_ipv4_routing_modify(struct nb_cb_modify_args *args);
173 int lib_interface_isis_ipv6_routing_modify(struct nb_cb_modify_args *args);
174 int lib_interface_isis_circuit_type_modify(struct nb_cb_modify_args *args);
175 void lib_interface_isis_bfd_monitoring_apply_finish(
176 struct nb_cb_apply_finish_args *args);
177 int lib_interface_isis_bfd_monitoring_enabled_modify(
178 struct nb_cb_modify_args *args);
179 int lib_interface_isis_bfd_monitoring_profile_modify(
180 struct nb_cb_modify_args *args);
181 int lib_interface_isis_bfd_monitoring_profile_destroy(
182 struct nb_cb_destroy_args *args);
183 int isis_instance_segment_routing_enabled_modify(
184 struct nb_cb_modify_args *args);
185 int isis_instance_segment_routing_enabled_modify(
186 struct nb_cb_modify_args *args);
187 int isis_instance_segment_routing_srgb_lower_bound_modify(
188 struct nb_cb_modify_args *args);
189 int isis_instance_segment_routing_srgb_upper_bound_modify(
190 struct nb_cb_modify_args *args);
191 int isis_instance_segment_routing_srlb_lower_bound_modify(
192 struct nb_cb_modify_args *args);
193 int isis_instance_segment_routing_srlb_upper_bound_modify(
194 struct nb_cb_modify_args *args);
195 int isis_instance_segment_routing_msd_node_msd_modify(
196 struct nb_cb_modify_args *args);
197 int isis_instance_segment_routing_msd_node_msd_destroy(
198 struct nb_cb_destroy_args *args);
199 int isis_instance_segment_routing_prefix_sid_map_prefix_sid_create(
200 struct nb_cb_create_args *args);
201 int isis_instance_segment_routing_prefix_sid_map_prefix_sid_destroy(
202 struct nb_cb_destroy_args *args);
203 int isis_instance_segment_routing_prefix_sid_map_prefix_sid_sid_value_type_modify(
204 struct nb_cb_modify_args *args);
205 int isis_instance_segment_routing_prefix_sid_map_prefix_sid_sid_value_modify(
206 struct nb_cb_modify_args *args);
207 int isis_instance_segment_routing_prefix_sid_map_prefix_sid_last_hop_behavior_modify(
208 struct nb_cb_modify_args *args);
209 int isis_instance_mpls_ldp_sync_destroy(struct nb_cb_destroy_args *args);
210 int isis_instance_mpls_ldp_sync_create(struct nb_cb_create_args *args);
211 int isis_instance_mpls_ldp_sync_holddown_modify(struct nb_cb_modify_args *args);
212 int lib_interface_isis_csnp_interval_level_1_modify(
213 struct nb_cb_modify_args *args);
214 int lib_interface_isis_csnp_interval_level_2_modify(
215 struct nb_cb_modify_args *args);
216 int lib_interface_isis_psnp_interval_level_1_modify(
217 struct nb_cb_modify_args *args);
218 int lib_interface_isis_psnp_interval_level_2_modify(
219 struct nb_cb_modify_args *args);
220 int lib_interface_isis_hello_padding_modify(struct nb_cb_modify_args *args);
221 int lib_interface_isis_hello_interval_level_1_modify(
222 struct nb_cb_modify_args *args);
223 int lib_interface_isis_hello_interval_level_2_modify(
224 struct nb_cb_modify_args *args);
225 int lib_interface_isis_hello_multiplier_level_1_modify(
226 struct nb_cb_modify_args *args);
227 int lib_interface_isis_hello_multiplier_level_2_modify(
228 struct nb_cb_modify_args *args);
229 int lib_interface_isis_metric_level_1_modify(struct nb_cb_modify_args *args);
230 int lib_interface_isis_metric_level_2_modify(struct nb_cb_modify_args *args);
231 int lib_interface_isis_priority_level_1_modify(struct nb_cb_modify_args *args);
232 int lib_interface_isis_priority_level_2_modify(struct nb_cb_modify_args *args);
233 int lib_interface_isis_network_type_modify(struct nb_cb_modify_args *args);
234 int lib_interface_isis_passive_modify(struct nb_cb_modify_args *args);
235 int lib_interface_isis_password_create(struct nb_cb_create_args *args);
236 int lib_interface_isis_password_destroy(struct nb_cb_destroy_args *args);
237 int lib_interface_isis_password_password_modify(struct nb_cb_modify_args *args);
238 int lib_interface_isis_password_password_type_modify(
239 struct nb_cb_modify_args *args);
240 int lib_interface_isis_disable_three_way_handshake_modify(
241 struct nb_cb_modify_args *args);
242 int lib_interface_isis_multi_topology_ipv4_unicast_modify(
243 struct nb_cb_modify_args *args);
244 int lib_interface_isis_multi_topology_ipv4_multicast_modify(
245 struct nb_cb_modify_args *args);
246 int lib_interface_isis_multi_topology_ipv4_management_modify(
247 struct nb_cb_modify_args *args);
248 int lib_interface_isis_multi_topology_ipv6_unicast_modify(
249 struct nb_cb_modify_args *args);
250 int lib_interface_isis_multi_topology_ipv6_multicast_modify(
251 struct nb_cb_modify_args *args);
252 int lib_interface_isis_multi_topology_ipv6_management_modify(
253 struct nb_cb_modify_args *args);
254 int lib_interface_isis_multi_topology_ipv6_dstsrc_modify(
255 struct nb_cb_modify_args *args);
256 int lib_interface_isis_mpls_ldp_sync_modify(struct nb_cb_modify_args *args);
257 int lib_interface_isis_mpls_holddown_modify(struct nb_cb_modify_args *args);
258 int lib_interface_isis_mpls_holddown_destroy(struct nb_cb_destroy_args *args);
259 struct yang_data *
260 lib_interface_state_isis_get_elem(struct nb_cb_get_elem_args *args);
261 const void *lib_interface_state_isis_adjacencies_adjacency_get_next(
262 struct nb_cb_get_next_args *args);
263 struct yang_data *
264 lib_interface_state_isis_adjacencies_adjacency_neighbor_sys_type_get_elem(
265 struct nb_cb_get_elem_args *args);
266 struct yang_data *
267 lib_interface_state_isis_adjacencies_adjacency_neighbor_sysid_get_elem(
268 struct nb_cb_get_elem_args *args);
269 struct yang_data *
270 lib_interface_state_isis_adjacencies_adjacency_neighbor_extended_circuit_id_get_elem(
271 struct nb_cb_get_elem_args *args);
272 struct yang_data *
273 lib_interface_state_isis_adjacencies_adjacency_neighbor_snpa_get_elem(
274 struct nb_cb_get_elem_args *args);
275 struct yang_data *
276 lib_interface_state_isis_adjacencies_adjacency_hold_timer_get_elem(
277 struct nb_cb_get_elem_args *args);
278 struct yang_data *
279 lib_interface_state_isis_adjacencies_adjacency_neighbor_priority_get_elem(
280 struct nb_cb_get_elem_args *args);
281 struct yang_data *lib_interface_state_isis_adjacencies_adjacency_state_get_elem(
282 struct nb_cb_get_elem_args *args);
283 struct yang_data *
284 lib_interface_state_isis_event_counters_adjacency_changes_get_elem(
285 struct nb_cb_get_elem_args *args);
286 struct yang_data *
287 lib_interface_state_isis_event_counters_adjacency_number_get_elem(
288 struct nb_cb_get_elem_args *args);
289 struct yang_data *lib_interface_state_isis_event_counters_init_fails_get_elem(
290 struct nb_cb_get_elem_args *args);
291 struct yang_data *
292 lib_interface_state_isis_event_counters_adjacency_rejects_get_elem(
293 struct nb_cb_get_elem_args *args);
294 struct yang_data *
295 lib_interface_state_isis_event_counters_id_len_mismatch_get_elem(
296 struct nb_cb_get_elem_args *args);
297 struct yang_data *
298 lib_interface_state_isis_event_counters_max_area_addresses_mismatch_get_elem(
299 struct nb_cb_get_elem_args *args);
300 struct yang_data *
301 lib_interface_state_isis_event_counters_authentication_type_fails_get_elem(
302 struct nb_cb_get_elem_args *args);
303 struct yang_data *
304 lib_interface_state_isis_event_counters_authentication_fails_get_elem(
305 struct nb_cb_get_elem_args *args);
306
307 /* Optional 'pre_validate' callbacks. */
308 int isis_instance_segment_routing_prefix_sid_map_prefix_sid_pre_validate(
309 struct nb_cb_pre_validate_args *args);
310 int isis_instance_segment_routing_srgb_pre_validate(
311 struct nb_cb_pre_validate_args *args);
312 int isis_instance_segment_routing_srlb_pre_validate(
313 struct nb_cb_pre_validate_args *args);
314
315 /* Optional 'apply_finish' callbacks. */
316 void ietf_backoff_delay_apply_finish(struct nb_cb_apply_finish_args *args);
317 void area_password_apply_finish(struct nb_cb_apply_finish_args *args);
318 void domain_password_apply_finish(struct nb_cb_apply_finish_args *args);
319 void default_info_origin_apply_finish(const struct lyd_node *dnode, int family);
320 void default_info_origin_ipv4_apply_finish(
321 struct nb_cb_apply_finish_args *args);
322 void default_info_origin_ipv6_apply_finish(
323 struct nb_cb_apply_finish_args *args);
324 void redistribute_apply_finish(const struct lyd_node *dnode, int family);
325 void redistribute_ipv4_apply_finish(struct nb_cb_apply_finish_args *args);
326 void redistribute_ipv6_apply_finish(struct nb_cb_apply_finish_args *args);
327 void isis_instance_segment_routing_srgb_apply_finish(
328 struct nb_cb_apply_finish_args *args);
329 void isis_instance_segment_routing_srlb_apply_finish(
330 struct nb_cb_apply_finish_args *args);
331 void isis_instance_segment_routing_prefix_sid_map_prefix_sid_apply_finish(
332 struct nb_cb_apply_finish_args *args);
333
334 /* Optional 'cli_show' callbacks. */
335 void cli_show_router_isis(struct vty *vty, struct lyd_node *dnode,
336 bool show_defaults);
337 void cli_show_ip_isis_ipv4(struct vty *vty, struct lyd_node *dnode,
338 bool show_defaults);
339 void cli_show_ip_isis_ipv6(struct vty *vty, struct lyd_node *dnode,
340 bool show_defaults);
341 void cli_show_ip_isis_bfd_monitoring(struct vty *vty, struct lyd_node *dnode,
342 bool show_defaults);
343 void cli_show_isis_area_address(struct vty *vty, struct lyd_node *dnode,
344 bool show_defaults);
345 void cli_show_isis_is_type(struct vty *vty, struct lyd_node *dnode,
346 bool show_defaults);
347 void cli_show_isis_dynamic_hostname(struct vty *vty, struct lyd_node *dnode,
348 bool show_defaults);
349 void cli_show_isis_attached(struct vty *vty, struct lyd_node *dnode,
350 bool show_defaults);
351 void cli_show_isis_overload(struct vty *vty, struct lyd_node *dnode,
352 bool show_defaults);
353 void cli_show_isis_metric_style(struct vty *vty, struct lyd_node *dnode,
354 bool show_defaults);
355 void cli_show_isis_area_pwd(struct vty *vty, struct lyd_node *dnode,
356 bool show_defaults);
357 void cli_show_isis_domain_pwd(struct vty *vty, struct lyd_node *dnode,
358 bool show_defaults);
359 void cli_show_isis_lsp_timers(struct vty *vty, struct lyd_node *dnode,
360 bool show_defaults);
361 void cli_show_isis_lsp_mtu(struct vty *vty, struct lyd_node *dnode,
362 bool show_defaults);
363 void cli_show_isis_spf_min_interval(struct vty *vty, struct lyd_node *dnode,
364 bool show_defaults);
365 void cli_show_isis_spf_ietf_backoff(struct vty *vty, struct lyd_node *dnode,
366 bool show_defaults);
367 void cli_show_isis_purge_origin(struct vty *vty, struct lyd_node *dnode,
368 bool show_defaults);
369 void cli_show_isis_mpls_te(struct vty *vty, struct lyd_node *dnode,
370 bool show_defaults);
371 void cli_show_isis_mpls_te_router_addr(struct vty *vty, struct lyd_node *dnode,
372 bool show_defaults);
373 void cli_show_isis_def_origin_ipv4(struct vty *vty, struct lyd_node *dnode,
374 bool show_defaults);
375 void cli_show_isis_def_origin_ipv6(struct vty *vty, struct lyd_node *dnode,
376 bool show_defaults);
377 void cli_show_isis_redistribute_ipv4(struct vty *vty, struct lyd_node *dnode,
378 bool show_defaults);
379 void cli_show_isis_redistribute_ipv6(struct vty *vty, struct lyd_node *dnode,
380 bool show_defaults);
381 void cli_show_isis_mt_ipv4_multicast(struct vty *vty, struct lyd_node *dnode,
382 bool show_defaults);
383 void cli_show_isis_mt_ipv4_mgmt(struct vty *vty, struct lyd_node *dnode,
384 bool show_defaults);
385 void cli_show_isis_mt_ipv6_unicast(struct vty *vty, struct lyd_node *dnode,
386 bool show_defaults);
387 void cli_show_isis_mt_ipv6_multicast(struct vty *vty, struct lyd_node *dnode,
388 bool show_defaults);
389 void cli_show_isis_mt_ipv6_mgmt(struct vty *vty, struct lyd_node *dnode,
390 bool show_defaults);
391 void cli_show_isis_mt_ipv6_dstsrc(struct vty *vty, struct lyd_node *dnode,
392 bool show_defaults);
393 void cli_show_isis_sr_enabled(struct vty *vty, struct lyd_node *dnode,
394 bool show_defaults);
395 void cli_show_isis_srgb(struct vty *vty, struct lyd_node *dnode,
396 bool show_defaults);
397 void cli_show_isis_srlb(struct vty *vty, struct lyd_node *dnode,
398 bool show_defaults);
399 void cli_show_isis_node_msd(struct vty *vty, struct lyd_node *dnode,
400 bool show_defaults);
401 void cli_show_isis_prefix_sid(struct vty *vty, struct lyd_node *dnode,
402 bool show_defaults);
403 void cli_show_ip_isis_passive(struct vty *vty, struct lyd_node *dnode,
404 bool show_defaults);
405 void cli_show_ip_isis_password(struct vty *vty, struct lyd_node *dnode,
406 bool show_defaults);
407 void cli_show_ip_isis_metric(struct vty *vty, struct lyd_node *dnode,
408 bool show_defaults);
409 void cli_show_ip_isis_hello_interval(struct vty *vty, struct lyd_node *dnode,
410 bool show_defaults);
411 void cli_show_ip_isis_hello_multi(struct vty *vty, struct lyd_node *dnode,
412 bool show_defaults);
413 void cli_show_ip_isis_threeway_shake(struct vty *vty, struct lyd_node *dnode,
414 bool show_defaults);
415 void cli_show_ip_isis_hello_padding(struct vty *vty, struct lyd_node *dnode,
416 bool show_defaults);
417 void cli_show_ip_isis_csnp_interval(struct vty *vty, struct lyd_node *dnode,
418 bool show_defaults);
419 void cli_show_ip_isis_psnp_interval(struct vty *vty, struct lyd_node *dnode,
420 bool show_defaults);
421 void cli_show_ip_isis_mt_ipv4_unicast(struct vty *vty, struct lyd_node *dnode,
422 bool show_defaults);
423 void cli_show_ip_isis_mt_ipv4_multicast(struct vty *vty, struct lyd_node *dnode,
424 bool show_defaults);
425 void cli_show_ip_isis_mt_ipv4_mgmt(struct vty *vty, struct lyd_node *dnode,
426 bool show_defaults);
427 void cli_show_ip_isis_mt_ipv6_unicast(struct vty *vty, struct lyd_node *dnode,
428 bool show_defaults);
429 void cli_show_ip_isis_mt_ipv6_multicast(struct vty *vty, struct lyd_node *dnode,
430 bool show_defaults);
431 void cli_show_ip_isis_mt_ipv6_mgmt(struct vty *vty, struct lyd_node *dnode,
432 bool show_defaults);
433 void cli_show_ip_isis_mt_ipv6_dstsrc(struct vty *vty, struct lyd_node *dnode,
434 bool show_defaults);
435 void cli_show_ip_isis_circ_type(struct vty *vty, struct lyd_node *dnode,
436 bool show_defaults);
437 void cli_show_ip_isis_network_type(struct vty *vty, struct lyd_node *dnode,
438 bool show_defaults);
439 void cli_show_ip_isis_priority(struct vty *vty, struct lyd_node *dnode,
440 bool show_defaults);
441 void cli_show_isis_log_adjacency(struct vty *vty, struct lyd_node *dnode,
442 bool show_defaults);
443 void cli_show_isis_mpls_ldp_sync(struct vty *vty, struct lyd_node *dnode,
444 bool show_defaults);
445 void cli_show_isis_mpls_ldp_sync_holddown(struct vty *vty,
446 struct lyd_node *dnode,
447 bool show_defaults);
448 void cli_show_isis_mpls_if_ldp_sync(struct vty *vty, struct lyd_node *dnode,
449 bool show_defaults);
450 void cli_show_isis_mpls_if_ldp_sync_holddown(struct vty *vty,
451 struct lyd_node *dnode,
452 bool show_defaults);
453
454 /* Notifications. */
455 void isis_notif_db_overload(const struct isis_area *area, bool overload);
456 void isis_notif_lsp_too_large(const struct isis_circuit *circuit,
457 uint32_t pdu_size, const char *lsp_id);
458 void isis_notif_if_state_change(const struct isis_circuit *circuit, bool down);
459 void isis_notif_corrupted_lsp(const struct isis_area *area,
460 const char *lsp_id); /* currently unused */
461 void isis_notif_lsp_exceed_max(const struct isis_area *area,
462 const char *lsp_id);
463 void isis_notif_max_area_addr_mismatch(const struct isis_circuit *circuit,
464 uint8_t max_area_addrs,
465 const char *raw_pdu);
466 void isis_notif_authentication_type_failure(const struct isis_circuit *circuit,
467 const char *raw_pdu);
468 void isis_notif_authentication_failure(const struct isis_circuit *circuit,
469 const char *raw_pdu);
470 void isis_notif_adj_state_change(const struct isis_adjacency *adj,
471 int new_state, const char *reason);
472 void isis_notif_reject_adjacency(const struct isis_circuit *circuit,
473 const char *reason, const char *raw_pdu);
474 void isis_notif_area_mismatch(const struct isis_circuit *circuit,
475 const char *raw_pdu);
476 void isis_notif_lsp_received(const struct isis_circuit *circuit,
477 const char *lsp_id, uint32_t seqno,
478 uint32_t timestamp, const char *sys_id);
479 void isis_notif_lsp_gen(const struct isis_area *area, const char *lsp_id,
480 uint32_t seqno, uint32_t timestamp);
481 void isis_notif_id_len_mismatch(const struct isis_circuit *circuit,
482 uint8_t rcv_id_len, const char *raw_pdu);
483 void isis_notif_version_skew(const struct isis_circuit *circuit,
484 uint8_t version, const char *raw_pdu);
485 void isis_notif_lsp_error(const struct isis_circuit *circuit,
486 const char *lsp_id, const char *raw_pdu,
487 uint32_t offset, uint8_t tlv_type);
488 void isis_notif_seqno_skipped(const struct isis_circuit *circuit,
489 const char *lsp_id);
490 void isis_notif_own_lsp_purge(const struct isis_circuit *circuit,
491 const char *lsp_id);
492
493 #endif /* ISISD_ISIS_NB_H_ */