File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / bird / nest / bfd.h
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs - revision graph
Tue Aug 22 12:33:54 2017 UTC (6 years, 10 months ago) by misho
Branches: bird, MAIN
CVS tags: v1_6_3p0, v1_6_3, HEAD
bird 1.6.3

    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>