// 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__
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;
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
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
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
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