Annotation of embedaddon/bird2/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: 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>