rendered paste bodyroot@OpenWrt:/etc# more /tmp/.qos-wan.sh
#!/bin/sh
insmod cls_fw >&- 2>&-
insmod sch_hfsc >&- 2>&-
insmod ipt_CONNMARK >&- 2>&-
insmod ipt_length >&- 2>&-
insmod ipt_limit >&- 2>&-
insmod ipt_tos >&- 2>&-
iptables -t mangle -F
iptables -t mangle -X
tc qdisc del dev vlan1 root 2>&- >&-
tc qdisc add dev vlan1 root handle 1: hfsc default 40
tc class add dev vlan1 parent 1: classid 1:1 hfsc sc rate 768kbit ul rate 768kbit
tc class add dev vlan1 parent 1:1 classid 1:10 hfsc rt m1 768kbit d 10ms m2 192kbit ls rate 768kbit ul rate 768kbit
tc class add dev vlan1 parent 1:1 classid 1:20 hfsc rt m1 614kbit d 25ms m2 384kbit ls rate 3840kbit ul rate 768kbit
tc class add dev vlan1 parent 1:1 classid 1:30 hfsc rt m1 614kbit d 40ms m2 184kbit ls rate 1536kbit ul rate 768kbit
tc class add dev vlan1 parent 1:1 classid 1:40 hfsc ls rate 76kbit ul rate 4608kbit
tc filter add dev vlan1 parent 1: prio 1 protocol ip handle 1 fw flowid 1:10
tc filter add dev vlan1 parent 1: prio 2 protocol ip handle 2 fw flowid 1:20
tc filter add dev vlan1 parent 1: prio 3 protocol ip handle 3 fw flowid 1:30
tc filter add dev vlan1 parent 1: prio 4 protocol ip handle 4 fw flowid 1:40
insmod ipt_layer7 >&- 2>&-
insmod ipt_multiport >&- 2>&-
iptables -t mangle -N DEV_vlan1
iptables -t mangle -A POSTROUTING -o vlan1 -j DEV_vlan1
iptables -t mangle -A DEV_vlan1 -j CONNMARK --restore-mark
iptables -t mangle -A DEV_vlan1 -m mark --mark 0 -m layer7 --l7proto edonkey -j MARK --set-mark 4
iptables -t mangle -A DEV_vlan1 -m mark --mark 0 -p udp -m multiport --dports 53,5190,113 -j MARK --set-mark 2
iptables -t mangle -A DEV_vlan1 -m mark --mark 0 -p tcp -m multiport --dports 22,53,5190,113,8170,8171,5666 -j MARK --set-mark 2
iptables -t mangle -A DEV_vlan1 -m mark --mark 0 -m layer7 --l7proto ftp -j MARK --set-mark 4
iptables -t mangle -A DEV_vlan1 -m mark --mark 0 -m layer7 --l7proto msn-filetransfer -j MARK --set-mark 4
iptables -t mangle -A DEV_vlan1 -m mark --mark 0 -m layer7 --l7proto dns -j MARK --set-mark 2
iptables -t mangle -A DEV_vlan1 -m mark --mark 0 -m layer7 --l7proto ssl -j MARK --set-mark 2
iptables -t mangle -A DEV_vlan1 -j CONNMARK --save-mark
iptables -t mangle -A DEV_vlan1 -m tos --tos Minimize-Cost -j MARK --set-mark 4
iptables -t mangle -A DEV_vlan1 -m mark --mark 0 -p tcp --dport 0:1024 -j MARK --set-mark 3
iptables -t mangle -A DEV_vlan1 -m mark --mark 0 -p udp --dport 0:1024 -j MARK --set-mark 3
iptables -t mangle -A DEV_vlan1 -m mark --mark 0 -j MARK --set-mark 4
iptables -t mangle -A DEV_vlan1 -m mark ! --mark 4 -p tcp -m length --length :128 --tcp-flags ALL SYN -j MARK --set-mark 2
iptables -t mangle -A DEV_vlan1 -m mark ! --mark 4 -p tcp -m length --length :128 --tcp-flags ALL ACK -j MARK --set-mark 2
iptables -t mangle -A DEV_vlan1 -m tos --tos Minimize-Delay -j MARK --set-mark 2
iptables -t mangle -A DEV_vlan1 -p icmp -j MARK --set-mark 2
iptables -t mangle -A DEV_vlan1 -p icmp --icmp-type echo-reply -j MARK --set-mark 4
iptables -t mangle -N BULK_3
iptables -t mangle -A BULK_3 -m limit --limit 10 -j MARK --set-mark 3
iptables -t mangle -A DEV_vlan1 -m mark --mark 4 -m layer7 --l7proto edonkey-dl --l7pkt -j BULK_3