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