#!/bin/bash

TMPDIR=/tmp/softirq-net-rx-top/
CUR=$TMPDIR/cur
PREV=$TMPDIR/prev
DIFF=$TMPDIR/diff

mkdir -p $TMPDIR
rm -f $CUR $PREV $DIFF

while sleep 1; do
	for i in $(grep NET_RX /proc/softirqs); do
		echo $i
	done | grep [0-9] > $CUR

	if [ ! -f $PREV ]; then
		mv $CUR $PREV
		continue
	fi

	for i in $(seq 1 $(wc -l < $CUR)); do
		printf "%s\t%s\n" $i $(($(sed -n "${i}p" $CUR) - $(sed -n "${i}p" $PREV)))
	done > $DIFF

	echo
	uptime  | sed 's/.*://g'
	cat $DIFF
	mv $CUR $PREV
done
