1#! /bin/bash 2 3BR=${1:-"br549"} 4ETH0=${2:-"eth0"} 5ETH1=${3:-"eth1"} 6ETH2=${4:-"eth1"} 7 8echo "Ethernet Bridge stress test" 9 10IP=`/sbin/ifconfig $ETH0 | sed -n -e 's/^.*inet addr:\([0-9][0-9\.]*\).*$/\1/p'` 11echo $IP 12 13inout() { 14 while true; 15 do 16 brctl addif $1 $2 17 sleep $(($RANDOM % 10)) 18 brctl delif $1 $2 19 done 20} 21 22newdel() { 23 while true; 24 do 25 brctl addbr $1 26 brctl delbr $1 27 done 28} 29 30updown() { 31 while true; 32 do 33 ifconfig $1 down 34 ifconfig $1 up 35 sleep 11 36 done 37} 38 39echo "1. Creating bridge $BR" 40brctl addbr $BR 41 42echo -n "2. Add ethernets" 43ifconfig $ETH0 0.0.0.0 44brctl addif $BR $ETH0 45echo -n $ETH0 46ifconfig $ETH2 0.0.0.0 47brctl addif $BR $ETH2 48echo $ETH2 49 50echo "4. Starting add/del interface" $ETH1 51ifconfig $ETH1 0.0.0.0 52inout $BR $ETH1 & 53ipid=$! 54 55echo "5. Starting add/remove bridge" 56newdel brtmp1 & 57npid=$! 58 59echo "6. Starting up/down" $ETH1 60updown $BR $ETH1 & 61upid=$! 62 63trap "kill $ipid $npid $upid" 1 2 3 15 64 65echo " Waiting" 66wait 67