Just noted a problem getting wrong AcctInput/OutputOctets in my radacct-table.
What I've verified from the seperate details' files: when the (probably 32-bit wide
integer) counters overflow at 4,294,967,296 Octets in one session (can happen with
xDSL, 24hrs session time) I get only the overflowed small value written to the
database.
Now, first I thought this is probably nothing to blame freeradius for but as we're
billing based on volume transferred this is something to look closer at for me ;) and
other users may be interested..
After digging some deeper, I found an additional attribute which brings the Ciscos out
of being blamed; after the counter-wrap they've sent two additional attributes:
Acct-Input-Gigawords = 0
Acct-Output-Gigawords = 1
Now, I've change my sql.conf to deal with this when inserting Octets; for the
details'files and my radacct-table this fixes things.
Probably something that should go into the default sql.conf of the distribution ?
I don't know wether it might make sense to fix this earlier in freeradius-code (in
case there're some other places/modules where the Octets are used and should already
be summed up with Gigawords), thats up to the developers..
Anyway, what I've changed in my sql.conf (using mysql, other my differ using
POW(2,32)=4294967296) replace:
'%{Acct-Input-Octets}' with '%{Acct-Input-Octets} + (%{Acct-Input-Gigawords:-0} *
POW(2,32))'
'%{Acct-Output-Octets}' with '%{Acct-Output-Octets} + (%{Acct-Output-Gigawords:-0} *
POW(2,32))'
Michael
-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html