<div dir="ltr"><div>Thanks for the reply. I'll take a look at vnstat. It still seems like making the counters 64bit would be a better out-of-the-box solution, especially since the web-ui is displaying these values which are nearly useless.<br>
<br></div><div>--Justin <br></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Thu, Jan 24, 2013 at 9:40 AM, Sebastian Moeller <span dir="ltr"><<a href="mailto:moeller0@gmx.de" target="_blank">moeller0@gmx.de</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi Justin,<br>
<br>
have a look at vnstat and vnstati if you want to keep a better overview of Rx/Tx volumes over time… (Then again, it might not be what you are looking for)<br>
<br>
best<br>
        Sebastian<br>
<div class="im"><br>
<br>
On Jan 24, 2013, at 00:55 , Justin Madru wrote:<br>
<br>
> Hi,<br>
><br>
> I noticed that the TX/RX counter as reported by ifconfig and in the web ui loop over at 4GB (2^32). Is this something that could be fixed?<br>
<br>
</div>        Just guessing here, but that smells like a 32bit counter which might be involved to change to 64bit. So you could just periodically read out the value and compare to your last value to detect overruns (assuming you sample at a period smaller than the shortest possible roll-over time). Then again this seems what vnstat is doing.<br>

<div class="im"><br>
> Interestingly, the ifb0 device (what ever that is) does not have this issue.<br>
<br>
</div>        <a href="http://www.linuxfoundation.org/collaborate/workgroups/networking/ifb" target="_blank">http://www.linuxfoundation.org/collaborate/workgroups/networking/ifb</a><br>
<div class="im"><br>
> It would be nice to know the amount of data I've transferred at least for GE00.<br>
<br>
</div>        Me = broken record: have a look at the vnstat and vnstati packed that are part of the cerowrt repository that Dave maintains (THANKS A LOT)<br>
<br>
If you should go the vnstat route here is what I ended up with (nothing fancy, but it seems to work okay):<br>
<br>
Here is my System->Startup-> local startup (can be pasted into the lucy text box)<br>
<br>
# Put your custom commands here that should be executed once<br>
# the system init finished. By default this file does nothing.<br>
<br>
#manual vnstat updates... since vnstat logs to tmpfs re-init the database<br>
mkdir /var/lib/vnstat<br>
vnstat -u -i ge00<br>
<br>
# start the traffic shaping script on startup...<br>
#/usr/sbin/simple_qos.sh<br>
<br>
<br>
# be verbose in dmesg and log<br>
echo 1 1 1 1 > /proc/sys/kernel/printk<br>
# helps unaligned access errors show up in log<br>
#echo 2 > /sys/kernel/debug/mips/unaligned_action<br>
<br>
# to make vnstat robust against reboots (to monitor volume caps)<br>
# this will copy the saved vnstat database over the just initialized (more or less empty db)<br>
/etc/init.d/vnstatbackup restore<br>
<br>
# minimize the too large tmpfs (to avoid OOM), this is better handled by adding swap<br>
# might interfere with sys upgrade procedure (default is ram/2 IIRC<br>
mount tmpfs /tmp -t tmpfs -o remount,size=16000k,nosuid,nodev<br>
<br>
exit 0<br>
<br>
<br>
and here is /etc/init.d/vnstatbackup:<br>
<br>
#!/bin/sh<br>
## Please visit <a href="http://wiki.openwrt.org/doc/howto/vnstat" target="_blank">http://wiki.openwrt.org/doc/howto/vnstat</a><br>
# 20121008sm: automate parsing of vnstat related information<br>
# place this script in /etc/init.d<br>
# make it executable: chmod 755 /etc/init.d/vnstatbackup<br>
# 4 CRON: echo "*/30 * * * * /etc/init.d/vnstatbackup backup" >> /etc/crontabs/root<br>
#       /etc/init.d/cron restart<br>
# 4 INIT add<br>
# /etc/init.d/vnstatbackup restore<br>
# to /etc/rc.local<br>
<br>
<br>
# edit this to point to where you stored the db<br>
BACKUP_BASE_DIR="/home/persistent"      # where to store the database backup<br>
<br>
# for vnstat have a look at /etc/vnstat.conf (code taken from /etc/init.d/vnstat)<br>
vnstat_option() {<br>
    sed -ne "s/^[[:space:]]*$1[[:space:]]*['\"]\([^'\"]*\)['\"].*/\1/p" \<br>
    /etc/vnstat.conf<br>
}<br>
VNSTAT_DB_DIR="$(vnstat_option DatabaseDir)"<br>
VNSTAT_BASE_DIR=`dirname ${VNSTAT_DB_DIR}` #${VNSTAT_DB_DIR%/*}<br>
VNSTAT_SUB_DIR=`basename ${VNSTAT_DB_DIR}` #"vnstat"<br>
<br>
#echo "VNSTAT_DB_DIR ${VNSTAT_DB_DIR}"<br>
#echo "VNSTAT_BASE_DIR ${VNSTAT_BASE_DIR}"<br>
#echo "VNSTAT_SUB_DIR ${VNSTAT_SUB_DIR}"<br>
#echo "BACKUP_BASE_DIR ${BACKUP_BASE_DIR}"<br>
<br>
case $1 in<br>
    backup)<br>
        cp -r ${VNSTAT_BASE_DIR}/${VNSTAT_SUB_DIR} ${BACKUP_BASE_DIR}<br>
        ;;<br>
    restore)<br>
        cp -r ${BACKUP_BASE_DIR}/${VNSTAT_SUB_DIR} ${VNSTAT_BASE_DIR}<br>
        ;;<br>
    *)<br>
        echo "Please use 'backup' or 'restore' parameter for run";<br>
        ;;<br>
esac<br>
<br>
exit 0<br>
<br>
Note that I mounted a USB stick under /home to have plenty of space, but you should also be able to use the persistent overlay part of cerowrt (where config files and such are stored) but that will stress the precious flash (a usb stick, by virtue of being replaceable and cheap is just less precious).<br>

<br>
Finally System->Scheduled Tasks:<br>
<br>
*/5 * * * * vnstat -u<br>
*/30 * * * * /etc/init.d/vnstatbackup backup<br>
<br>
The first polls the Rx/Tx counters every 5 minutes (if your link is very fast you might want to reduce that)<br>
The second pushes the vnstat database every 30 minutes to the stick. The idea here is that you might want vnstat to do something even when the stick is (accidentally) removed.<br>
<br>
best<br>
        Sebastian<br>
<br>
<br>
><br>
> --Justin Madru<br>
> _______________________________________________<br>
> Cerowrt-devel mailing list<br>
> <a href="mailto:Cerowrt-devel@lists.bufferbloat.net">Cerowrt-devel@lists.bufferbloat.net</a><br>
> <a href="https://lists.bufferbloat.net/listinfo/cerowrt-devel" target="_blank">https://lists.bufferbloat.net/listinfo/cerowrt-devel</a><br>
<br>
</blockquote></div><br></div>