annoying stop retransmissions.
Fajar A. Nugraha
list at fajar.net
Tue Nov 29 10:20:17 CET 2011
On Tue, Nov 29, 2011 at 3:57 PM, Alan DeKok <aland at deployingradius.com> wrote:
> Alexandre Chapellon wrote:
>> I don't understand what you mean by "writing a detailed state
>> machine"... state machine?
> Write down what the server receives, and what you want to do with it.
> The server receives accounting on/off start/stop and alive packets.
> It can receive those when a session is non-existent, open, or closed.
> How does the server determine the "right" thing to do? Write down the
> logic. Then, implement it.
For comparison purposes, we currently implement some config and db
schema modifications to better handle accounting packets. For example:
- always return ok on accounting packets that the NAS sends.
Implementing it requires using detail reader/writer and some unlang
blocks to catch some weird corner cases (e.g. Acct-Session-Time=0)
- use unique constraint on acctuniqueid
- remove all *_alt queries
- split "live" accounting table (those with Acct-Status-Type <>
'Stop') and "archive" accounting table
- change most insert/update queries to "INSERT .... ON DUPLICATE KEY
- use "DELETE IGNORE" to delete records from "live" accounting table
Took some effort, but it works. @Alexandre: some of the logic might be
relevant for your situation as well.
More information about the Freeradius-Users