#!/usr/bin/perl
# Show /proc/net/snmp6 continuously. Loosely based on
# http://svn.openmoko.org//developers/werner/bin/snmp
#
# usage: snmp6 <interval>
#
$SNMP = "/proc/net/snmp6";
$LINE = 78;
$continuous = $ARGV[0];
do {
	open(PROC, $SNMP) || die "open $SNMP: $!";
	while (<PROC>) {
		die unless /^(\S+)(\s+)(\d+)$/;
		if (!defined $last{$1}) {
			print;
		} elsif ($last{$1} != $3) {
			printf "$1$2%+d\n", $3-$last{$1};
		}
		$last{$1} = $3;
	}
	close(PROC);
   
	if ($continuous) {
		sleep($continuous);
		print (("-"x$LINE)."\n");
	}
	$more = 1;
}
until (!$continuous);