Support for macsuck_no, macsuck_only, arpnip_no, arpnip_only

This commit is contained in:
Oliver Gorwits
2013-08-26 20:45:23 +01:00
parent 864da4c1ec
commit 2f7cc25daf
6 changed files with 44 additions and 20 deletions

View File

@@ -1,6 +1,7 @@
package App::Netdisco::Daemon::Worker::Poller::Arpnip;
use App::Netdisco::Core::Arpnip 'do_arpnip';
use App::Netdisco::Util::Device 'is_arpnipable';
use Role::Tiny;
use namespace::clean;
@@ -8,6 +9,7 @@ use namespace::clean;
with 'App::Netdisco::Daemon::Worker::Poller::Common';
sub arpnip_action { \&do_arpnip }
sub arpnip_filter { \&is_arpnipable }
sub arpnip_layer { 3 }
sub arpwalk { (shift)->_walk_body('arpnip', @_) }

View File

@@ -66,7 +66,14 @@ sub _single_body {
if ($device->in_storage
and $device->vendor and $device->vendor eq 'netdisco') {
return job_done("Skipped $job_type for pseudo-device $host");
return job_done("$job_type skipped: $host is pseudo-device");
}
my $filter_method = $job_type .'_filter';
my $job_filter = $self->$filter_method;
unless ($job_filter->($device->ip)) {
return job_defer("$job_type deferred: $host is not ${job_type}able");
}
my $snmp = snmp_connect($device);

View File

@@ -1,6 +1,7 @@
package App::Netdisco::Daemon::Worker::Poller::Macsuck;
use App::Netdisco::Core::Macsuck 'do_macsuck';
use App::Netdisco::Util::Device 'is_macsuckable';
use Role::Tiny;
use namespace::clean;
@@ -8,6 +9,7 @@ use namespace::clean;
with 'App::Netdisco::Daemon::Worker::Poller::Common';
sub macsuck_action { \&do_macsuck }
sub macsuck_filter { \&is_macsuckable }
sub macsuck_layer { 2 }
sub macwalk { (shift)->_walk_body('macsuck', @_) }