BUG !!!

I try this:

on 2.8.16 with this http://wiki.mikrotik.com/wiki/Limiting_a_user_to_a_given_amount_of_traffic
work fine, but after, 4000Mb , reading Accounting starting from ZERO (0) , but in OS still are ok number !!! , 4001 … 4500 … 6000 , etc.

in 2.9.38 with SNMP reading, same result, from 0-4000 MB ok, but after 4000mb, reading accouting are start from 0 .. but in simple queue rules in OS, result is ok, 4001 … 4500 … 6000 , etc.

Can you fix this ?!

there is nothing to repair - is just a counter overflow …

if this is counter overflow ,… why in Queue List number are ok, and there is no error ?
where is overflow , … in reading method ?

If in Queue List “Downloaded Bytes” have 5647 MiB, how SNMP read only 1600 MiB ?

I have static rules in simple queue for acounting traffic for users and after 4000 MiB , SNMP read from zero?

there is some “bug” or “problems” with this in RouterOS, and this mean that all this method from wiki.mikrotik.com not work propriety after 4000 MiB:
Limiting a user to a given amount of traffic (using firewall)
Limiting a user to a given amount of traffic II (using queues)
Limiting a user to a given amount of traffic with user levels (using queues)

am I right or not ?!

http://en.wikipedia.org/wiki/Simple_Network_Management_Protocol

Three simple data types are defined in the SNMPv1 SMI, all of which are unique values:

   1. The integer data type is a signed integer in the range of -2,147,483,648 to 2,147,483,647.

and connection bytes use same signed integer to count bytes in firewall rule.

ok,
and problems are in signed integer ?

problem is in limitations that come in with SNMP

why in winbox , when open simple queue , I see normal accouting traffic over, 4000 MiB ? this not used signed integer ?

is there any way to reading this data right ?

is this mean , if PPPoE user connect 30 days, and have traffic over 4000MiB, RouterOS send to Radius server , data with error ?
I known this is differet , but where signed integer have influence?

ok, you send me mail with this too,


tell me did I folow …

I can not used any of this :
Limiting a user to a given amount of traffic (using firewall)
Limiting a user to a given amount of traffic II (using queues)
Limiting a user to a given amount of traffic with user levels (using queues),

also can not used SNMP , … if my users had traffic over 4000MiB.

and if I want to used , I must reset counter in RouterOS before reach 4000MiB.

Is that you telling me ?

Internal in RouterOS (and what it’s showing via the WinBox) obviously the counters are wide enough to cope with that.
That you cannot read those values via SNMP is a limitation of the SNMP protocol or better it’s definition of the variable size. There’s no way to “repair” this.
If you are using RADIUS for accounting, there will be an issue with byte-counters wrapping around after 4 GB, but there IS an additional RADIUS parameter (search for “gigawords”) which is counting, how often the 4 GB limit has been reached. So you CAN do correct ip accounting using RADIUS.

Best regards,
Christian Meis

ok , I understand now.

for some reason, I must used snmp, and I will make something to counting 4 GB limit reached.

thanks

you can calculate how much you rclient can download/upload in a hour (like 1GB)

then each hour read value and store it in SQL or where ever you wish to, then with simple SQL you can get how much is used and charge for it.

when you read value do not forget to reset counter for that rule you where reading data.

4Gb limit is fixed in ROSv3