74 lines
1.4 KiB
Text
74 lines
1.4 KiB
Text
|
#!/bin/sh
|
||
|
#
|
||
|
#
|
||
|
echo "SCRIPT $0 [ip address] [down Kbits] [up Kbits] [test seconds] "
|
||
|
echo "TEST Alternate between no bandwidth limits and limited bandwidth with a delay between"
|
||
|
echo ""
|
||
|
|
||
|
ADDRESS="127.0.0.1"
|
||
|
UP="32"
|
||
|
DOWN="100"
|
||
|
SLEEP="30"
|
||
|
|
||
|
if [ ${1} ]; then
|
||
|
ADDRESS=${1}
|
||
|
echo "Address set. Using $ADDRESS"
|
||
|
else
|
||
|
echo "No Address given. Using $ADDRESS"
|
||
|
fi
|
||
|
|
||
|
if [ ${2} ]; then
|
||
|
DOWN=${2}
|
||
|
echo "Down link limit set. Using "$DOWN"kbits/s"
|
||
|
else
|
||
|
echo "No down link limit given. Using "$DOWN"kbits/s"
|
||
|
|
||
|
fi
|
||
|
|
||
|
if [ ${3} ]; then
|
||
|
UP=${3}
|
||
|
echo "Up link limit set. Using "$UP"kbits/s"
|
||
|
else
|
||
|
echo "No up link limit given. Using "$UP"kbits/s"
|
||
|
fi
|
||
|
|
||
|
|
||
|
if [ ${4} ]; then
|
||
|
SLEEP=${4}
|
||
|
echo "Test time set. Using $SLEEP seconds"
|
||
|
else
|
||
|
echo "No test time. Using $SLEEP seconds"
|
||
|
fi
|
||
|
|
||
|
echo "Starting test"
|
||
|
|
||
|
while [ 1 ]
|
||
|
do
|
||
|
|
||
|
ipfw delete pipe 1 2
|
||
|
ipfw delete set 11 12
|
||
|
ipfw disable firewall
|
||
|
echo ""
|
||
|
echo "Bandwidth open - no limit set"
|
||
|
echo "Sleeping $SLEEP seconds"
|
||
|
sleep 30
|
||
|
echo ""
|
||
|
|
||
|
echo "Setting $DOWN kbits down and $UP kbits up"
|
||
|
ipfw pipe 1 config bw "$DOWN"kbits/s delay 0 queue 100 noerror
|
||
|
ipfw pipe 2 config bw "$UP"kbits/s delay 0 queue 100 noerror
|
||
|
|
||
|
ipfw add 11 set 11 pipe 1 src-ip $ADDRESS proto udp in
|
||
|
ipfw add 12 set 12 pipe 2 src-ip $ADDRESS proto udp out
|
||
|
|
||
|
ipfw set enable 11
|
||
|
ipfw set enable 12
|
||
|
ipfw enable firewall one_pass
|
||
|
|
||
|
echo "Sleeping $SLEEP seconds"
|
||
|
sleep 30
|
||
|
|
||
|
|
||
|
done
|
||
|
|