Qtech vendor refactored.
This commit is contained in:
@@ -9,6 +9,7 @@ use strict;
|
|||||||
use warnings;
|
use warnings;
|
||||||
use Exporter;
|
use Exporter;
|
||||||
use SNMP::Info::Layer3;
|
use SNMP::Info::Layer3;
|
||||||
|
use Data::Dumper;
|
||||||
|
|
||||||
@SNMP::Info::Layer3::Qtech::ISA = qw/SNMP::Info::Layer3 Exporter/;
|
@SNMP::Info::Layer3::Qtech::ISA = qw/SNMP::Info::Layer3 Exporter/;
|
||||||
@SNMP::Info::Layer3::Qtech::EXPORT_OK = qw//;
|
@SNMP::Info::Layer3::Qtech::EXPORT_OK = qw//;
|
||||||
@@ -33,11 +34,46 @@ $VERSION = '3.70-135';
|
|||||||
|
|
||||||
%MUNGE = ( %SNMP::Info::Layer3::MUNGE, );
|
%MUNGE = ( %SNMP::Info::Layer3::MUNGE, );
|
||||||
|
|
||||||
|
sub main {
|
||||||
|
#no strict 'refs';
|
||||||
|
my $obj = shift;
|
||||||
|
my $response = undef; my $serial = undef; my $model = undef; my $hw = undef; my $os_ver = undef; my $brom = undef;
|
||||||
|
if ( $obj->id() =~ /27514\.1\.3\.25\.2$/ ) {
|
||||||
|
#QSW-2900 enterprises.27514.1.3.25.2
|
||||||
|
$response = $obj->session()->get('enterprises.27514.1.2.1.1.2.2.0');
|
||||||
|
$response =~ s/QTECH\s+//;
|
||||||
|
($model, $os_ver) = $response =~ /([\w,\d,-]+)\s([\w,\d]+)$/;
|
||||||
|
$hw = $obj->session()->get('enterprises.27514.1.2.1.1.2.8.0');
|
||||||
|
$brom = $obj->session()->get('enterprises.27514.1.2.1.1.2.9.0');
|
||||||
|
$serial = $obj->session()->get('enterprises.27514.1.2.1.1.2.19.0');
|
||||||
|
}
|
||||||
|
elsif ( $obj->id() =~ /27514\.6\.55$/ ) {
|
||||||
|
#QSW-2500E enterprises.27514.6.55
|
||||||
|
($os_ver, $model) = $obj->session->get('enterprises.27514.6.1.1.1.1.0') =~ /QOS_([\d,\.]+)\.(QSW[-,\w,\d]+)/;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
$model = $obj->model_oid;
|
||||||
|
$hw = $obj->hw_oid;
|
||||||
|
$os_ver = $obj->os_ver_oid;
|
||||||
|
$brom = $obj->bootrom_oid;
|
||||||
|
$serial = $obj->serial_oid;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (not defined($serial) or $serial eq "N/A") {
|
||||||
|
#QSW-2800 enterprises.27514.1.1.1.48 could be N/A serial under specific OID.
|
||||||
|
#Try to get from Descr.0
|
||||||
|
my $descr = $obj->description();
|
||||||
|
($serial) = $descr =~ /Serial\sNo\.:\s*([\d,\w]+)/;
|
||||||
|
}
|
||||||
|
|
||||||
|
$model = join ' HW:', ($model, $hw) if defined($model) and defined($hw);
|
||||||
|
$os_ver = join ' bootrom:', ($os_ver, $brom) if defined($os_ver) and defined($brom);
|
||||||
|
return { 'model' => $model, 'os_ver' => $os_ver, 'serial' => $serial};
|
||||||
|
}
|
||||||
|
|
||||||
sub model {
|
sub model {
|
||||||
my $qtech = shift;
|
my $qtech = shift;
|
||||||
my $model = $qtech->model_oid;
|
return $qtech->main->{model};
|
||||||
my $hw = $qtech->hw_oid;
|
|
||||||
return $model . ' HW:' . $hw;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
sub vendor {
|
sub vendor {
|
||||||
@@ -50,14 +86,12 @@ sub os {
|
|||||||
|
|
||||||
sub os_ver {
|
sub os_ver {
|
||||||
my $qtech = shift;
|
my $qtech = shift;
|
||||||
my $os_ver = $qtech->os_ver_oid;
|
return $qtech->main->{os_ver};
|
||||||
return $os_ver . ' bootrom: ' . $qtech->bootrom_oid;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
sub serial {
|
sub serial {
|
||||||
my $qtech = shift;
|
my $qtech = shift;
|
||||||
my $serial = $qtech->serial_oid;
|
return $qtech->main->{serial};
|
||||||
return $serial;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
1;
|
1;
|
||||||
|
|||||||
Reference in New Issue
Block a user