rendered paste bodyroot@OpenWrt:/etc/config# /usr/lib/qos/generate.sh all
insmod imq numdevs=1 >&- 2>&-
insmod cls_fw >&- 2>&-
insmod sch_hfsc >&- 2>&-
insmod sch_sfq >&- 2>&-
insmod sch_red >&- 2>&-
ifconfig tun0 up txqueuelen 5 >&- 2>&-
tc qdisc del dev tun0 root >&- 2>&-
tc qdisc add dev tun0 root handle 1: hfsc default 30
tc class add dev tun0 parent 1: classid 1:1 hfsc sc rate 512kbit ul rate 512kbit
tc class add dev tun0 parent 1:1 classid 1:10 hfsc rt m1 298kbit d 1525us m2 51kbit ls m1 298kbit d 1525us m2 284kbit ul ratt
tc class add dev tun0 parent 1:1 classid 1:20 hfsc rt m1 272kbit d 3814us m2 256kbit ls m1 272kbit d 3814us m2 142kbit ul rat
tc class add dev tun0 parent 1:1 classid 1:30 hfsc ls m1 0kbit d 100000us m2 71kbit ul rate 512kbit
tc class add dev tun0 parent 1:1 classid 1:40 hfsc ls m1 0kbit d 200000us m2 14kbit ul rate 512kbit
tc qdisc add dev tun0 parent 1:10 handle 100: sfq perturb 2 limit 180
tc qdisc add dev tun0 parent 1:20 handle 200: sfq perturb 2 limit 98
tc qdisc add dev tun0 parent 1:30 handle 300: red min 3276 max 6879 burst 3 avpkt 1200 limit 26208 probability 0.04 ecn
tc qdisc add dev tun0 parent 1:40 handle 400: red min 3276 max 6879 burst 3 avpkt 1200 limit 26208 probability 0.04 ecn
tc filter add dev tun0 parent 1: prio 1 protocol ip handle 1 fw flowid 1:10
tc filter add dev tun0 parent 1: prio 2 protocol ip handle 2 fw flowid 1:20
tc filter add dev tun0 parent 1: prio 3 protocol ip handle 3 fw flowid 1:30
tc filter add dev tun0 parent 1: prio 4 protocol ip handle 4 fw flowid 1:40
ifconfig imq0 up txqueuelen 5 >&- 2>&-
tc qdisc del dev imq0 root >&- 2>&-
tc qdisc add dev imq0 root handle 1: hfsc default 30
tc class add dev imq0 parent 1: classid 1:1 hfsc sc rate 512kbit ul rate 512kbit
tc class add dev imq0 parent 1:1 classid 1:10 hfsc rt m1 116kbit d 3814us m2 51kbit ls m1 116kbit d 3814us m2 284kbit ul ratt
tc class add dev imq0 parent 1:1 classid 1:20 hfsc rt m1 266kbit d 3814us m2 256kbit ls m1 266kbit d 3814us m2 142kbit ul rat
tc class add dev imq0 parent 1:1 classid 1:30 hfsc ls m1 0kbit d 100000us m2 71kbit ul rate 512kbit
tc class add dev imq0 parent 1:1 classid 1:40 hfsc ls m1 0kbit d 200000us m2 14kbit ul rate 512kbit
tc qdisc add dev imq0 parent 1:10 handle 100: sfq perturb 2 limit 72
tc qdisc add dev imq0 parent 1:20 handle 200: sfq perturb 2 limit 98
tc qdisc add dev imq0 parent 1:30 handle 300: red min 3276 max 6879 burst 3 avpkt 1200 limit 26208 probability 0.04 ecn
tc qdisc add dev imq0 parent 1:40 handle 400: red min 3276 max 6879 burst 3 avpkt 1200 limit 26208 probability 0.04 ecn
tc filter add dev imq0 parent 1: prio 1 protocol ip handle 1 fw flowid 1:10
tc filter add dev imq0 parent 1: prio 2 protocol ip handle 2 fw flowid 1:20
tc filter add dev imq0 parent 1: prio 3 protocol ip handle 3 fw flowid 1:30
tc filter add dev imq0 parent 1: prio 4 protocol ip handle 4 fw flowid 1:40
iptables -t mangle -F
iptables -t mangle -X
insmod ipt_multiport >&- 2>&-
insmod ipt_CONNMARK >&- 2>&-
insmod ipt_ipp2p >&- 2>&-
insmod ipt_layer7 >&- 2>&-
insmod ipt_length >&- 2>&-
insmod ipt_IMQ >&- 2>&-
iptables -t mangle -N Default >&- 2>&-
iptables -t mangle -N Default_ct >&- 2>&-
iptables -t mangle -A Default_ct -m mark --mark 0 -m ipp2p --edk --dc --kazaa --gnu --bit -j MARK --set-mark 4
iptables -t mangle -A Default_ct -m mark --mark 0 -m layer7 --l7proto edonkey -j MARK --set-mark 4
iptables -t mangle -A Default_ct -m mark --mark 0 -m layer7 --l7proto bittorrent -j MARK --set-mark 4
iptables -t mangle -A Default_ct -m mark --mark 0 -m tcp -p tcp -m multiport --ports 22,53 -j MARK --set-mark 1
iptables -t mangle -A Default_ct -m mark --mark 0 -p udp -m udp -m multiport --ports 22,53 -j MARK --set-mark 1
iptables -t mangle -A Default_ct -m mark --mark 0 -p tcp -m tcp -m multiport --ports 20,21,25,80,110,443,993,995 -j MARK --s3
iptables -t mangle -A Default_ct -m mark --mark 0 -m tcp -p tcp -m multiport --ports 5190 -j MARK --set-mark 2
iptables -t mangle -A Default_ct -m mark --mark 0 -p udp -m udp -m multiport --ports 5190 -j MARK --set-mark 2
iptables -t mangle -A Default_ct -j CONNMARK --save-mark
iptables -t mangle -A Default -j CONNMARK --restore-mark
iptables -t mangle -A Default -m mark --mark 0 -j Default_ct
iptables -t mangle -A Default -m mark --mark 1 -m length --length 400: -j MARK --set-mark 0
iptables -t mangle -A Default -m mark --mark 2 -m length --length 800: -j MARK --set-mark 0
iptables -t mangle -A Default -m mark --mark 0 -p udp -m length --length :500 -j MARK --set-mark 2
iptables -t mangle -A Default -p icmp -j MARK --set-mark 1
iptables -t mangle -A Default -m mark --mark 0 -m tcp -p tcp --sport 1024:65535 --dport 1024:65535 -j MARK --set-mark 4
iptables -t mangle -A Default -m mark --mark 0 -p udp -m udp --sport 1024:65535 --dport 1024:65535 -j MARK --set-mark 4
iptables -t mangle -A Default -p tcp -m length --length :128 -m mark ! --mark 4 -m tcp --tcp-flags ALL SYN -j MARK --set-mar1
iptables -t mangle -A Default -p tcp -m length --length :128 -m mark ! --mark 4 -m tcp --tcp-flags ALL ACK -j MARK --set-mar1
iptables -t mangle -A OUTPUT -o tun0 -j Default
iptables -t mangle -A FORWARD -o tun0 -j Default
iptables -t mangle -A PREROUTING -i tun0 -j Default
iptables -t mangle -A PREROUTING -i tun0 -j IMQ --todev 0