Tomsk. Fix Dlink model.
Something fail -(. Undefined OID for DLink return NOSUCHOBJECT instead undef..
This commit is contained in:
@@ -32,6 +32,7 @@ use strict;
|
||||
use warnings;
|
||||
use Exporter;
|
||||
use SNMP::Info::Layer3;
|
||||
use Data::Dumper;
|
||||
|
||||
@SNMP::Info::Layer3::DLink::ISA = qw/SNMP::Info::Layer3 Exporter/;
|
||||
@SNMP::Info::Layer3::DLink::EXPORT_OK = qw//;
|
||||
@@ -102,7 +103,25 @@ sub os {
|
||||
|
||||
sub os_ver {
|
||||
my $obj = shift;
|
||||
return $obj->fwver();
|
||||
my $os_ver = undef;
|
||||
my $model = $obj->model();
|
||||
my $id = $obj->id();
|
||||
|
||||
#Due to the zoo of MIB from DLink by 1210 series
|
||||
$os_ver = $obj->session()->get($id.'.1.3.0') if $model =~ /1210/;
|
||||
|
||||
while (not defined $os_ver) {
|
||||
$os_ver = $obj->dlink_fw();
|
||||
last if defined $os_ver;
|
||||
|
||||
$os_ver = $obj->session()->get('enterprises.171.10.94.89.89.2.4.0');
|
||||
last;
|
||||
}
|
||||
|
||||
my $brom = $obj->brom();
|
||||
$os_ver .= ' bootrom:' . $brom if defined $brom;
|
||||
|
||||
return $os_ver if defined $os_ver;
|
||||
}
|
||||
|
||||
sub serial {
|
||||
@@ -121,35 +140,41 @@ sub serial {
|
||||
return $dlink->SUPER::serial();
|
||||
}
|
||||
|
||||
sub fwver {
|
||||
my $dlink=shift;
|
||||
my $model = $dlink->model();
|
||||
my $id = $dlink->id();
|
||||
my $fw;
|
||||
if ($model =~ /1210/) {
|
||||
#Due to the zoo of MIB from DLink by 1210 series
|
||||
$fw->{0} = $dlink->session()->get($id.'.1.3.0');
|
||||
} else {
|
||||
$fw = $dlink->dlink_fw();
|
||||
}
|
||||
return $fw->{0} if ( defined $fw->{0} and $fw->{0} !~ /^\s*$/ and $fw->{0} !~ 'NOSUCHOBJECT');
|
||||
sub brom {
|
||||
my $obj = shift;
|
||||
my $brom = undef;
|
||||
|
||||
$brom = $obj->session()->get('enterprises.171.10.94.89.89.2.10.0');
|
||||
|
||||
return $brom if defined $brom;
|
||||
}
|
||||
|
||||
sub hwver {
|
||||
my $dlink=shift;
|
||||
my $id = $dlink->id();
|
||||
my $obj=shift;
|
||||
my $id = $obj->id();
|
||||
my $model = &SNMP::translateObj($id);
|
||||
my $hw;
|
||||
if ($model =~ /1210/) {
|
||||
#Due to the zoo of MIB from DLink by 1210 series
|
||||
$hw->{0} = $dlink->session()->get($id.'.1.2.0');
|
||||
} else {
|
||||
$hw = $dlink->dlink_hw();
|
||||
}
|
||||
return $hw->{0} if ( defined $hw->{0} and $hw->{0} !~ /^\s*$/ and $hw->{0} !~ 'NOSUCHOBJECT');
|
||||
my $hw = undef;
|
||||
|
||||
$hw = $dlink->session()->get('rmon.19.3.0');
|
||||
return $hw if defined($hw);
|
||||
#Due to the zoo of MIB from DLink by 1210 series
|
||||
$hw = $obj->session()->get($id.'.1.2.0') if $model =~ /1210/;
|
||||
$hw = undef if defined $hw and $hw eq 'NOSUCHOBJECT';
|
||||
|
||||
while(not defined $hw){
|
||||
$hw = $obj->dlink_hw() || undef;
|
||||
$hw = undef if defined $hw and $hw eq 'NOSUCHOBJECT';
|
||||
last if defined $hw;
|
||||
|
||||
$hw = $obj->session()->get('rmon.19.3.0') || undef;
|
||||
$hw = undef if defined $hw and $hw eq 'NOSUCHOBJECT';
|
||||
last if defined $hw;
|
||||
|
||||
$hw = $obj->session()->get('enterprises.171.10.94.89.89.2.10.0') || undef;
|
||||
$hw = undef if defined $hw and $hw eq 'NOSUCHOBJECT';
|
||||
|
||||
last;
|
||||
}
|
||||
|
||||
return $hw if defined $hw;
|
||||
}
|
||||
|
||||
sub stp_i_root_port {
|
||||
|
||||
Reference in New Issue
Block a user