X-Git-Url: http://git.sameswireless.fr/l2tpns.git/blobdiff_plain/c3e841988ea3dfc005a414de54d252d2fe0b071c..831cd6119f71b09f9e2e1885df0dc1dd19be281f:/l2tpns.h diff --git a/l2tpns.h b/l2tpns.h index 87ed953..ef89f16 100644 --- a/l2tpns.h +++ b/l2tpns.h @@ -1,5 +1,5 @@ // L2TPNS Global Stuff -// $Id: l2tpns.h,v 1.49.2.2 2005/01/10 07:08:14 bodea Exp $ +// $Id: l2tpns.h,v 1.49.2.10 2005/05/16 05:50:32 bodea Exp $ #ifndef __L2TPNS_H__ #define __L2TPNS_H__ @@ -15,16 +15,16 @@ #include #include -#define VERSION "2.0.15" +#define VERSION "2.0.20" // Limits #define MAXTUNNEL 500 // could be up to 65535 -#define MAXSESSION 50000 // could be up to 65535 +#define MAXSESSION 60000 // could be up to 65535 #define MAXTBFS 6000 // Maximum token bucket filters. Might need up to 2 * session. -#define RADIUS_SHIFT 5 -#define RADIUS_MASK ((unsigned short)(((unsigned short)~0) >> (16 - RADIUS_SHIFT))) -#define MAXRADIUS ((unsigned long)(1L << RADIUS_SHIFT) * 255) +#define RADIUS_SHIFT 6 +#define RADIUS_MASK ((1 << RADIUS_SHIFT) - 1) +#define MAXRADIUS (1 << 8 + RADIUS_SHIFT) #define T_UNDEF (0xffff) // A tunnel ID that won't ever be used. Mark session as undefined. #define T_FREE (0) // A tunnel ID that won't ever be used. Mark session as free. @@ -219,7 +219,7 @@ typedef struct clockt last_packet_out; uint32_t packets_out; uint32_t packets_dropped; -} sessioncountt; +} sessionlocalt; #define SESSIONPFC 1 // PFC negotiated flags #define SESSIONACFC 2 // ACFC negotiated flags @@ -579,6 +579,7 @@ void radiusclear(uint16_t r, sessionidt s); clockt backoff(uint8_t try); sessionidt sessionbyip(in_addr_t ip); sessionidt sessionbyuser(char *username); +void sessionkill(sessionidt s, char *reason); void sessionshutdown(sessionidt s, char *reason); void send_garp(in_addr_t ip); void tunnelsend(uint8_t *buf, uint16_t l, tunnelidt t); @@ -619,7 +620,7 @@ void host_unreachable(in_addr_t destination, uint16_t id, in_addr_t source, char extern tunnelt *tunnel; extern sessiont *session; -extern sessioncountt *sess_count; +extern sessionlocalt *sess_local; extern ippoolt *ip_address_pool; #define sessionfree (session[0].next)