36 lines
1.1 KiB
Plaintext
36 lines
1.1 KiB
Plaintext
|
#!/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
|