One of our longest standing issues has finally been uncovered.
Ever since we have used MT from 2.7.x we have noticed that radius accounting was sometimes reading low for very heavy users.
We are now running 2.9.27 PPPoE servers with freeradius and the problem still exists.
The problem is that the MT PPPoE Server ppp byte counters appear to be limited to 32bit, or a maximum of 4294967295. This equates to approx 4.3 gigabytes. When you go past this number THE COUNTER WRAPS BACK TO ZERO !
In laymans terms, what this means is, if you use a radius server with your MT Radius client, and your users use more than 4.3gb per ‘radius session’ then their session usage will read very low.
EG IF I use 5gb of data in a single radius session, the end result is that only about 700Mb will get accounted for.
Solution: Ensure you impose a 4gb radius session limitation !
The proposed Xmit-Limit / Recv-Limit solution works, but I think it is not the most elegant way to do this. I find it disturbing to disconnect a customer (even very shortly) only because I would need this as a workaround for the accounting system. For some setups this might be acceptable (roaming hotspot users, “cheap” residential users etc.), but for customers that are expecting a “leased line experience” I find this unacceptable.
That’s why I use Radius interim accounting and the Acct-Input-Gigawords/Acct-Input-Octets/Acct-Output-Gigawords/… attributes with radius accounting. The Gigawords counters exist just to solve that exact problem of the 4 Gig wraparound of 32 bit counters.
I was wondering what they were for and what you say makes perfect sense. I’ll look at including them into my accounting as while it mainly deals with hotspot users, it can accomodate longterm PPP subscribers.
There are two counters, one that counts up to 4Gb, and another that counts those 4Gigs (how many times overflowed first counter). It’s hard to tell from your message whether you use the other counter or not. Some radius servers automatically support this, if you have to check whether yours does or not.