X-Git-Url: http://git.sameswireless.fr/l2tpns.git/blobdiff_plain/80308e88382d69baa14cef9b05b72d70263ec79a..9eead72450da7ff7d5eae58979edab5d8121c4ca:/l2tpns.h?ds=sidebyside diff --git a/l2tpns.h b/l2tpns.h index 3681744..0637cfc 100644 --- a/l2tpns.h +++ b/l2tpns.h @@ -1,5 +1,5 @@ // L2TPNS Global Stuff -// $Id: l2tpns.h,v 1.40 2004-11-28 20:10:04 bodea Exp $ +// $Id: l2tpns.h,v 1.46 2004-12-13 02:27:31 bodea Exp $ #ifndef __L2TPNS_H__ #define __L2TPNS_H__ @@ -15,7 +15,7 @@ #include #include -#define VERSION "2.0.9" +#define VERSION "2.0.13" // Limits #define MAXTUNNEL 500 // could be up to 65535 @@ -77,6 +77,7 @@ #define CLIUSERS FLASHDIR "/users" // CLI Users file #define IPPOOLFILE FLASHDIR "/ip_pool" // Address pool configuration #define ACCT_TIME 3000 // 5 minute accounting interval +#define ACCT_SHUT_TIME 600 // 1 minute for counters of shutdown sessions #define L2TPPORT 1701 // L2TP port #define RADPORT 1645 // old radius port... #define PKTARP 0x0806 // ARP packet type @@ -109,6 +110,7 @@ enum // Types typedef unsigned short u16; typedef unsigned int u32; +typedef unsigned long long u64; typedef unsigned char u8; typedef u32 ipt; typedef u16 portt; @@ -277,7 +279,6 @@ struct Tringbuffer char level; sessionidt session; tunnelidt tunnel; - ipt address; char message[MAX_LOG_LENGTH]; } buffer[RINGBUFFER_SIZE]; int head; @@ -466,6 +467,7 @@ typedef struct int cluster_hb_interval; // How often to send a heartbeat. int cluster_hb_timeout; // How many missed heartbeats trigger an election. + u64 cluster_table_version; // # state changes processed by cluster #ifdef BGP #define BGP_NUM_PEERS 2 @@ -513,11 +515,14 @@ typedef struct ipt dst_ip; // dest ip ipt dst_wild; ip_filter_portt dst_ports; - u8 tcp_flag_op; // match type: any, all + u8 frag; // apply to non-initial fragments + u8 tcp_flag_op; // match type: any, all, established #define FILTER_FLAG_OP_ANY 1 #define FILTER_FLAG_OP_ALL 2 +#define FILTER_FLAG_OP_EST 3 u8 tcp_sflags; // flags set u8 tcp_cflags; // flags clear + u32 counter; // match count } ip_filter_rulet; #define TCP_FLAG_FIN 0x01 @@ -580,10 +585,10 @@ 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(D, s, t, f, ...) ({ if (D <= config->debug) _log(D, 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(int level, sessionidt s, tunnelidt t, const char *format, ...) __attribute__((format (printf, 4, 5))); void _log_hex(int level, const char *title, const char *data, int maxsize); int sessionsetup(tunnelidt t, sessionidt s); @@ -616,12 +621,12 @@ if (count++ < max) { \ void *array[20]; \ char **strings; \ int size, i; \ - LOG(0, 0, 0, t, "Backtrace follows"); \ + LOG(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, t, "%s\n", strings[i]); \ } \ free(strings); \ }