package Smokeping::probes::EchoPingDNS; =head1 301 Moved Permanently This is a Smokeping probe module. Please use the command C to view the documentation or the command C to generate the POD document. =cut sub pod_hash { return { name => < < <<'DOC', Niko Tyni DOC notes => <<'DOC', The I, I and I EchoPing variables are not valid. Plugins, including echoping_dns, are available starting with echoping version 6. DOC see_also => <, L DOC } } use strict; use base qw(Smokeping::probes::EchoPingPlugin); use Carp; sub plugin_args { my $self = shift; my $target = shift; my @args = ("-t", $target->{vars}{dns_type}); my $tcp = $target->{vars}{dns_tcp}; if ($tcp and $tcp ne "no") { push @args, "--tcp"; } push @args, $target->{vars}{dns_request}; return @args; } sub ProbeDesc($) { return "DNS pings using the echoping_dns plugin"; } sub targetvars { my $class = shift; my $h = $class->SUPER::targetvars; delete $h->{udp}; delete $h->{fill}; delete $h->{size}; $h->{_mandatory} = [ grep { $_ ne "plugin" } @{$h->{_mandatory}}]; $h->{plugin}{_default} = 'dns'; $h->{plugin}{_example} = '/path/to/dns.so'; return $class->_makevars($h, { _mandatory => [ 'dns_request' ], dns_request => { _doc => < 'example.org', }, dns_type => { _doc => < 'AAAA', _default => 'A', }, dns_tcp => { _doc => < 'yes', }, }, ); } 1;