Annotation of embedaddon/bird/nest/bfd.h, revision 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:
! 23: void (*hook)(struct bfd_request *);
! 24: void *data;
! 25:
! 26: struct bfd_session *session;
! 27:
! 28: u8 state;
! 29: u8 diag;
! 30: u8 old_state;
! 31: u8 down;
! 32: };
! 33:
! 34:
! 35: #define BFD_STATE_ADMIN_DOWN 0
! 36: #define BFD_STATE_DOWN 1
! 37: #define BFD_STATE_INIT 2
! 38: #define BFD_STATE_UP 3
! 39:
! 40:
! 41: #ifdef CONFIG_BFD
! 42:
! 43: struct bfd_request * bfd_request_session(pool *p, ip_addr addr, ip_addr local, struct iface *iface, void (*hook)(struct bfd_request *), void *data);
! 44:
! 45: static inline void cf_check_bfd(int use UNUSED) { }
! 46:
! 47: #else
! 48:
! 49: static inline struct bfd_request * bfd_request_session(pool *p, ip_addr addr, ip_addr local, struct iface *iface, void (*hook)(struct bfd_request *), void *data) { return NULL; }
! 50:
! 51: static inline void cf_check_bfd(int use) { if (use) cf_error("BFD not available"); }
! 52:
! 53: #endif /* CONFIG_BFD */
! 54:
! 55:
! 56:
! 57: #endif /* _BIRD_NBFD_H_ */
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>