summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStephen Hemminger <stephen.hemminger@vyatta.com>2009-06-09 14:59:43 -0700
committerStephen Hemminger <stephen.hemminger@vyatta.com>2009-06-09 14:59:43 -0700
commit96c622d04550ae38bd2d1ebc8d209a79e4017067 (patch)
tree619af075e6ff4612d15bea6321625acc9ad926f6
parent9aa7cf635d60975b0c98dea5f5ea1152703f2a9e (diff)
downloadvyatta-op-96c622d04550ae38bd2d1ebc8d209a79e4017067.tar.gz
vyatta-op-96c622d04550ae38bd2d1ebc8d209a79e4017067.zip
Fix handling of invalid bonding name
Bug 4514
-rwxr-xr-xscripts/vyatta-show-bonding.pl6
1 files changed, 6 insertions, 0 deletions
diff --git a/scripts/vyatta-show-bonding.pl b/scripts/vyatta-show-bonding.pl
index 5b0a314..902be4e 100755
--- a/scripts/vyatta-show-bonding.pl
+++ b/scripts/vyatta-show-bonding.pl
@@ -81,6 +81,9 @@ sub show_brief {
printf $format, 'Interface', 'Mode', 'State', 'Link', 'Slaves';
foreach my $intf (sort @interfaces) {
+ die "Invalid bonding interface: $intf\n"
+ unless (-d "/sys/class/net/$intf/bonding" );
+
my $mode = get_sysfs_value( $intf, "bonding/mode" );
my ( $name, $num ) = split (/ /, $mode);
$mode = $modes[$num] ? $modes[$num] : $name;
@@ -98,6 +101,9 @@ sub show {
printf $format, "Interface", "RX: bytes", "packets", "TX: bytes", "packets";
foreach my $intf (sort @interfaces) {
+ die "Invalid bonding interface: $intf\n"
+ unless (-d "/sys/class/net/$intf/bonding" );
+
my @slaves = split( / /, get_sysfs_value( $intf, "bonding/slaves" ) );
printf $format, $intf, get_sysfs_value( $intf, "statistics/rx_bytes" ),
get_sysfs_value( $intf, "statistics/rx_packets" ),