diff options
author | Jonathan Prykop <jonathan@freeside.biz> | 2016-01-21 17:35:10 -0600 |
---|---|---|
committer | Jonathan Prykop <jonathan@freeside.biz> | 2016-01-21 17:37:31 -0600 |
commit | b5ba8c79c7a22cb0ee7d001cc8fe87de527b702e (patch) | |
tree | 110584e56fee54ac70cf4c0e05fc887d72e6b57f /FS | |
parent | 79ce4384f41bbf6bae15c5a1edd6aec537940dd6 (diff) |
RT#39115: View SNMP info on svc_broadband service [bug fixes to previous]
Diffstat (limited to 'FS')
-rw-r--r-- | FS/FS/part_export/broadband_snmp_get.pm | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/FS/FS/part_export/broadband_snmp_get.pm b/FS/FS/part_export/broadband_snmp_get.pm index 18ba8ea55..1a8661286 100644 --- a/FS/FS/part_export/broadband_snmp_get.pm +++ b/FS/FS/part_export/broadband_snmp_get.pm @@ -96,18 +96,19 @@ sub snmp_results { if ($vers eq '1') { my $varbind = new SNMP::Varbind [$oid]; my $max = 1000; #sanity check - while ($max > 0 and $snmp->getnext($varbind)) { + while ($max > 0 and defined($snmp->getnext($varbind))) { last if $snmp->{'ErrorStr'}; last unless $SNMP::MIB{$varbind->[0]}; # does this happen? my $nextoid = $SNMP::MIB{$varbind->[0]}->{'objectID'}; last unless $nextoid =~ /^$oid/; $max--; - push @values, new SNMP::Varbind [ @$varbind ]; + push @values, [ @$varbind ]; } } else { # not clear on what max-repeaters (25) does, plucked value from example code # but based on testing, it isn't capping number of returned values - @values = $snmp->bulkwalk(0,25,$oid); + my ($values) = $snmp->bulkwalk(0,25,$oid); + @values = @$values if $values; } if ($snmp->{'ErrorStr'} || !@values) { push @out, { 'error' => $snmp->{'ErrorStr'} || 'No values retrieved' }; |