make MRU configurable, NAK config requests for larger values
[l2tpns.git] / l2tpns.h
index c58e2d9..71f8ddc 100644 (file)
--- a/l2tpns.h
+++ b/l2tpns.h
@@ -1,5 +1,5 @@
 // L2TPNS Global Stuff
-// $Id: l2tpns.h,v 1.85 2005-08-29 06:17:53 bodea Exp $
+// $Id: l2tpns.h,v 1.90 2005-09-15 09:34:49 bodea Exp $
 
 #ifndef __L2TPNS_H__
 #define __L2TPNS_H__
@@ -15,7 +15,7 @@
 #include <sys/types.h>
 #include <libcli.h>
 
-#define VERSION        "2.1.4"
+#define VERSION        "2.1.7"
 
 // Limits
 #define MAXTUNNEL      500             // could be up to 65535
@@ -31,7 +31,8 @@
 #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
@@ -286,6 +287,9 @@ typedef struct
                int nak_sent;
        } lcp, ipcp, ipv6cp, ccp;
 
+       // identifier for Protocol-Reject, Code-Reject
+       uint8_t lcp_ident;
+
        // authentication to use
        int lcp_authtype;
 
@@ -515,6 +519,7 @@ typedef struct
        int             ppp_restart_time;               // timeout for PPP restart
        int             ppp_max_configure;              // max lcp configure requests to send
        int             ppp_max_failure;                // max lcp configure naks to send
+       int             ppp_mru;                        // MRU to advertise
 
        char            radiussecret[64];
        int             radius_accounting;
@@ -570,6 +575,7 @@ typedef struct
        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