X-Git-Url: http://git.sameswireless.fr/l2tpns.git/blobdiff_plain/5f9801f30e6ee4192a8a60e9919eb2de544e6060..a2e6b92a23efbf09fa37445e2b82c88892d68662:/l2tpns.h diff --git a/l2tpns.h b/l2tpns.h index 396d4f6..c42b6b7 100644 --- a/l2tpns.h +++ b/l2tpns.h @@ -1,5 +1,5 @@ // L2TPNS Global Stuff -// $Id: l2tpns.h,v 1.63 2005/04/18 05:07:20 bodea Exp $ +// $Id: l2tpns.h,v 1.65 2005/05/05 10:02:08 bodea Exp $ #ifndef __L2TPNS_H__ #define __L2TPNS_H__ @@ -181,11 +181,11 @@ typedef struct time_t last_packet; // Last packet from the user (used for idle timeouts) in_addr_t dns1, dns2; // DNS servers routet route[MAXROUTE]; // static routes - uint16_t radius; // which radius session is being used (0 for not waiting on authentication) uint16_t mru; // maximum receive unit uint16_t tbf_in; // filter bucket for throttling in from the user. uint16_t tbf_out; // filter bucket for throttling out to the user. uint8_t l2tp_flags; // various bit flags from the ICCN on the l2tp tunnel. + uint32_t flags; // Various session flags. uint8_t walled_garden; // is this session gardened? char random_vector[MAXTEL]; int random_vector_length; @@ -194,10 +194,8 @@ typedef struct char calling[MAXTEL]; // calling number uint32_t tx_connect_speed; uint32_t rx_connect_speed; - uint32_t flags; // Various session flags. in_addr_t snoop_ip; // Interception destination IP uint16_t snoop_port; // Interception destination port - uint16_t sid; // near end session id. uint8_t filter_in; // input filter index (to ip_filters[N-1]; 0 if none) uint8_t filter_out; // output filter index struct in6_addr ipv6route; // Static IPv6 route @@ -226,6 +224,12 @@ typedef struct clockt last_packet_out; uint32_t packets_out; uint32_t packets_dropped; + + // RADIUS session in use + uint16_t radius; + + // interim RADIUS + time_t last_interim; } sessionlocalt; #define SESSIONPFC 1 // PFC negotiated flags @@ -314,8 +318,8 @@ enum RADIUSIPCP, // sending IPCP to end user RADIUSSTART, // sending start accounting to RADIUS server RADIUSSTOP, // sending stop accounting to RADIUS server + RADIUSINTERIM, // sending interim accounting to RADIUS server RADIUSWAIT, // waiting timeout before available, in case delayed replies - RADIUSDEAD, // errored while talking to radius server. }; struct Tstats @@ -443,6 +447,7 @@ typedef struct char radiussecret[64]; int radius_accounting; + int radius_interim; in_addr_t radiusserver[MAXRADSERVER]; // radius servers uint16_t radiusport[MAXRADSERVER]; // radius base ports uint8_t numradiusservers; // radius server count