From ee7a0bb124bf9b33e3263c3330fccba98f3d0189 Mon Sep 17 00:00:00 2001 From: Tom Grennan Date: Mon, 17 Sep 2007 17:04:09 -0700 Subject: add show_interfaces scripts --- scripts/show_interfaces_summary | 55 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100755 scripts/show_interfaces_summary (limited to 'scripts/show_interfaces_summary') 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: -- cgit v1.2.3