#!/bin/sh
# usage: netvolmon DEV [INTERVAL]
case "$#" in
	1|2)	:;;
	*)	echo "usage: netvolmon DEV [INTERVAL]" 1>&2; exit 1;;
esac
DEV=$1
IVAL=5
if [ "$#" -eq 2 ]; then
	IVAL=$2
fi

getrxtx() {
	grep "$1:" /proc/net/dev | sed 's/^.*://' |
		awk '{print $1, $2, $9, $10}'
	#ifconfig $1 | fgrep 'RX bytes' |
	#	sed -e 's/RX bytes://' -e 's/TX bytes://' |
	#	awk '{print $1, $4}'
}

rxtx=$(getrxtx $DEV)
while sleep $IVAL; do
	nrxtx=$(getrxtx $DEV)
	# IVAL orxb orxp otxb otxp nrxb nrxp ntxb ntxp
	(echo $IVAL $rxtx $nrxtx) |
	awk '{rxd = ($6 - $2) / (1024*1024*$1);
	      txd = ($8 - $4) / (1024*1024*$1);
	      rxp = ($7 - $3) / $1
	      txp = ($9 - $5) / $1
	      printf "%6.2f MB/s RX %6.2f MB/s TX   packets/sec: %5d RX %5d TX\n", rxd, txd, rxp, txp}'
	rxtx="$nrxtx"
done
