Qtech vendor refactored.
This commit is contained in:
@@ -9,6 +9,7 @@ use strict;
|
||||
use warnings;
|
||||
use Exporter;
|
||||
use SNMP::Info::Layer3;
|
||||
use Data::Dumper;
|
||||
|
||||
@SNMP::Info::Layer3::Qtech::ISA = qw/SNMP::Info::Layer3 Exporter/;
|
||||
@SNMP::Info::Layer3::Qtech::EXPORT_OK = qw//;
|
||||
@@ -33,11 +34,46 @@ $VERSION = '3.70-135';
|
||||
|
||||
%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 {
|
||||
my $qtech = shift;
|
||||
my $model = $qtech->model_oid;
|
||||
my $hw = $qtech->hw_oid;
|
||||
return $model . ' HW:' . $hw;
|
||||
return $qtech->main->{model};
|
||||
}
|
||||
|
||||
sub vendor {
|
||||
@@ -50,14 +86,12 @@ sub os {
|
||||
|
||||
sub os_ver {
|
||||
my $qtech = shift;
|
||||
my $os_ver = $qtech->os_ver_oid;
|
||||
return $os_ver . ' bootrom: ' . $qtech->bootrom_oid;
|
||||
return $qtech->main->{os_ver};
|
||||
}
|
||||
|
||||
sub serial {
|
||||
my $qtech = shift;
|
||||
my $serial = $qtech->serial_oid;
|
||||
return $serial;
|
||||
return $qtech->main->{serial};
|
||||
}
|
||||
|
||||
1;
|
||||
|
||||
Reference in New Issue
Block a user