]>
Commit | Line | Data |
---|---|---|
ca473936 RW |
1 | /* |
2 | * Copyright (C) 2018 NetDEF, Inc. | |
3 | * Renato Westphal | |
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 _FRR_RIPNG_NB_H_ | |
21 | #define _FRR_RIPNG_NB_H_ | |
22 | ||
23 | extern const struct frr_yang_module_info frr_ripngd_info; | |
24 | ||
25 | /* Mandatory callbacks. */ | |
26 | int ripngd_instance_create(enum nb_event event, const struct lyd_node *dnode, | |
27 | union nb_resource *resource); | |
28 | int ripngd_instance_destroy(enum nb_event event, const struct lyd_node *dnode); | |
29 | const void *ripngd_instance_get_next(const void *parent_list_entry, | |
30 | const void *list_entry); | |
31 | int ripngd_instance_get_keys(const void *list_entry, | |
32 | struct yang_list_keys *keys); | |
33 | const void *ripngd_instance_lookup_entry(const void *parent_list_entry, | |
34 | const struct yang_list_keys *keys); | |
35 | int ripngd_instance_allow_ecmp_modify(enum nb_event event, | |
36 | const struct lyd_node *dnode, | |
37 | union nb_resource *resource); | |
38 | int ripngd_instance_default_information_originate_modify( | |
39 | enum nb_event event, const struct lyd_node *dnode, | |
40 | union nb_resource *resource); | |
41 | int ripngd_instance_default_metric_modify(enum nb_event event, | |
42 | const struct lyd_node *dnode, | |
43 | union nb_resource *resource); | |
44 | int ripngd_instance_network_create(enum nb_event event, | |
45 | const struct lyd_node *dnode, | |
46 | union nb_resource *resource); | |
47 | int ripngd_instance_network_destroy(enum nb_event event, | |
48 | const struct lyd_node *dnode); | |
49 | int ripngd_instance_interface_create(enum nb_event event, | |
50 | const struct lyd_node *dnode, | |
51 | union nb_resource *resource); | |
52 | int ripngd_instance_interface_destroy(enum nb_event event, | |
53 | const struct lyd_node *dnode); | |
54 | int ripngd_instance_offset_list_create(enum nb_event event, | |
55 | const struct lyd_node *dnode, | |
56 | union nb_resource *resource); | |
57 | int ripngd_instance_offset_list_destroy(enum nb_event event, | |
58 | const struct lyd_node *dnode); | |
59 | int ripngd_instance_offset_list_access_list_modify(enum nb_event event, | |
60 | const struct lyd_node *dnode, | |
61 | union nb_resource *resource); | |
62 | int ripngd_instance_offset_list_metric_modify(enum nb_event event, | |
63 | const struct lyd_node *dnode, | |
64 | union nb_resource *resource); | |
65 | int ripngd_instance_passive_interface_create(enum nb_event event, | |
66 | const struct lyd_node *dnode, | |
67 | union nb_resource *resource); | |
68 | int ripngd_instance_passive_interface_destroy(enum nb_event event, | |
69 | const struct lyd_node *dnode); | |
70 | int ripngd_instance_redistribute_create(enum nb_event event, | |
71 | const struct lyd_node *dnode, | |
72 | union nb_resource *resource); | |
73 | int ripngd_instance_redistribute_destroy(enum nb_event event, | |
74 | const struct lyd_node *dnode); | |
75 | int ripngd_instance_redistribute_route_map_modify(enum nb_event event, | |
76 | const struct lyd_node *dnode, | |
77 | union nb_resource *resource); | |
78 | int ripngd_instance_redistribute_route_map_destroy( | |
79 | enum nb_event event, const struct lyd_node *dnode); | |
80 | int ripngd_instance_redistribute_metric_modify(enum nb_event event, | |
81 | const struct lyd_node *dnode, | |
82 | union nb_resource *resource); | |
83 | int ripngd_instance_redistribute_metric_destroy(enum nb_event event, | |
84 | const struct lyd_node *dnode); | |
85 | int ripngd_instance_static_route_create(enum nb_event event, | |
86 | const struct lyd_node *dnode, | |
87 | union nb_resource *resource); | |
88 | int ripngd_instance_static_route_destroy(enum nb_event event, | |
89 | const struct lyd_node *dnode); | |
90 | int ripngd_instance_aggregate_address_create(enum nb_event event, | |
91 | const struct lyd_node *dnode, | |
92 | union nb_resource *resource); | |
93 | int ripngd_instance_aggregate_address_destroy(enum nb_event event, | |
94 | const struct lyd_node *dnode); | |
95 | int ripngd_instance_timers_flush_interval_modify(enum nb_event event, | |
96 | const struct lyd_node *dnode, | |
97 | union nb_resource *resource); | |
98 | int ripngd_instance_timers_holddown_interval_modify( | |
99 | enum nb_event event, const struct lyd_node *dnode, | |
100 | union nb_resource *resource); | |
101 | int ripngd_instance_timers_update_interval_modify(enum nb_event event, | |
102 | const struct lyd_node *dnode, | |
103 | union nb_resource *resource); | |
104 | const void * | |
105 | ripngd_instance_state_neighbors_neighbor_get_next(const void *parent_list_entry, | |
106 | const void *list_entry); | |
107 | int ripngd_instance_state_neighbors_neighbor_get_keys( | |
108 | const void *list_entry, struct yang_list_keys *keys); | |
109 | const void *ripngd_instance_state_neighbors_neighbor_lookup_entry( | |
110 | const void *parent_list_entry, const struct yang_list_keys *keys); | |
111 | struct yang_data *ripngd_instance_state_neighbors_neighbor_address_get_elem( | |
112 | const char *xpath, const void *list_entry); | |
113 | struct yang_data *ripngd_instance_state_neighbors_neighbor_last_update_get_elem( | |
114 | const char *xpath, const void *list_entry); | |
115 | struct yang_data * | |
116 | ripngd_instance_state_neighbors_neighbor_bad_packets_rcvd_get_elem( | |
117 | const char *xpath, const void *list_entry); | |
118 | struct yang_data * | |
119 | ripngd_instance_state_neighbors_neighbor_bad_routes_rcvd_get_elem( | |
120 | const char *xpath, const void *list_entry); | |
121 | const void * | |
122 | ripngd_instance_state_routes_route_get_next(const void *parent_list_entry, | |
123 | const void *list_entry); | |
124 | int ripngd_instance_state_routes_route_get_keys(const void *list_entry, | |
125 | struct yang_list_keys *keys); | |
126 | const void *ripngd_instance_state_routes_route_lookup_entry( | |
127 | const void *parent_list_entry, const struct yang_list_keys *keys); | |
128 | struct yang_data * | |
129 | ripngd_instance_state_routes_route_prefix_get_elem(const char *xpath, | |
130 | const void *list_entry); | |
131 | struct yang_data * | |
132 | ripngd_instance_state_routes_route_next_hop_get_elem(const char *xpath, | |
133 | const void *list_entry); | |
134 | struct yang_data * | |
135 | ripngd_instance_state_routes_route_interface_get_elem(const char *xpath, | |
136 | const void *list_entry); | |
137 | struct yang_data * | |
138 | ripngd_instance_state_routes_route_metric_get_elem(const char *xpath, | |
139 | const void *list_entry); | |
140 | int clear_ripng_route_rpc(const char *xpath, const struct list *input, | |
141 | struct list *output); | |
142 | int lib_interface_ripng_split_horizon_modify(enum nb_event event, | |
143 | const struct lyd_node *dnode, | |
144 | union nb_resource *resource); | |
145 | ||
146 | /* Optional 'apply_finish' callbacks. */ | |
147 | void ripngd_instance_redistribute_apply_finish(const struct lyd_node *dnode); | |
148 | void ripngd_instance_timers_apply_finish(const struct lyd_node *dnode); | |
149 | ||
150 | /* Optional 'cli_show' callbacks. */ | |
151 | void cli_show_router_ripng(struct vty *vty, struct lyd_node *dnode, | |
152 | bool show_defaults); | |
153 | void cli_show_ripng_allow_ecmp(struct vty *vty, struct lyd_node *dnode, | |
154 | bool show_defaults); | |
155 | void cli_show_ripng_default_information_originate(struct vty *vty, | |
156 | struct lyd_node *dnode, | |
157 | bool show_defaults); | |
158 | void cli_show_ripng_default_metric(struct vty *vty, struct lyd_node *dnode, | |
159 | bool show_defaults); | |
160 | void cli_show_ripng_network_prefix(struct vty *vty, struct lyd_node *dnode, | |
161 | bool show_defaults); | |
162 | void cli_show_ripng_network_interface(struct vty *vty, struct lyd_node *dnode, | |
163 | bool show_defaults); | |
164 | void cli_show_ripng_offset_list(struct vty *vty, struct lyd_node *dnode, | |
165 | bool show_defaults); | |
166 | void cli_show_ripng_passive_interface(struct vty *vty, struct lyd_node *dnode, | |
167 | bool show_defaults); | |
168 | void cli_show_ripng_redistribute(struct vty *vty, struct lyd_node *dnode, | |
169 | bool show_defaults); | |
170 | void cli_show_ripng_route(struct vty *vty, struct lyd_node *dnode, | |
171 | bool show_defaults); | |
172 | void cli_show_ripng_aggregate_address(struct vty *vty, struct lyd_node *dnode, | |
173 | bool show_defaults); | |
174 | void cli_show_ripng_timers(struct vty *vty, struct lyd_node *dnode, | |
175 | bool show_defaults); | |
176 | void cli_show_ipv6_ripng_split_horizon(struct vty *vty, struct lyd_node *dnode, | |
177 | bool show_defaults); | |
178 | ||
179 | #endif /* _FRR_RIPNG_NB_H_ */ |