aboutsummaryrefslogtreecommitdiffstats
path: root/tests/stresstest
diff options
context:
space:
mode:
Diffstat (limited to 'tests/stresstest')
-rwxr-xr-xtests/stresstest66
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