Add bandwidth limiter

This commit is contained in:
Thomas Forgione 2019-09-05 14:12:31 +02:00
parent e53aac9887
commit 4a611f8cf6
No known key found for this signature in database
GPG Key ID: 203DAEA747F48F41
1 changed files with 35 additions and 0 deletions

35
bin/bw Executable file
View File

@ -0,0 +1,35 @@
#!/usr/bin/env bash
unlimit() {
sudo tc qdisc del dev lo root
}
limit() {
if [ "$1" = "5Mbps" ]; then
sudo tc qdisc del dev lo root
sudo tc qdisc add dev lo handle 1: root htb default 11
sudo tc class add dev lo parent 1:1 classid 1:11 htb rate 5000kbit
sudo tc qdisc add dev lo parent 1:11 handle 10: netem delay 38ms loss 0.09%
elif [ "$1" = "10Mbps" ]; then
sudo tc qdisc del dev lo root
sudo tc qdisc add dev lo handle 1: root htb default 11
sudo tc class add dev lo parent 1:1 classid 1:11 htb rate 10000kbit
sudo tc qdisc add dev lo parent 1:11 handle 10: netem delay 32ms loss 0.09%
elif [ "$1" = "20Mbps" ]; then
sudo tc qdisc del dev lo root
sudo tc qdisc add dev lo handle 1: root htb default 11
sudo tc class add dev lo parent 1:1 classid 1:11 htb rate 20000kbit
sudo tc qdisc add dev lo parent 1:11 handle 10: netem delay 25ms loss 0.09%
else
echo -e >&2 "\x1B[31;1merror:\x1B[0m preset $1 not found"
exit 1
fi
}
if [ $# -eq 0 ]; then
echo -e >&2 "\x1B[31;1merror:\x1B[0m expecting command"
exit 1
else
"$@"
fi