// L2TPNS Global Stuff
-// $Id: l2tpns.h,v 1.11 2004/07/08 16:54:35 bodea Exp $
+// $Id: l2tpns.h,v 1.16 2004/08/26 04:44:26 fred_nerk Exp $
#ifndef __L2TPNS_H__
#define __L2TPNS_H__
#define MAX_LOG_LENGTH 512 // Maximum size of log message
#define ECHO_TIMEOUT 60 // Time between last packet sent and LCP ECHO generation
#define IDLE_TIMEOUT 240 // Time between last packet sent and LCP ECHO generation
+#define BUSY_WAIT_TIMEOUT 3000 // 5 minutes in 1/10th seconds to wait for radius to cleanup on shutdown
// Constants
#include "config.h"
#define ACCT_TIME 3000 // 5 minute accounting interval
#define L2TPPORT 1701 // L2TP port
#define RADPORT 1645 // old radius port...
-#define RADAPORT 1646 // old radius accounting port
#define PKTARP 0x0806 // ARP packet type
#define PKTIP 0x0800 // IP packet type
#define PSEUDOMAC 0x0200 // pseudo MAC prefix (local significant MAC)
ProtocolRej,
EchoReq,
EchoReply,
- DiscardRequest
+ DiscardRequest,
+ IdentRequest
};
// Types
#define CLI_SESS_NOTHROTTLE 0x10
struct cli_tunnel_actions {
- char action;
+ char action;
};
#define CLI_TUN_KILL 0x01
#define SESSIONPFC 1 // PFC negotiated flags
#define SESSIONACFC 2 // ACFC negotiated flags
+#define SESSIONLCPACK 4 // LCP negotiated
// 168 bytes per tunnel
typedef struct tunnels
int debug; // debugging level
time_t start_time; // time when l2tpns was started
char bandwidth[256]; // current bandwidth
+ char pid_file[256]; // file to write PID to on startup
+ int wrote_pid;
clockt current_time; // 1/10ths of a second since the process started.
// means that we can only run a given process
// for 13 years without re-starting!
char radiussecret[64];
int radius_accounting;
ipt radiusserver[MAXRADSERVER]; // radius servers
+ u16 radiusport[MAXRADSERVER]; // radius base ports
u8 numradiusservers; // radius server count
short num_radfds; // Number of radius filehandles allocated
char old_plugins[64][MAXPLUGINS];
int next_tbf; // Next HTB id available to use
- int scheduler_fifo; // If 1, will force scheduler to use SCHED_FIFO.
- // Don't use this unless you have a dual processor machine!
- int icmp_rate; // Max number of ICMP unreachable per second to send
+ int scheduler_fifo; // If the system has multiple CPUs, use FIFO scheduling policy for this process.
+ int lock_pages; // Lock pages into memory.
+ int icmp_rate; // Max number of ICMP unreachable per second to send>
u32 cluster_address; // Multicast address of cluster.
// Send to this address to have everyone hear.