summaryrefslogtreecommitdiffstats
path: root/lib/Smokeping/probes/FPing6.pm
blob: aa3af461b31ae61a447ce6f76cbe0cdb2d4ae529 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
package Smokeping::probes::FPing6;

=head1 301 Moved Permanently

This is a Smokeping probe module. Please use the command 

C<smokeping -man Smokeping::probes::FPing6>

to view the documentation or the command

C<smokeping -makepod Smokeping::probes::FPing6>

to generate the POD document.

=cut

use strict;
use base qw(Smokeping::probes::FPing);

sub pod_hash {
      return {
              name => <<DOC,
Smokeping::probes::FPing6 - FPing6 Probe for SmokePing
DOC
              description => <<DOC,
Integrates FPing6 as a probe into smokeping. This probe is derived from
FPing; the only difference is that the target host used for checking
the fping command output is ::1 instead of localhost.
DOC
              authors => <<'DOC',
Tobias Oetiker <tobi@oetiker.ch>

Niko Tyni <ntyni@iki.fi>
DOC
             see_also => <<DOC
L<Smokeping::probes::FPing>
DOC
      }
}

sub testhost {
      return "::1";
}

sub probevars {
      my $self = shift;
      my $h = $self->SUPER::probevars;
      $h->{binary}{_example} = "/usr/bin/fping6";
      $h->{sourceaddress}{_re} = "(?:(?:(?:(?:[0-9A-Fa-f]{1,4}(?::[0-9A-Fa-f]{1,4})*)?)::(?:(?:[0-9A-Fa-f]{1,4}(?::[0-9A-Fa-f]{1,4})*)?))|(?:(?:(?:[0-9A-Fa-f]{1,4}:){6,6})(?:25[0-5]|2[0-4]\\d|[0-1]?\\d?\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|[0-1]?\\d?\\d)){3})|(?:(?:(?:[0-9A-Fa-f]{1,4}(?::[0-9A-Fa-f]{1,4})*)?)::(?:(?:[0-9A-Fa-f]{1,4}:)*)(?:25[0-5]|2[0-4]\\d|[0-1]?\\d?\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|[0-1]?\\d?\\d)){3}))";
      return $h;
}

sub ProbeDesc($){
    my $self = shift;
    my $bytes = $self->{properties}{packetsize}||56;
    return "IPv6-ICMP Echo Pings ($bytes Bytes)";
}
  
1;