- sessionidt next; // next session in linked list
- sessionidt far; // far end session ID
- tunnelidt tunnel; // tunnel ID
- ipt ip; // IP of session set by RADIUS response
- unsigned long sid; // session id for hsddb
- u16 nr; // next receive
- u16 ns; // next send
- u32 magic; // ppp magic number
- u32 cin, cout; // byte counts
- u32 pin, pout; // packet counts
- u32 id; // session id
- clockt opened; // when started
- clockt die; // being closed, when to finally free
- time_t last_packet; // Last packet from the user (used for idle timeouts)
- ipt dns1, dns2; // DNS servers
- routet route[MAXROUTE]; // static routes
- u8 radius; // which radius session is being used (0 for not waiting on authentication)
- u8 flags; // various bit flags
- u8 snoop; // are we snooping this session?
- u8 throttle; // is this session throttled?
- u8 walled_garden; // is this session stuck in the walled garden?
- u16 mru; // maximum receive unit
- u16 tbf; // filter bucket for throttling
+ sessionidt next; // next session in linked list
+ sessionidt far; // far end session ID
+ tunnelidt tunnel; // tunnel ID
+ ipt ip; // IP of session set by RADIUS response
+ int ip_pool_index; // index to IP pool
+ unsigned long sid; // session id for hsddb
+ u16 nr; // next receive
+ u16 ns; // next send
+ u32 magic; // ppp magic number
+ u32 cin, cout; // byte counts
+ u32 pin, pout; // packet counts
+ u32 total_cin; // This counter is never reset while a session is open
+ u32 total_cout; // This counter is never reset while a session is open
+ u32 id; // session id
+ clockt opened; // when started
+ clockt die; // being closed, when to finally free
+ time_t last_packet; // Last packet from the user (used for idle timeouts)
+ ipt dns1, dns2; // DNS servers
+ routet route[MAXROUTE]; // static routes
+ u8 radius; // which radius session is being used (0 for not waiting on authentication)
+ u8 flags; // various bit flags
+ u8 snoop; // are we snooping this session?
+ u8 throttle; // is this session throttled?
+ u8 walled_garden; // is this session gardened?
+ u16 mru; // maximum receive unit
+ u16 tbf; // filter bucket for throttling