X-Git-Url: http://git.sameswireless.fr/l2tpns.git/blobdiff_plain/1a8d1e7b241ebd103b31db2b518673cf4265f37f..b02fdbcde70dc5bee0a4f0edb86f7ffe0b5a2a3b:/l2tpns.h?ds=sidebyside diff --git a/l2tpns.h b/l2tpns.h index 55e4065..0262ac6 100644 --- a/l2tpns.h +++ b/l2tpns.h @@ -1,5 +1,5 @@ // L2TPNS Global Stuff -// $Id: l2tpns.h,v 1.29 2004-11-05 02:47:47 bodea Exp $ +// $Id: l2tpns.h,v 1.33 2004-11-11 03:07:43 bodea Exp $ #ifndef __L2TPNS_H__ #define __L2TPNS_H__ @@ -15,7 +15,7 @@ #include #include -#define VERSION "2.0.3" +#define VERSION "2.0.6" // Limits #define MAXTUNNEL 500 // could be up to 65535 @@ -203,16 +203,16 @@ typedef struct sessions } sessiont; -#define SF_IPCP_ACKED (1<<0) // Has this session seen an IPCP Ack? +#define SF_IPCP_ACKED 1 // Has this session seen an IPCP Ack? +#define SF_LCP_ACKED 2 // LCP negotiated typedef struct { u32 cin; u32 cout; } sessioncountt; -#define SESSIONPFC 1 // PFC negotiated flags -#define SESSIONACFC 2 // ACFC negotiated flags -#define SESSIONLCPACK 4 // LCP negotiated +#define SESSIONPFC 1 // PFC negotiated flags +#define SESSIONACFC 2 // ACFC negotiated flags // 168 bytes per tunnel typedef struct tunnels @@ -460,18 +460,24 @@ struct configt int cluster_hb_timeout; // How many missed heartbeats trigger an election. #ifdef BGP +#define BGP_NUM_PEERS 2 u16 as_number; - char bgp_peer[2][64]; - u16 bgp_peer_as[2]; + struct { + char name[64]; + u16 as; + int keepalive; + int hold; + } neighbour[BGP_NUM_PEERS]; #endif }; +enum config_typet { INT, STRING, UNSIGNED_LONG, SHORT, BOOL, IP, MAC }; struct config_descriptt { char *key; int offset; int size; - enum { INT, STRING, UNSIGNED_LONG, SHORT, BOOL, IP, MAC } type; + enum config_typet type; }; // arp.c @@ -540,10 +546,10 @@ int cmd_show_ipcache(struct cli_def *cli, char *command, char **argv, int argc); int cmd_show_hist_idle(struct cli_def *cli, char *command, char **argv, int argc); int cmd_show_hist_open(struct cli_def *cli, char *command, char **argv, int argc); -#undef log -#undef log_hex -#define log(D, a, s, t, f, ...) ({ if (D <= config->debug) _log(D, a, s, t, f, ## __VA_ARGS__); }) -#define log_hex(D, t, d, s) ({ if (D <= config->debug) _log_hex(D, t, d, s); }) +#undef LOG +#undef LOG_HEX +#define LOG(D, a, s, t, f, ...) ({ if (D <= config->debug) _log(D, a, s, t, f, ## __VA_ARGS__); }) +#define LOG_HEX(D, t, d, s) ({ if (D <= config->debug) _log_hex(D, t, d, s); }) void _log(int level, ipt address, sessionidt s, tunnelidt t, const char *format, ...) __attribute__((format (printf, 5, 6))); void _log_hex(int level, const char *title, const char *data, int maxsize); @@ -584,12 +590,12 @@ if (count++ < max) { \ void *array[20]; \ char **strings; \ int size, i; \ - log(0, 0, 0, t, "Backtrace follows"); \ + LOG(0, 0, 0, t, "Backtrace follows"); \ size = backtrace(array, 10); \ strings = backtrace_symbols(array, size); \ if (strings) for (i = 0; i < size; i++) \ { \ - log(0, 0, 0, t, "%s\n", strings[i]); \ + LOG(0, 0, 0, t, "%s\n", strings[i]); \ } \ free(strings); \ }