#! /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