]> CyberLeo.Net >> Repos - FreeBSD/releng/9.2.git/blob - tools/tools/mctest/mctest_run.sh
- Copy stable/9 to releng/9.2 as part of the 9.2-RELEASE cycle.
[FreeBSD/releng/9.2.git] / tools / tools / mctest / mctest_run.sh
1 #!/bin/sh
2
3 # A program to act as a test harness for the mctest program
4 #
5 # $FreeBSD$
6 #
7 # Defaults
8 size=1024
9 number=100
10 base=9999
11 group="239.255.255.101"
12 interface="cxgb0"
13 remote="ssh"
14 command="/zoo/tank/users/gnn/svn/Projects/head-exar/src/tools/tools/mctest/mctest"
15 gap=1000
16
17 # Arguments are s (size), g (group), n (number), and c (command) followed
18 # by a set of hostnames.
19 args=`getopt s:g:n:c:l:f:b: $*`
20 if [ $? != 0 ]
21 then
22     echo 'Usage: mctest_run -l local_interface -f foreign_interface -s size -g group -n number -c remote command host1 host2 hostN'
23     exit 2
24 fi
25 set == $args
26 count=0
27 for i
28 do
29   case "$i"
30       in
31       -s) 
32           size=$3; 
33           shift 2;;
34       -n)
35           number=$3;
36           shift 2;;
37       -g)
38           group=$3;
39           shift 2;;
40       -c)
41           command=$3;
42           shift 2;;
43       -l)
44           local_interface=$3;
45           shift 2;;
46       -f)
47           foreign_interface=$3;
48           shift 2;;
49       -b) 
50           base=$3;
51           shift 2;;
52       --)
53           shift; break;;
54       esac
55 done
56
57 #
58 # Start our remote sink/reflectors
59 #
60 shift;
61 current=0
62 now=`date "+%Y%m%d%H%M"`
63 for host in $*
64 do
65   output=$host\_$interface\_$size\_$number\.$now
66   $remote $host $command -r -M $# -b $base -g $group -m $current -n $number -s $size -i $foreign_interface > $output &
67   sleep 1
68   current=`expr $current + 1 `;
69 done
70
71 #
72 # Start the source/collector on this machine
73 #
74 $command -M $# -b $base -g $group -n $number -s $size -i $local_interface -t $gap > `uname -n`\_$size\_$number\.$now