]> git.proxmox.com Git - mirror_frr.git/blob - ripngd/ripng_nb.h
Merge pull request #12366 from manojvn/ospfv2-flood-reduction
[mirror_frr.git] / ripngd / ripng_nb.h
1 // SPDX-License-Identifier: GPL-2.0-or-later
2 /*
3 * Copyright (C) 2018 NetDEF, Inc.
4 * Renato Westphal
5 */
6
7 #ifndef _FRR_RIPNG_NB_H_
8 #define _FRR_RIPNG_NB_H_
9
10 extern const struct frr_yang_module_info frr_ripngd_info;
11
12 /* Mandatory callbacks. */
13 int ripngd_instance_create(struct nb_cb_create_args *args);
14 int ripngd_instance_destroy(struct nb_cb_destroy_args *args);
15 const void *ripngd_instance_get_next(struct nb_cb_get_next_args *args);
16 int ripngd_instance_get_keys(struct nb_cb_get_keys_args *args);
17 const void *ripngd_instance_lookup_entry(struct nb_cb_lookup_entry_args *args);
18 int ripngd_instance_allow_ecmp_modify(struct nb_cb_modify_args *args);
19 int ripngd_instance_default_information_originate_modify(
20 struct nb_cb_modify_args *args);
21 int ripngd_instance_default_metric_modify(struct nb_cb_modify_args *args);
22 int ripngd_instance_network_create(struct nb_cb_create_args *args);
23 int ripngd_instance_network_destroy(struct nb_cb_destroy_args *args);
24 int ripngd_instance_interface_create(struct nb_cb_create_args *args);
25 int ripngd_instance_interface_destroy(struct nb_cb_destroy_args *args);
26 int ripngd_instance_offset_list_create(struct nb_cb_create_args *args);
27 int ripngd_instance_offset_list_destroy(struct nb_cb_destroy_args *args);
28 int ripngd_instance_offset_list_access_list_modify(
29 struct nb_cb_modify_args *args);
30 int ripngd_instance_offset_list_metric_modify(struct nb_cb_modify_args *args);
31 int ripngd_instance_passive_interface_create(struct nb_cb_create_args *args);
32 int ripngd_instance_passive_interface_destroy(struct nb_cb_destroy_args *args);
33 int ripngd_instance_redistribute_create(struct nb_cb_create_args *args);
34 int ripngd_instance_redistribute_destroy(struct nb_cb_destroy_args *args);
35 int ripngd_instance_redistribute_route_map_modify(
36 struct nb_cb_modify_args *args);
37 int ripngd_instance_redistribute_route_map_destroy(
38 struct nb_cb_destroy_args *args);
39 int ripngd_instance_redistribute_metric_modify(struct nb_cb_modify_args *args);
40 int ripngd_instance_redistribute_metric_destroy(
41 struct nb_cb_destroy_args *args);
42 int ripngd_instance_static_route_create(struct nb_cb_create_args *args);
43 int ripngd_instance_static_route_destroy(struct nb_cb_destroy_args *args);
44 int ripngd_instance_aggregate_address_create(struct nb_cb_create_args *args);
45 int ripngd_instance_aggregate_address_destroy(struct nb_cb_destroy_args *args);
46 int ripngd_instance_timers_flush_interval_modify(
47 struct nb_cb_modify_args *args);
48 int ripngd_instance_timers_holddown_interval_modify(
49 struct nb_cb_modify_args *args);
50 int ripngd_instance_timers_update_interval_modify(
51 struct nb_cb_modify_args *args);
52 const void *ripngd_instance_state_neighbors_neighbor_get_next(
53 struct nb_cb_get_next_args *args);
54 int ripngd_instance_state_neighbors_neighbor_get_keys(
55 struct nb_cb_get_keys_args *args);
56 const void *ripngd_instance_state_neighbors_neighbor_lookup_entry(
57 struct nb_cb_lookup_entry_args *args);
58 struct yang_data *ripngd_instance_state_neighbors_neighbor_address_get_elem(
59 struct nb_cb_get_elem_args *args);
60 struct yang_data *ripngd_instance_state_neighbors_neighbor_last_update_get_elem(
61 struct nb_cb_get_elem_args *args);
62 struct yang_data *
63 ripngd_instance_state_neighbors_neighbor_bad_packets_rcvd_get_elem(
64 struct nb_cb_get_elem_args *args);
65 struct yang_data *
66 ripngd_instance_state_neighbors_neighbor_bad_routes_rcvd_get_elem(
67 struct nb_cb_get_elem_args *args);
68 const void *
69 ripngd_instance_state_routes_route_get_next(struct nb_cb_get_next_args *args);
70 int ripngd_instance_state_routes_route_get_keys(
71 struct nb_cb_get_keys_args *args);
72 const void *ripngd_instance_state_routes_route_lookup_entry(
73 struct nb_cb_lookup_entry_args *args);
74 struct yang_data *ripngd_instance_state_routes_route_prefix_get_elem(
75 struct nb_cb_get_elem_args *args);
76 struct yang_data *ripngd_instance_state_routes_route_next_hop_get_elem(
77 struct nb_cb_get_elem_args *args);
78 struct yang_data *ripngd_instance_state_routes_route_interface_get_elem(
79 struct nb_cb_get_elem_args *args);
80 struct yang_data *ripngd_instance_state_routes_route_metric_get_elem(
81 struct nb_cb_get_elem_args *args);
82 int clear_ripng_route_rpc(struct nb_cb_rpc_args *args);
83 int lib_interface_ripng_split_horizon_modify(struct nb_cb_modify_args *args);
84
85 /* Optional 'apply_finish' callbacks. */
86 void ripngd_instance_redistribute_apply_finish(
87 struct nb_cb_apply_finish_args *args);
88 void ripngd_instance_timers_apply_finish(struct nb_cb_apply_finish_args *args);
89
90 /* Optional 'cli_show' callbacks. */
91 void cli_show_router_ripng(struct vty *vty, const struct lyd_node *dnode,
92 bool show_defaults);
93 void cli_show_ripng_allow_ecmp(struct vty *vty, const struct lyd_node *dnode,
94 bool show_defaults);
95 void cli_show_ripng_default_information_originate(struct vty *vty,
96 const struct lyd_node *dnode,
97 bool show_defaults);
98 void cli_show_ripng_default_metric(struct vty *vty,
99 const struct lyd_node *dnode,
100 bool show_defaults);
101 void cli_show_ripng_network_prefix(struct vty *vty,
102 const struct lyd_node *dnode,
103 bool show_defaults);
104 void cli_show_ripng_network_interface(struct vty *vty,
105 const struct lyd_node *dnode,
106 bool show_defaults);
107 void cli_show_ripng_offset_list(struct vty *vty, const struct lyd_node *dnode,
108 bool show_defaults);
109 void cli_show_ripng_passive_interface(struct vty *vty,
110 const struct lyd_node *dnode,
111 bool show_defaults);
112 void cli_show_ripng_redistribute(struct vty *vty, const struct lyd_node *dnode,
113 bool show_defaults);
114 void cli_show_ripng_route(struct vty *vty, const struct lyd_node *dnode,
115 bool show_defaults);
116 void cli_show_ripng_aggregate_address(struct vty *vty,
117 const struct lyd_node *dnode,
118 bool show_defaults);
119 void cli_show_ripng_timers(struct vty *vty, const struct lyd_node *dnode,
120 bool show_defaults);
121 void cli_show_ipv6_ripng_split_horizon(struct vty *vty,
122 const struct lyd_node *dnode,
123 bool show_defaults);
124
125 #endif /* _FRR_RIPNG_NB_H_ */