summaryrefslogtreecommitdiff
path: root/scripts/show_interfaces_summary
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/show_interfaces_summary')
-rwxr-xr-xscripts/show_interfaces_summary55
1 files changed, 55 insertions, 0 deletions
diff --git a/scripts/show_interfaces_summary b/scripts/show_interfaces_summary
new file mode 100755
index 0000000..020ae2c
--- /dev/null
+++ b/scripts/show_interfaces_summary
@@ -0,0 +1,55 @@
+#!/bin/bash
+# **** License ****
+# Version: VPL 1.0
+#
+# The contents of this file are subject to the Vyatta Public License
+# Version 1.0 ("License"); you may not use this file except in
+# compliance with the License. You may obtain a copy of the License at
+# http://www.vyatta.com/vpl
+#
+# Software distributed under the License is distributed on an "AS IS"
+# basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+# the License for the specific language governing rights and limitations
+# under the License.
+#
+# This code was originally developed by Vyatta, Inc.
+# Portions created by Vyatta are Copyright (C) 2007 Vyatta, Inc.
+# All Rights Reserved.
+#
+# Author: Tom Grennan
+# Date: 2007
+#
+# **** End License ****
+
+shopt -s extglob
+shopt -s nullglob
+
+declare -a full_itfs=( /sys/class/net/+(eth|vmnet|lo|sit|wan)* )
+declare -i rx_bytes rx_packets rx_errors rx_dropped rx_over_errors multicast
+declare -i tx_bytes tx_packets tx_errors tx_dropped tx_carrier_errors collisions
+
+printf '%10s %10s %10s %10s %10s\n' \
+ interface packets bytes errors drops
+
+for itf in ${full_itfs[@]##*/} ; do
+ for stat in \
+ rx_bytes rx_packets rx_errors rx_dropped rx_over_errors multicast \
+ tx_bytes tx_packets tx_errors tx_dropped tx_carrier_errors collisions
+ do
+ full_stat=/sys/class/net/${itf}/statistics/${stat}
+ if [ -r $full_stat ] ; then
+ eval $stat=$(cat $full_stat)
+ else
+ eval $stat=0
+ fi
+ done
+ printf '%10s rx %10d %10d %10d %10d\n' \
+ $itf $rx_packets $rx_bytes $rx_errors $rx_dropped
+ printf '%10s tx %10d %10d %10d %10d\n' \
+ '' $tx_packets $tx_bytes $tx_errors $tx_dropped
+done
+
+# Local Variables:
+# mode: shell-script
+# sh-indentation: 4
+# End: