diff --git a/ChangeLog b/ChangeLog index 44e74cd6..3acefeb6 100644 --- a/ChangeLog +++ b/ChangeLog @@ -26,6 +26,8 @@ version 2.07 () [BUG FIXES] + * Get OS version for Juniper devices not reporting in sysDescr + * Correct base MAC reporting for Juniper devices * Correct reporting of SSID broadcast status in Airespace class * [2929883] [3413999] LLDP interface mapping issue * [3297786] LLDP TimeMark component defaults to zero (David Baldwin) diff --git a/Info/Layer3/Juniper.pm b/Info/Layer3/Juniper.pm index b4fbcddf..a60c6638 100755 --- a/Info/Layer3/Juniper.pm +++ b/Info/Layer3/Juniper.pm @@ -53,7 +53,9 @@ $VERSION = '2.07'; %GLOBALS = ( %SNMP::Info::Layer3::GLOBALS, %SNMP::Info::LLDP::GLOBALS, - 'serial' => 'jnxBoxSerialNo.0', ); + 'serial' => 'jnxBoxSerialNo.0', + 'mac' => 'dot1dBaseBridgeAddress', + ); %FUNCS = ( %SNMP::Info::Layer3::FUNCS, %SNMP::Info::LLDP::FUNCS, @@ -88,12 +90,16 @@ sub os { sub os_ver { my $juniper = shift; - my $descr = $juniper->description(); - return unless defined $descr; + + my $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; + } return; } @@ -643,7 +649,8 @@ Returns 'junos' =item $juniper->os_ver() -Returns the software version extracted from C. +Returns the software version extracted first from C or +C if not available in C. =item $juniper->model() @@ -656,6 +663,13 @@ Returns serial number (C) +=item $juniper->serial() + +Returns the MAC address used by this bridge when it must be referred +to in a unique fashion. + +(C) + =item $juniper->hasCDP() Returns whether LLDP is enabled.