From 058b74bd63814005190f42feee967221f5bb8b16 Mon Sep 17 00:00:00 2001 From: Ambroise Date: Thu, 21 Dec 2017 16:54:22 +0100 Subject: [PATCH] Fix some model error for 3Com and H3C devices --- lib/SNMP/Info/Layer2/3Com.pm | 2 ++ lib/SNMP/Info/Layer3/H3C.pm | 14 ++++++++++++++ 2 files changed, 16 insertions(+) diff --git a/lib/SNMP/Info/Layer2/3Com.pm b/lib/SNMP/Info/Layer2/3Com.pm index 27d147a3..e14aee2f 100644 --- a/lib/SNMP/Info/Layer2/3Com.pm +++ b/lib/SNMP/Info/Layer2/3Com.pm @@ -73,6 +73,8 @@ sub model { my $descr = $dsmodel->description(); if ( $descr =~ /^([\S ]+) Software.*/){ return $1; + } else { + return $descr; } } diff --git a/lib/SNMP/Info/Layer3/H3C.pm b/lib/SNMP/Info/Layer3/H3C.pm index d4927018..3e74adef 100644 --- a/lib/SNMP/Info/Layer3/H3C.pm +++ b/lib/SNMP/Info/Layer3/H3C.pm @@ -85,6 +85,20 @@ sub vendor { return $mfg->{1} || "H3C"; } +sub model { + my $h3c = shift; + + my $descr = $h3c->description(); + if ($descr =~ /^.*\n(.*)\n/) { + return $1; + } elsif ($h3c->entPhysicalClass(2)->{2} =~ /^(3|chassis)$/) { + return $h3c->entPhysicalName(2)->{2}; + } else { + my $id = $h3c->id(); + return &SNMP::translateObj($id) || $id; + } +} + sub os { my $h3c = shift; my $descr = $h3c->description();