should defer SNMP against pseudo devices
This commit is contained in:
@@ -58,8 +58,12 @@ Returns C<undef> if the connection fails.
|
|||||||
sub reader_for {
|
sub reader_for {
|
||||||
my ($class, $ip, $useclass) = @_;
|
my ($class, $ip, $useclass) = @_;
|
||||||
my $device = get_device($ip) or return undef;
|
my $device = get_device($ip) or return undef;
|
||||||
|
return undef if $device->in_storage
|
||||||
|
and $device->vendor and $device->vendor eq 'netdisco';
|
||||||
|
|
||||||
my $readers = $class->instance->readers or return undef;
|
my $readers = $class->instance->readers or return undef;
|
||||||
return $readers->{$device->ip} if exists $readers->{$device->ip};
|
return $readers->{$device->ip} if exists $readers->{$device->ip};
|
||||||
|
|
||||||
debug sprintf 'snmp reader cache warm: [%s]', $device->ip;
|
debug sprintf 'snmp reader cache warm: [%s]', $device->ip;
|
||||||
return ($readers->{$device->ip}
|
return ($readers->{$device->ip}
|
||||||
= _snmp_connect_generic('read', $device, $useclass));
|
= _snmp_connect_generic('read', $device, $useclass));
|
||||||
@@ -104,8 +108,12 @@ Returns C<undef> if the connection fails.
|
|||||||
sub writer_for {
|
sub writer_for {
|
||||||
my ($class, $ip, $useclass) = @_;
|
my ($class, $ip, $useclass) = @_;
|
||||||
my $device = get_device($ip) or return undef;
|
my $device = get_device($ip) or return undef;
|
||||||
|
return undef if $device->in_storage
|
||||||
|
and $device->vendor and $device->vendor eq 'netdisco';
|
||||||
|
|
||||||
my $writers = $class->instance->writers or return undef;
|
my $writers = $class->instance->writers or return undef;
|
||||||
return $writers->{$device->ip} if exists $writers->{$device->ip};
|
return $writers->{$device->ip} if exists $writers->{$device->ip};
|
||||||
|
|
||||||
debug sprintf 'snmp writer cache warm: [%s]', $device->ip;
|
debug sprintf 'snmp writer cache warm: [%s]', $device->ip;
|
||||||
return ($writers->{$device->ip}
|
return ($writers->{$device->ip}
|
||||||
= _snmp_connect_generic('write', $device, $useclass));
|
= _snmp_connect_generic('write', $device, $useclass));
|
||||||
|
|||||||
Reference in New Issue
Block a user