// L2TPNS Global Stuff
-// $Id: l2tpns.h,v 1.84 2005/08/24 23:44:08 bodea Exp $
+// $Id: l2tpns.h,v 1.89 2005/09/13 14:23:07 bodea Exp $
#ifndef __L2TPNS_H__
#define __L2TPNS_H__
#include <sys/types.h>
#include <libcli.h>
-#define VERSION "2.1.4"
+#define VERSION "2.1.6"
// Limits
#define MAXTUNNEL 500 // could be up to 65535
#define T_FREE (0) // A tunnel ID that won't ever be used. Mark session as free.
#define MAXCONTROL 1000 // max length control message we ever send...
-#define MAXETHER (1500+18) // max packet we try sending to tun
+#define MAXMRU 1500 // max MRU as defined by RFC1661
+#define MAXETHER (MAXMRU+18) // max packet we try sending to tun
#define MAXTEL 96 // telephone number
#define MAXUSER 128 // username
#define MAXPASS 128 // password
int nak_sent;
} lcp, ipcp, ipv6cp, ccp;
+ // identifier for Protocol-Reject, Code-Reject
+ uint8_t lcp_ident;
+
// authentication to use
int lcp_authtype;
int cluster_last_hb_ver; // Heartbeat version last seen from master
int cluster_num_changes; // Number of changes queued.
+ int cluster_mcast_ttl; // TTL for multicast packets
int cluster_hb_interval; // How often to send a heartbeat.
int cluster_hb_timeout; // How many missed heartbeats trigger an election.
uint64_t cluster_table_version; // # state changes processed by cluster
void processccp(sessionidt s, tunnelidt t, uint8_t *p, uint16_t l);
void sendchap(sessionidt s, tunnelidt t);
uint8_t *makeppp(uint8_t *b, int size, uint8_t *p, int l, sessionidt s, tunnelidt t, uint16_t mtype);
-void sendlcp(sessionidt s, tunnelidt t, int authtype);
+void sendlcp(sessionidt s, tunnelidt t);
void send_ipin(sessionidt s, uint8_t *buf, int len);
void sendccp(sessionidt s, tunnelidt t);