1 /**
2  * ospf_bfd.h: OSPF BFD definitions and structures
3  *
4  * @copyright Copyright (C) 2015 Cumulus Networks, Inc.
5  *
6  * This file is part of GNU Zebra.
7  *
8  * GNU Zebra is free software; you can redistribute it and/or modify it
9  * under the terms of the GNU General Public License as published by the
10  * Free Software Foundation; either version 2, or (at your option) any
11  * later version.
12  *
13  * GNU Zebra is distributed in the hope that it will be useful, but
14  * WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
16  * General Public License for more details.
17  *
18  * You should have received a copy of the GNU General Public License along
19  * with this program; see the file COPYING; if not, write to the Free Software
20  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
21  */
22 
23 #ifndef _ZEBRA_OSPF_BFD_H
24 #define _ZEBRA_OSPF_BFD_H
25 
26 #include "json.h"
27 
28 extern void ospf_bfd_init(void);
29 
30 extern void ospf_bfd_write_config(struct vty *vty,
31 				  struct ospf_if_params *params);
32 
33 extern void ospf_bfd_trigger_event(struct ospf_neighbor *nbr, int old_state,
34 				   int state);
35 
36 extern void ospf_bfd_interface_show(struct vty *vty, struct interface *ifp,
37 				    json_object *json_interface_sub,
38 				    bool use_json);
39 
40 extern void ospf_bfd_info_nbr_create(struct ospf_interface *oi,
41 				     struct ospf_neighbor *nbr);
42 
43 extern void ospf_bfd_show_info(struct vty *vty, void *bfd_info,
44 			       json_object *json_obj, bool use_json,
45 			       int param_only);
46 
47 extern void ospf_bfd_info_free(void **bfd_info);
48 
49 #endif /* _ZEBRA_OSPF_BFD_H */
50