// L2TPNS Global Stuff
-// $Id: l2tpns.h,v 1.49.2.3 2005/01/13 07:58:54 bodea Exp $
+// $Id: l2tpns.h,v 1.49.2.10 2005/05/16 05:50:32 bodea Exp $
#ifndef __L2TPNS_H__
#define __L2TPNS_H__
#include <sys/types.h>
#include <libcli.h>
-#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.
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);