Правильная настройка шейпинга через tc
Доброго времени суток! Пытаюсь настроить шейпинг через tc на роутере с padavan-прошивкой (Xiaomi 3G). Суть в том, чтобы трафик с некоторых определенных устройств в сети (если он есть) был с наивысшим приоритетом и любой другой трафик подстраивался под эти устройства. В целом - почти ничего сложного и получился следующий скрипт:
#!/bin/sh
[ -z "$(lsmod | grep imq)" ] && modprobe imq
WAN=br0
BW=98mbit
tc qdisc del root dev $WAN || true
tc qdisc add dev $WAN root handle 1: htb r2q 1250 default 90
tc class add dev $WAN parent 1: classid 1:1 htb rate $BW
# tv+radio
tc class add dev $WAN parent 1:1 classid 1:10 htb rate 49mbit ceil $BW prio 1
tc filter add dev $WAN protocol ip parent 1: u32 match ip dst 10.9.12.85 flowid 1:10
tc filter add dev $WAN protocol ip parent 1: u32 match ip dst 10.9.12.101 flowid 1:10
tc filter add dev $WAN protocol ip parent 1: u32 match ip dst 10.9.12.23 flowid 1:10
tc filter add dev $WAN protocol ip parent 1: u32 match ip dst 10.9.12.44 flowid 1:10
tc qdisc add dev $WAN parent 1:10 handle 20: sfq perturb 10
# other
tc class add dev $WAN parent 1:1 classid 1:90 htb rate 49mbit ceil $BW prio 2
tc qdisc add dev $WAN parent 1:90 handle 99: sfq perturb 10