bbc4b583b8e7731360a4c0b49c98237c9b05120e
[tests.git] / qaapi / qa / tests / node / ping.pl.hide
1 #!/usr/bin/perl
2
3 # Module: VNET+
4 # Description: Generate ping packets and count the responses
5 # Author: sapanb@cs.princeton.edu
6
7 use strict;
8 use threads;
9
10 #please change to something local
11 my $guineapig='planetlab-1.cs.princeton.edu';
12 my $numiter=1000;
13
14 sub run {
15         system("ping -c $numiter -i 0.1 $guineapig");
16         }
17
18
19 sub open_tcpdump {
20         my $filter="icmp and src $guineapig";
21         my $cmdline="/usr/sbin/tcpdump -c $numiter $filter";
22         
23         system($cmdline);
24 }
25
26 sub alhandler {
27         print "[FAILED] tcpdump apparently did not intercept all SYN/ACK packets\n";
28         exit(-1);
29 }
30
31 print "Starting tcpdump...\n";
32 my $tcpdthr=threads->create(\&open_tcpdump);
33 sleep 10;
34 print "Generating connections...\n";
35 run;
36 $SIG{ALRM}=\&alhandler;
37 alarm(60);
38
39 $tcpdthr->join;
40 print "[SUCCESS] Test completed OK.\n";