- fix leak in session freelist when initial RADIUS session allocation fails
[l2tpns.git] / l2tpns.h
index 87ed953..3c389d2 100644 (file)
--- a/l2tpns.h
+++ b/l2tpns.h
@@ -1,5 +1,5 @@
 // L2TPNS Global Stuff
 // 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.7 2005/05/07 03:51:24 bodea Exp $
 
 #ifndef __L2TPNS_H__
 #define __L2TPNS_H__
 
 #ifndef __L2TPNS_H__
 #define __L2TPNS_H__
 #include <sys/types.h>
 #include <libcli.h>
 
 #include <sys/types.h>
 #include <libcli.h>
 
-#define VERSION        "2.0.15"
+#define VERSION        "2.0.19"
 
 // Limits
 #define MAXTUNNEL      500             // could be up to 65535
 
 // 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 MAXTBFS                6000            // Maximum token bucket filters. Might need up to 2 * session.
 
 #define RADIUS_SHIFT   5
@@ -219,7 +219,7 @@ typedef struct
        clockt last_packet_out;
        uint32_t packets_out;
        uint32_t packets_dropped;
        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
 
 #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);
 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);
 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 tunnelt *tunnel;
 extern sessiont *session;
-extern sessioncountt *sess_count;
+extern sessionlocalt *sess_local;
 extern ippoolt *ip_address_pool;
 #define sessionfree (session[0].next)
 
 extern ippoolt *ip_address_pool;
 #define sessionfree (session[0].next)