Annotation of embedaddon/bird2/nest/bfd.h, revision 1.1.1.1
1.1 misho 1: /*
2: * BIRD -- Bidirectional Forwarding Detection (BFD)
3: *
4: * Can be freely distributed and used under the terms of the GNU GPL.
5: */
6:
7: #ifndef _BIRD_NBFD_H_
8: #define _BIRD_NBFD_H_
9:
10: #include "lib/lists.h"
11: #include "lib/resource.h"
12:
13: struct bfd_session;
14:
15: struct bfd_request {
16: resource r;
17: node n;
18:
19: ip_addr addr;
20: ip_addr local;
21: struct iface *iface;
22: struct iface *vrf;
23:
24: void (*hook)(struct bfd_request *);
25: void *data;
26:
27: struct bfd_session *session;
28:
29: u8 state;
30: u8 diag;
31: u8 old_state;
32: u8 down;
33: };
34:
35:
36: #define BFD_STATE_ADMIN_DOWN 0
37: #define BFD_STATE_DOWN 1
38: #define BFD_STATE_INIT 2
39: #define BFD_STATE_UP 3
40:
41:
42: #ifdef CONFIG_BFD
43:
44: struct bfd_request * bfd_request_session(pool *p, ip_addr addr, ip_addr local, struct iface *iface, struct iface *vrf, void (*hook)(struct bfd_request *), void *data);
45:
46: static inline void cf_check_bfd(int use UNUSED) { }
47:
48: #else
49:
50: static inline struct bfd_request * bfd_request_session(pool *p UNUSED, ip_addr addr UNUSED, ip_addr local UNUSED, struct iface *iface UNUSED, struct iface *vrf UNUSED, void (*hook)(struct bfd_request *) UNUSED, void *data UNUSED) { return NULL; }
51:
52: static inline void cf_check_bfd(int use) { if (use) cf_error("BFD not available"); }
53:
54: #endif /* CONFIG_BFD */
55:
56:
57:
58: #endif /* _BIRD_NBFD_H_ */
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>