From b9cd4295519d0e8b627f55448ab4baf3b28f0e97 Mon Sep 17 00:00:00 2001 From: Oliver Gorwits Date: Tue, 11 Jul 2017 21:01:33 +0100 Subject: [PATCH] Layer3::Juniper fixed to return os_ver for JUNOS 14.x and higher --- Changes | 6 ++++++ lib/SNMP/Info/Layer3/Juniper.pm | 17 ++++++++++------- 2 files changed, 16 insertions(+), 7 deletions(-) diff --git a/Changes b/Changes index a99b5d72..bc5a6a49 100644 --- a/Changes +++ b/Changes @@ -1,5 +1,11 @@ SNMP::Info - Friendly OO-style interface to Network devices using SNMP. +version 3.37 (2017-07-11) + + [ENHANCEMENTS] + + * Layer3::Juniper fixed to return os_ver for JUNOS 14.x and higher + version 3.36 (2017-06-28) [ENHANCEMENTS] diff --git a/lib/SNMP/Info/Layer3/Juniper.pm b/lib/SNMP/Info/Layer3/Juniper.pm index 2ef244df..cf256079 100644 --- a/lib/SNMP/Info/Layer3/Juniper.pm +++ b/lib/SNMP/Info/Layer3/Juniper.pm @@ -110,15 +110,18 @@ sub layers { sub os_ver { my $juniper = shift; - my $descr = $juniper->description() || ''; - my $lldp_descr = $juniper->lldp_sysdesc() || ''; + my $sys_descr = $juniper->description() || ''; + my $lldp_descr = $juniper->lldp_sysdesc() || ''; - if ( $descr =~ m/kernel JUNOS ([^,\s]+)/ ) { - return $1; - } - elsif ( $lldp_descr =~ m/version\s(\S+)\s/ ) { - return $1; + foreach my $descr ($sys_descr, $lldp_descr) { + if ( $descr =~ m/kernel JUNOS ([^,\s]+)/ ) { + return $1; + } + elsif ( $descr =~ m/version\s(\S+)\s/ ) { + return $1; + } } + return; }