update test_class.pl to add mib dirs, relative path, and more debug info
This commit is contained in:
@@ -1,6 +1,9 @@
|
|||||||
SNMP::Info - Friendly OO-style interface to Network devices using SNMP.
|
SNMP::Info - Friendly OO-style interface to Network devices using SNMP.
|
||||||
ChangeLog $Id$
|
ChangeLog $Id$
|
||||||
|
|
||||||
|
version 2.01 ()
|
||||||
|
* Updated test_class.pl for better debug info and relative path
|
||||||
|
|
||||||
version 2.00 (08/01/08)
|
version 2.00 (08/01/08)
|
||||||
+ Support for Alcatel-Lucent OmniSwitch via L3::AlcatelLucent
|
+ Support for Alcatel-Lucent OmniSwitch via L3::AlcatelLucent
|
||||||
+ Support for Alcatel-Lucent Service Router via L3::Timetra
|
+ Support for Alcatel-Lucent Service Router via L3::Timetra
|
||||||
|
|||||||
@@ -9,11 +9,14 @@
|
|||||||
# $Id$
|
# $Id$
|
||||||
#
|
#
|
||||||
|
|
||||||
use lib '/usr/local/netdisco';
|
use FindBin;
|
||||||
|
use lib "$FindBin::Bin/../..";
|
||||||
|
#use lib '/usr/local/netdisco';
|
||||||
|
|
||||||
use SNMP::Info;
|
use SNMP::Info;
|
||||||
use Getopt::Long;
|
use Getopt::Long;
|
||||||
use strict;
|
use strict;
|
||||||
use vars qw/$Class $Dev $Comm $Ver @Dump %Dumped $Debug %args $NoBulk/;
|
use vars qw/$Class $Dev $Comm $Ver @Dump %Dumped $Debug %args $NoBulk $MibDirs/;
|
||||||
|
|
||||||
# Default Values
|
# Default Values
|
||||||
$Class = '';
|
$Class = '';
|
||||||
@@ -32,18 +35,31 @@ GetOptions ('c|class=s' => \$Class,
|
|||||||
'p|print=s' => \@Dump,
|
'p|print=s' => \@Dump,
|
||||||
'x|debug+' => \$Debug,
|
'x|debug+' => \$Debug,
|
||||||
'n|nobulk' => \$NoBulk,
|
'n|nobulk' => \$NoBulk,
|
||||||
|
'm|mibdir=s@' => \$MibDirs,
|
||||||
);
|
);
|
||||||
|
|
||||||
&usage unless ($Dev and $Comm);
|
&usage unless ($Dev and $Comm);
|
||||||
|
|
||||||
|
# Default MIB directories
|
||||||
|
my $n = '/usr/local/netdisco';
|
||||||
|
unless (defined $MibDirs) {
|
||||||
|
$MibDirs = ["$n/mibs/allied", "$n/mibs/asante", "$n/mibs/cisco", "$n/mibs/foundry",
|
||||||
|
"$n/mibs/hp", "$n/mibs/nortel", "$n/mibs/extreme", "$n/mibs/rfc",
|
||||||
|
"$n/mibs/net-snmp"];
|
||||||
|
}
|
||||||
|
|
||||||
$Class = $Class ? "SNMP::Info::$Class" : 'SNMP::Info';
|
$Class = $Class ? "SNMP::Info::$Class" : 'SNMP::Info';
|
||||||
eval "require $Class;";
|
eval "require $Class;";
|
||||||
if ($@) {
|
if ($@) {
|
||||||
die "Can't load Class specified : $Class.\n\n$@\n";
|
die "Can't load Class specified : $Class.\n\n$@\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
print "Class $Class loaded.\n";
|
my $class_ver = 'undef';
|
||||||
|
{ no strict 'refs';
|
||||||
|
$class_ver = ${"${Class}::VERSION"};
|
||||||
|
}
|
||||||
|
print "Class $Class ($class_ver) loaded from SNMP::Info $SNMP::Info::VERSION.\n";
|
||||||
|
#print "MIB Dirs : ",join(', ',@$MibDirs),"\n";
|
||||||
print "Dumping : ",join(',',@Dump),"\n" if scalar @Dump;
|
print "Dumping : ",join(',',@Dump),"\n" if scalar @Dump;
|
||||||
|
|
||||||
%args = ();
|
%args = ();
|
||||||
@@ -57,11 +73,13 @@ my $dev = new $Class( 'AutoSpecify' => 0,
|
|||||||
'Debug' => $Debug,
|
'Debug' => $Debug,
|
||||||
'DestHost' => $Dev,
|
'DestHost' => $Dev,
|
||||||
'Community' => $Comm,
|
'Community' => $Comm,
|
||||||
|
'MibDirs' => $MibDirs,
|
||||||
%args
|
%args
|
||||||
) or die "\n";
|
) or die "\n";
|
||||||
|
|
||||||
print "Connected to $Dev.\n";
|
print "Connected to $Dev.\n";
|
||||||
print "It's a ", $dev->device_type(), ".\n";
|
print "Detected Class: ", $dev->device_type(), "\n";
|
||||||
|
print "Using Class: $Class (-c to change)\n";
|
||||||
|
|
||||||
my $layers = $dev->layers();
|
my $layers = $dev->layers();
|
||||||
|
|
||||||
@@ -182,6 +200,7 @@ test_class - Test a device against an SNMP::Info class
|
|||||||
-p --print i_blah2
|
-p --print i_blah2
|
||||||
-x --debug debugging flag
|
-x --debug debugging flag
|
||||||
-n --nobulk disable bulkwalk
|
-n --nobulk disable bulkwalk
|
||||||
|
-m --mibdirs directory (repeat as needed)
|
||||||
|
|
||||||
end_usage
|
end_usage
|
||||||
exit;
|
exit;
|
||||||
|
|||||||
Reference in New Issue
Block a user