X-Git-Url: http://git.sameswireless.fr/l2tpns.git/blobdiff_plain/621983b8d065bd23ecffb67a2071f5f92c4dd1ff..20c047375304a710286509cc86c2fcb3e322c45c:/l2tpns.h?ds=inline diff --git a/l2tpns.h b/l2tpns.h index 13bb1fd..3d0be8f 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