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