aboutsummaryrefslogtreecommitdiffstats
path: root/tests/stresstest
blob: 5d529d8a444f651d49b46d482a5e8fea67bdf040 (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
60
61
62
63
64
65
66
#! /bin/bash

BR=${1:-"br549"}
ETH0=${2:-"eth0"}
ETH1=${3:-"eth1"}
ETH2=${4:-"eth1"}

echo "Ethernet Bridge stress test"

IP=`/sbin/ifconfig $ETH0 | sed -n -e 's/^.*inet addr:\([0-9][0-9\.]*\).*$/\1/p'`
echo $IP

inout() {
    while true;
    do
	brctl addif $1 $2
	sleep $(($RANDOM % 10))
	brctl delif $1 $2
    done
}

newdel() {
    while true;
    do
	brctl addbr $1
	brctl delbr $1
    done
}

updown() {
    while true;
    do
      	ifconfig $1 down
	ifconfig $1 up
	sleep 11
    done
}

echo "1. Creating bridge $BR"
brctl addbr $BR

echo -n "2. Add ethernets"
ifconfig $ETH0 0.0.0.0
brctl addif $BR $ETH0
echo -n $ETH0
ifconfig $ETH2 0.0.0.0
brctl addif $BR $ETH2
echo $ETH2

echo "4. Starting add/del interface" $ETH1
ifconfig $ETH1 0.0.0.0
inout $BR $ETH1 &
ipid=$!

echo "5. Starting add/remove bridge"
newdel brtmp1 &
npid=$!

echo "6. Starting up/down" $ETH1
updown $BR $ETH1 &
upid=$!

trap "kill $ipid $npid $upid" 1 2 3 15

echo " Waiting"
wait