diff options
author | Tom Grennan <tgrennan@vyatta.com> | 2007-09-17 17:04:09 -0700 |
---|---|---|
committer | Tom Grennan <tgrennan@vyatta.com> | 2007-09-17 17:04:09 -0700 |
commit | ee7a0bb124bf9b33e3263c3330fccba98f3d0189 (patch) | |
tree | 2618a8da31c15b20656f1d17672124705c57e499 /scripts/show_interfaces_system | |
parent | 796460d8696981a26c4ad271b9ce2e1962aa23fc (diff) | |
download | vyatta-op-ee7a0bb124bf9b33e3263c3330fccba98f3d0189.tar.gz vyatta-op-ee7a0bb124bf9b33e3263c3330fccba98f3d0189.zip |
add show_interfaces scripts
Diffstat (limited to 'scripts/show_interfaces_system')
-rwxr-xr-x | scripts/show_interfaces_system | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/scripts/show_interfaces_system b/scripts/show_interfaces_system new file mode 100755 index 0000000..abc79d4 --- /dev/null +++ b/scripts/show_interfaces_system @@ -0,0 +1,75 @@ +#!/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 **** + +test -f /etc/default/vyatta && source /etc/default/vyatta +: ${vyatta_bindir:=/opt/vyatta/bin} + +shopt -s extglob +shopt -s nullglob + +declare progname=${0##*/} +declare -a full_itfs=( /sys/class/net/+(eth|vmnet|lo|sit|wan)* ) +declare -a itfs +declare -i flags + +_usage () +{ + cat <<-EOF + $progname [ enabled ] + EOF +} + +_error () +{ + ecode=$1 + shift + echo $@ + if [ $ecode -eq 1 ] ; then + _usage + fi + exit $ecode +} + +if [ $# -gt 0 ] ; then + if [[ $1 == --+(usage|help) ]] ; then + _usage + exit 0 + elif [[ $1 != enabled ]] ; then + _error 1 Invalid option: $1 + else + for itf in ${full_itfs[@]} ; do + let -i flags="$(cat $itf/flags) & 1" + [[ $flags -eq 1 ]] && \ + itfs[${#itfs[@]}]=${itf##*/} + done + fi +else + itfs=( ${full_itfs[@]##*/} ) +fi + +$vyatta_bindir/show_interfaces_statistics ${itfs[@]} + +# Local Variables: +# mode: shell-script +# sh-indentation: 4 +# End: |