1#!/bin/sh
2# 
3# A program to act as a test harness for the mctest program
4#
5# $FreeBSD$
6#
7# Defaults
8size=1024
9number=100
10base=9999
11group="239.255.255.101"
12interface="cxgb0"
13remote="ssh"
14command="/zoo/tank/users/gnn/svn/Projects/head-exar/src/tools/tools/mctest/mctest"
15gap=1000
16
17# Arguments are s (size), g (group), n (number), and c (command) followed
18# by a set of hostnames.
19args=`getopt s:g:n:c:l:f:b: $*`
20if [ $? != 0 ]
21then
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
24fi
25set == $args
26count=0
27for i
28do
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
55done
56
57#
58# Start our remote sink/reflectors
59#
60shift;
61current=0
62now=`date "+%Y%m%d%H%M"`
63for host in $*
64do
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 `;
69done
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
75