66 lines
962 B
Bash
Executable file
66 lines
962 B
Bash
Executable file
#! /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
|