diff options
Diffstat (limited to 'tests/stresstest')
-rwxr-xr-x | tests/stresstest | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/tests/stresstest b/tests/stresstest new file mode 100755 index 0000000..5d529d8 --- /dev/null +++ b/tests/stresstest @@ -0,0 +1,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 |