From 4cb30839934b536c7f46e168dc8f6c2d20925d1d Mon Sep 17 00:00:00 2001 From: Andrey Pazychev Date: Wed, 20 May 2020 17:49:53 +0300 Subject: [PATCH] Qtech. China could use different OID prefix for same one ObjectID. Fixed. --- lib/SNMP/Info/Layer3/Qtech.pm | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/lib/SNMP/Info/Layer3/Qtech.pm b/lib/SNMP/Info/Layer3/Qtech.pm index 6135d312..f829af1d 100644 --- a/lib/SNMP/Info/Layer3/Qtech.pm +++ b/lib/SNMP/Info/Layer3/Qtech.pm @@ -39,15 +39,20 @@ sub main { 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\./ ) { - #QSW-2900 enterprises.27514.1.3.25.2 + #QSW-2900 enterprises.27514.1.3.25.2 - two prefix possible 13464 and 27514 #QSW-2900-24T enterprises.27514.1.3.13 #QSW-3900 enterprises.27514.1.3.26.2 and other... - $response = $obj->session()->get('enterprises.27514.1.2.1.1.2.2.0'); + my $oid_prefix = 'enterprises.13464'; + $response = $obj->session()->get($oid_prefix . '.1.2.1.1.2.2.0'); + if (not defined($response)) { + $oid_prefix = 'enterprises.27514'; + $response = $obj->session()->get($oid_prefix . '.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'); + $hw = $obj->session()->get($oid_prefix . '.1.2.1.1.2.8.0'); + $brom = $obj->session()->get($oid_prefix . '.1.2.1.1.2.9.0'); + $serial = $obj->session()->get($oid_prefix . '.1.2.1.1.2.19.0'); } elsif ( $obj->id() =~ /27514\.6\.55$/ ) { #QSW-2500E enterprises.27514.6.55