Re: Found a way to break QOS?
Posted: Wed May 22, 2019 10:38 am
root@Gargoyle:~# /etc/init.d/qos_gargoyle restart
+ + + tcgrep hfsc qdisc show
awk '{print $5}'
+ tc qdisc del dev eth0.2 root
+ tc qdisc del dev imq0 root
+ delete_chain_from_table mangle qos_egress
+ delete_chain_from_table mangle qos_ingress
+ set +x
+ wait_sec=15
+ uci -P /var/state get network.wan.up
+ '[' -z 1 ]
+ uci -P /var/state get network.wan.ifname
+ qos_interface=eth0.2
+ '[' -z eth0.2 ]
+ ifconfig eth0.2
+ sed -n 's/.*inet addr:\([0-9/.]*\).*/\1/p'
+ wan_ip=192.168.254.65
+ + sed -n 's/.*inet addr:\([0-9/.]*\).*/\1/p'
ifconfig br-lan
+ local_ip=192.168.3.1
+ uci -P /var/state get network.vpn.ifname
+ vpn_interface=
+ set +x
+ '[' -n 1600 ]
+ total_upload_bandwidth=1600
+ upload_default_class=uclass_3
+ total_bandwidth=
+ default_class=
+ set +x
+ '[' -n 24000 ]
+ total_download_bandwidth=24000
+ download_default_class=dclass_3
+ overhead='stab linklayer atm overhead 32 mtu 2048 '
+ uci get network.wan.proto
+ wan_proto=static
+ '[' static '!=' pppoe ]
+ '[' 1600 -ge 1100 ]
+ '[' 24000 -ge 3100 ]
+ overhead=
+ set +x
+ tc qdisc add dev eth0.2 root handle 1:0 hfsc default 1
+ tc class add dev eth0.2 parent 1:0 classid 1:1 hfsc ls rate 1000Mbit ul rate 1600kbit
+ set +x
+ eval echo '$uclass_1'
+ echo 12 -1 -1
+ uclass_def='12 -1 -1'
+ + echo 12 -1 -1
awk ' {print $1}'
+ m2=120
+ echo 12 -1 -1+
awk ' {print $3}'
+ min_bandwidth=-1
+ '[' -1 -gt 0 ]
+ ll_str=
+ + awkecho ' {print $2}' 12
-1 -1
+ max_bandwidth=-1
+ '[' -1 -ge 0 ]
+ max_bandwidth=0
+ ul_str=
+ tbw=0
+ '[' 0 -lt 6000 ]
+ tbw=6000
+ tc class add dev eth0.2 parent 1:1 classid 1:2 hfsc ls m2 120Mbit
+ tc qdisc add dev eth0.2 parent 1:2 handle 2:1 sfq headdrop limit 24 divisor 256
+ tc filter add dev eth0.2 parent 1:0 protocol ip handle 0x2 fw flowid 1:2
+ tc filter add dev eth0.2 parent 2: handle 1 flow divisor 256 map key nfct-src and 0xff
+ set +x
+ eval echo '$uclass_2'
+ echo 12 -1 -1
+ uclass_def='12 -1 -1'
+ + echo 12 -1 -1awk ' {print $1}'
+ m2=120
+ + awk ' {print $3}'
echo 12 -1 -1
+ min_bandwidth=-1
+ '[' -1 -gt 0 ]
+ ll_str=
+ + awk ' {print $2}'
echo 12 -1 -1
+ max_bandwidth=-1
+ '[' -1 -ge 0 ]
+ max_bandwidth=0
+ ul_str=
+ tbw=0
+ '[' 0 -lt 6000 ]
+ tbw=6000
+ tc class add dev eth0.2 parent 1:1 classid 1:3 hfsc ls m2 120Mbit
+ tc qdisc add dev eth0.2 parent 1:3 handle 3:1 sfq headdrop limit 24 divisor 256
+ tc filter add dev eth0.2 parent 1:0 protocol ip handle 0x3 fw flowid 1:3
+ tc filter add dev eth0.2 parent 3: handle 1 flow divisor 256 map key nfct-src and 0xff
+ set +x
+ eval echo '$uclass_3'
+ echo 12 -1 -1
+ uclass_def='12 -1 -1'
+ + awk ' {print $1}'
echo 12 -1 -1
+ m2=120
+ + awk ' {print $3}'echo
12 -1 -1
+ min_bandwidth=-1
+ '[' -1 -gt 0 ]
+ ll_str=
+ + awk ' {print $2}'
echo 12 -1 -1
+ max_bandwidth=-1
+ '[' -1 -ge 0 ]
+ max_bandwidth=0
+ ul_str=
+ tbw=0
+ '[' 0 -lt 6000 ]
+ tbw=6000
+ tc class add dev eth0.2 parent 1:1 classid 1:4 hfsc ls m2 120Mbit
+ tc qdisc add dev eth0.2 parent 1:4 handle 4:1 sfq headdrop limit 24 divisor 256
+ tc filter add dev eth0.2 parent 1:0 protocol ip handle 0x4 fw flowid 1:4
+ tc filter add dev eth0.2 parent 4: handle 1 flow divisor 256 map key nfct-src and 0xff
+ set +x
+ eval echo '$uclass_4'
+ echo 64 -1 -1
+ uclass_def='64 -1 -1'
+ + awk ' {print $1}'
echo 64 -1 -1
+ m2=640
+ + awk ' {print $3}'
echo 64 -1 -1
+ min_bandwidth=-1
+ '[' -1 -gt 0 ]
+ ll_str=
+ + awk ' {print $2}'
echo 64 -1 -1
+ max_bandwidth=-1
+ '[' -1 -ge 0 ]
+ max_bandwidth=1
+ ul_str=
+ tbw=12
+ '[' 12 -lt 6000 ]
+ tbw=6000
+ tc class add dev eth0.2 parent 1:1 classid 1:5 hfsc ls m2 640Mbit
+ tc qdisc add dev eth0.2 parent 1:5 handle 5:1 sfq headdrop limit 24 divisor 256
+ tc filter add dev eth0.2 parent 1:0 protocol ip handle 0x5 fw flowid 1:5
+ tc filter add dev eth0.2 parent 5: handle 1 flow divisor 256 map key nfct-src and 0xff
+ set +x
+ tc qdisc change dev eth0.2 root handle 1:0 hfsc default 4
+ iptables -t mangle -N qos_egress
+ iptables -t mangle -A POSTROUTING -o eth0.2 -j qos_egress
+ set +x
+ iptables -t mangle -I qos_egress -p udp -s 192.168.3.25 --dport 3478:3479 -j MARK --set-mark 0x5
+ set +x
+ iptables -t mangle -I qos_egress -p tcp -s 192.168.3.25 --dport 8801:8802 -j MARK --set-mark 0x5
+ set +x
+ iptables -t mangle -I qos_egress -p udp -s 192.168.3.25 --dport 8801:8810 -j MARK --set-mark 0x5
+ set +x
+ iptables -t mangle -I qos_egress -s 192.168.3.99 -j MARK --set-mark 0x3
+ set +x
+ iptables -t mangle -I qos_egress -s 192.168.3.98 -j MARK --set-mark 0x2
+ set +x
+ iptables -t mangle -I qos_egress -s 192.168.3.5 -j MARK --set-mark 0x3
+ set +x
+ iptables -t mangle -I qos_egress -s 192.168.3.6 -j MARK --set-mark 0x2
+ set +x
+ iptables -t mangle -I qos_egress -s 192.168.3.7 -j MARK --set-mark 0x2
+ set +x
+ iptables -t mangle -I qos_egress -j MARK --set-mark 0x4
+ iptables -t mangle -I qos_egress -m mark '!' --mark 0x0 -j RETURN
+ iptables -t mangle -I qos_egress -m mark '!' --mark 0x0 -j CONNMARK --save-mark --mask 0x007F
+ iptables -t mangle -A qos_egress -j CONNMARK --save-mark --mask 0x007F
+ '[' 24000 -eq 0 ]
+ '[' 1600 -eq 0 ]
+ '[' 24000 -ge 0 ]
+ ip link set imq0 up
+ tc qdisc add dev imq0 root handle 1:0 hfsc default 1
+ tc class add dev imq0 parent 1:0 classid 1:1 hfsc ls rate 1000Mbit ul m2 24000kbit
+ set +x
+ class_mark_list='dclass_1:0x200 '
+ eval echo '$dclass_1'
+ echo 33 -1 -1
+ dclass_def='33 -1 -1'
+ + echoawk 33 ' {print $1}' -1
-1
+ m2=330
+ + awk ' {print $2}'
echo 33 -1 -1
+ max_bandwidth=-1
+ ul_str=
+ '[' -1 -ge 0 ]
+ max_bandwidth=24000
+ echo 33 -1 -1
+ awk ' {print $4}'
+ minRTT=
+ '[' '=' Yes ]
+ ll_str=' ls m2 330Mbit'
+ awk ' {print $3}'
+ echo 33 -1 -1
+ min_bandwidth=-1
+ rt_str=
+ '[' -1 -gt 0 ]
+ tbw=300000
+ '[' 300000 -lt 10000 ]
+ tc class add dev imq0 parent 1:1 classid 1:2 hfsc ls m2 330Mbit
+ tc qdisc add dev imq0 parent 1:2 handle 2:1 sfq headdrop limit 1200 divisor 256
+ tc filter add dev imq0 parent 1:0 prio 2 protocol ip handle 0x200 fw flowid 1:2
+ tc filter add dev imq0 parent 2: handle 1 flow divisor 256 map key dst and 0xff
+ set +x
+ class_mark_list='dclass_1:0x200 dclass_2:0x300 '
+ eval echo '$dclass_2'
+ echo 33 -1 -1
+ dclass_def='33 -1 -1'
+ + awk ' {print $1}'echo 33 -1
-1
+ m2=330
+ echo 33 -1 -1
+ awk ' {print $2}'
+ max_bandwidth=-1
+ ul_str=
+ '[' -1 -ge 0 ]
+ max_bandwidth=24000
+ + echo 33 -1 -1
awk ' {print $4}'
+ minRTT=
+ '[' '=' Yes ]
+ ll_str=' ls m2 330Mbit'
+ + awk ' {print $3}'
echo 33 -1 -1
+ min_bandwidth=-1
+ rt_str=
+ '[' -1 -gt 0 ]
+ tbw=300000
+ '[' 300000 -lt 10000 ]
+ tc class add dev imq0 parent 1:1 classid 1:3 hfsc ls m2 330Mbit
+ tc qdisc add dev imq0 parent 1:3 handle 3:1 sfq headdrop limit 1200 divisor 256
+ tc filter add dev imq0 parent 1:0 prio 3 protocol ip handle 0x300 fw flowid 1:3
+ tc filter add dev imq0 parent 3: handle 1 flow divisor 256 map key dst and 0xff
+ set +x
+ class_mark_list='dclass_1:0x200 dclass_2:0x300 dclass_3:0x400 '
+ eval echo '$dclass_3'
+ echo 22 -1 -1
+ dclass_def='22 -1 -1'
+ + awk ' {print $1}'
echo 22 -1 -1
+ m2=220
+ echo 22+ -1 -1
awk ' {print $2}'
+ max_bandwidth=-1
+ ul_str=
+ '[' -1 -ge 0 ]
+ max_bandwidth=24000
+ + awkecho 22 -1 -1 ' {print $4}'
+ minRTT=
+ '[' '=' Yes ]
+ ll_str=' ls m2 220Mbit'
+ + echo 22awk ' {print $3}' -1
-1
+ min_bandwidth=-1
+ rt_str=
+ '[' -1 -gt 0 ]
+ tbw=300000
+ '[' 300000 -lt 10000 ]
+ tc class add dev imq0 parent 1:1 classid 1:4 hfsc ls m2 220Mbit
+ tc qdisc add dev imq0 parent 1:4 handle 4:1 sfq headdrop limit 1200 divisor 256
+ tc filter add dev imq0 parent 1:0 prio 4 protocol ip handle 0x400 fw flowid 1:4
+ tc filter add dev imq0 parent 4: handle 1 flow divisor 256 map key dst and 0xff
+ set +x
+ class_mark_list='dclass_1:0x200 dclass_2:0x300 dclass_3:0x400 dclass_4:0x500 '
+ eval echo '$dclass_4'
+ echo 11 -1 3000 Yes
+ dclass_def='11 -1 3000 Yes'
+ + awk ' {print $1}'
echo 11 -1 3000 Yes
+ m2=110
+ echo 11 -1 3000 Yes
+ awk ' {print $2}'
+ max_bandwidth=-1
+ ul_str=
+ '[' -1 -ge 0 ]
+ max_bandwidth=24000
+ + awk ' {print $4}'
echo 11 -1 3000 Yes
+ minRTT=Yes
+ '[' Yes '=' Yes ]
+ d1=1
+ ll_str=' ls m1 220Mbit d 1ms m2 110Mbit'
+ + awkecho 11 -1 3000 Yes
' {print $3}'
+ min_bandwidth=3000
+ rt_str=
+ '[' 3000 -gt 0 ]
+ '[' Yes '=' Yes ]
+ d2=1
+ rt_str=' rt m1 24000kbit d 1ms m2 3000kbit'
+ tbw=300000
+ '[' 300000 -lt 10000 ]
+ tc class add dev imq0 parent 1:1 classid 1:5 hfsc rt m1 24000kbit d 1ms m2 3000kbit ls m1 220Mbit d 1ms m2 110Mbit
+ tc qdisc add dev imq0 parent 1:5 handle 5:1 sfq headdrop limit 1200 divisor 256
+ tc filter add dev imq0 parent 1:0 prio 5 protocol ip handle 0x500 fw flowid 1:5
+ tc filter add dev imq0 parent 5: handle 1 flow divisor 256 map key dst and 0xff
+ set +x
+ tc qdisc change dev imq0 root handle 1:0 hfsc default 4
+ iptables -t mangle -N qos_ingress
+ iptables -t mangle -A FORWARD -i eth0.2 -j qos_ingress
+ iptables -t mangle -A INPUT -i eth0.2 -j qos_ingress
+ set +x
+ iptables -t mangle -I qos_ingress -p tcp --sport 8801:8802 -d 192.168.3.25 -j MARK --set-mark 0x500
+ set +x
+ iptables -t mangle -I qos_ingress -p udp --sport 3478:3479 -d 192.168.3.25 -j MARK --set-mark 0x500
+ set +x
+ iptables -t mangle -I qos_ingress -p udp --sport 8801:8810 -d 192.168.3.25 -j MARK --set-mark 0x500
+ set +x
+ iptables -t mangle -I qos_ingress -d 192.168.3.98 -j MARK --set-mark 0x200
+ set +x
+ iptables -t mangle -I qos_ingress -d 192.168.3.99 -j MARK --set-mark 0x300
+ set +x
+ iptables -t mangle -I qos_ingress -d 192.168.3.7 -j MARK --set-mark 0x200
+ set +x
+ iptables -t mangle -I qos_ingress -d 192.168.3.6 -j MARK --set-mark 0x200
+ set +x
+ iptables -t mangle -I qos_ingress -d 192.168.3.5 -j MARK --set-mark 0x300
+ set +x
+ iptables -t mangle -I qos_ingress -j MARK --set-mark 0x400
+ iptables -t mangle -I qos_ingress -m mark '!' --mark 0x0 -j RETURN
+ iptables -t mangle -I qos_ingress -m mark '!' --mark 0x0 -j CONNMARK --save-mark --mask 0x7F00
+ iptables -t mangle -I qos_ingress -j IMQ --todev 0
+ iptables -t mangle -A qos_ingress -j CONNMARK --save-mark --mask 0x7F00
+ set +x
+ '[' -z 8.8.8.8 ]
+ iptables -t mangle -I qos_ingress -p icmp --icmp-type 0 -s 8.8.8.8 -j RETURN
+ tc class add dev eth0.2 parent 1:1 classid 1:127 hfsc rt umax 106 dmax 10ms rate 4kbit
+ tc qdisc add dev eth0.2 parent 1:127 pfifo
+ tc filter add dev eth0.2 parent 1:0 prio 1 protocol ip handle 127 fw flowid 1:127
+ iptables -t mangle -I qos_egress -p icmp --icmp-type 8 -s 192.168.254.65 -d 8.8.8.8 -j MARK --set-mark 127
+ '[' -n ]
+ pinglimit=11
+ qosmon -a -b 800 8.8.8.8 24000 11
+ set +x
root@Gargoyle:~#
+ + + tcgrep hfsc qdisc show
awk '{print $5}'
+ tc qdisc del dev eth0.2 root
+ tc qdisc del dev imq0 root
+ delete_chain_from_table mangle qos_egress
+ delete_chain_from_table mangle qos_ingress
+ set +x
+ wait_sec=15
+ uci -P /var/state get network.wan.up
+ '[' -z 1 ]
+ uci -P /var/state get network.wan.ifname
+ qos_interface=eth0.2
+ '[' -z eth0.2 ]
+ ifconfig eth0.2
+ sed -n 's/.*inet addr:\([0-9/.]*\).*/\1/p'
+ wan_ip=192.168.254.65
+ + sed -n 's/.*inet addr:\([0-9/.]*\).*/\1/p'
ifconfig br-lan
+ local_ip=192.168.3.1
+ uci -P /var/state get network.vpn.ifname
+ vpn_interface=
+ set +x
+ '[' -n 1600 ]
+ total_upload_bandwidth=1600
+ upload_default_class=uclass_3
+ total_bandwidth=
+ default_class=
+ set +x
+ '[' -n 24000 ]
+ total_download_bandwidth=24000
+ download_default_class=dclass_3
+ overhead='stab linklayer atm overhead 32 mtu 2048 '
+ uci get network.wan.proto
+ wan_proto=static
+ '[' static '!=' pppoe ]
+ '[' 1600 -ge 1100 ]
+ '[' 24000 -ge 3100 ]
+ overhead=
+ set +x
+ tc qdisc add dev eth0.2 root handle 1:0 hfsc default 1
+ tc class add dev eth0.2 parent 1:0 classid 1:1 hfsc ls rate 1000Mbit ul rate 1600kbit
+ set +x
+ eval echo '$uclass_1'
+ echo 12 -1 -1
+ uclass_def='12 -1 -1'
+ + echo 12 -1 -1
awk ' {print $1}'
+ m2=120
+ echo 12 -1 -1+
awk ' {print $3}'
+ min_bandwidth=-1
+ '[' -1 -gt 0 ]
+ ll_str=
+ + awkecho ' {print $2}' 12
-1 -1
+ max_bandwidth=-1
+ '[' -1 -ge 0 ]
+ max_bandwidth=0
+ ul_str=
+ tbw=0
+ '[' 0 -lt 6000 ]
+ tbw=6000
+ tc class add dev eth0.2 parent 1:1 classid 1:2 hfsc ls m2 120Mbit
+ tc qdisc add dev eth0.2 parent 1:2 handle 2:1 sfq headdrop limit 24 divisor 256
+ tc filter add dev eth0.2 parent 1:0 protocol ip handle 0x2 fw flowid 1:2
+ tc filter add dev eth0.2 parent 2: handle 1 flow divisor 256 map key nfct-src and 0xff
+ set +x
+ eval echo '$uclass_2'
+ echo 12 -1 -1
+ uclass_def='12 -1 -1'
+ + echo 12 -1 -1awk ' {print $1}'
+ m2=120
+ + awk ' {print $3}'
echo 12 -1 -1
+ min_bandwidth=-1
+ '[' -1 -gt 0 ]
+ ll_str=
+ + awk ' {print $2}'
echo 12 -1 -1
+ max_bandwidth=-1
+ '[' -1 -ge 0 ]
+ max_bandwidth=0
+ ul_str=
+ tbw=0
+ '[' 0 -lt 6000 ]
+ tbw=6000
+ tc class add dev eth0.2 parent 1:1 classid 1:3 hfsc ls m2 120Mbit
+ tc qdisc add dev eth0.2 parent 1:3 handle 3:1 sfq headdrop limit 24 divisor 256
+ tc filter add dev eth0.2 parent 1:0 protocol ip handle 0x3 fw flowid 1:3
+ tc filter add dev eth0.2 parent 3: handle 1 flow divisor 256 map key nfct-src and 0xff
+ set +x
+ eval echo '$uclass_3'
+ echo 12 -1 -1
+ uclass_def='12 -1 -1'
+ + awk ' {print $1}'
echo 12 -1 -1
+ m2=120
+ + awk ' {print $3}'echo
12 -1 -1
+ min_bandwidth=-1
+ '[' -1 -gt 0 ]
+ ll_str=
+ + awk ' {print $2}'
echo 12 -1 -1
+ max_bandwidth=-1
+ '[' -1 -ge 0 ]
+ max_bandwidth=0
+ ul_str=
+ tbw=0
+ '[' 0 -lt 6000 ]
+ tbw=6000
+ tc class add dev eth0.2 parent 1:1 classid 1:4 hfsc ls m2 120Mbit
+ tc qdisc add dev eth0.2 parent 1:4 handle 4:1 sfq headdrop limit 24 divisor 256
+ tc filter add dev eth0.2 parent 1:0 protocol ip handle 0x4 fw flowid 1:4
+ tc filter add dev eth0.2 parent 4: handle 1 flow divisor 256 map key nfct-src and 0xff
+ set +x
+ eval echo '$uclass_4'
+ echo 64 -1 -1
+ uclass_def='64 -1 -1'
+ + awk ' {print $1}'
echo 64 -1 -1
+ m2=640
+ + awk ' {print $3}'
echo 64 -1 -1
+ min_bandwidth=-1
+ '[' -1 -gt 0 ]
+ ll_str=
+ + awk ' {print $2}'
echo 64 -1 -1
+ max_bandwidth=-1
+ '[' -1 -ge 0 ]
+ max_bandwidth=1
+ ul_str=
+ tbw=12
+ '[' 12 -lt 6000 ]
+ tbw=6000
+ tc class add dev eth0.2 parent 1:1 classid 1:5 hfsc ls m2 640Mbit
+ tc qdisc add dev eth0.2 parent 1:5 handle 5:1 sfq headdrop limit 24 divisor 256
+ tc filter add dev eth0.2 parent 1:0 protocol ip handle 0x5 fw flowid 1:5
+ tc filter add dev eth0.2 parent 5: handle 1 flow divisor 256 map key nfct-src and 0xff
+ set +x
+ tc qdisc change dev eth0.2 root handle 1:0 hfsc default 4
+ iptables -t mangle -N qos_egress
+ iptables -t mangle -A POSTROUTING -o eth0.2 -j qos_egress
+ set +x
+ iptables -t mangle -I qos_egress -p udp -s 192.168.3.25 --dport 3478:3479 -j MARK --set-mark 0x5
+ set +x
+ iptables -t mangle -I qos_egress -p tcp -s 192.168.3.25 --dport 8801:8802 -j MARK --set-mark 0x5
+ set +x
+ iptables -t mangle -I qos_egress -p udp -s 192.168.3.25 --dport 8801:8810 -j MARK --set-mark 0x5
+ set +x
+ iptables -t mangle -I qos_egress -s 192.168.3.99 -j MARK --set-mark 0x3
+ set +x
+ iptables -t mangle -I qos_egress -s 192.168.3.98 -j MARK --set-mark 0x2
+ set +x
+ iptables -t mangle -I qos_egress -s 192.168.3.5 -j MARK --set-mark 0x3
+ set +x
+ iptables -t mangle -I qos_egress -s 192.168.3.6 -j MARK --set-mark 0x2
+ set +x
+ iptables -t mangle -I qos_egress -s 192.168.3.7 -j MARK --set-mark 0x2
+ set +x
+ iptables -t mangle -I qos_egress -j MARK --set-mark 0x4
+ iptables -t mangle -I qos_egress -m mark '!' --mark 0x0 -j RETURN
+ iptables -t mangle -I qos_egress -m mark '!' --mark 0x0 -j CONNMARK --save-mark --mask 0x007F
+ iptables -t mangle -A qos_egress -j CONNMARK --save-mark --mask 0x007F
+ '[' 24000 -eq 0 ]
+ '[' 1600 -eq 0 ]
+ '[' 24000 -ge 0 ]
+ ip link set imq0 up
+ tc qdisc add dev imq0 root handle 1:0 hfsc default 1
+ tc class add dev imq0 parent 1:0 classid 1:1 hfsc ls rate 1000Mbit ul m2 24000kbit
+ set +x
+ class_mark_list='dclass_1:0x200 '
+ eval echo '$dclass_1'
+ echo 33 -1 -1
+ dclass_def='33 -1 -1'
+ + echoawk 33 ' {print $1}' -1
-1
+ m2=330
+ + awk ' {print $2}'
echo 33 -1 -1
+ max_bandwidth=-1
+ ul_str=
+ '[' -1 -ge 0 ]
+ max_bandwidth=24000
+ echo 33 -1 -1
+ awk ' {print $4}'
+ minRTT=
+ '[' '=' Yes ]
+ ll_str=' ls m2 330Mbit'
+ awk ' {print $3}'
+ echo 33 -1 -1
+ min_bandwidth=-1
+ rt_str=
+ '[' -1 -gt 0 ]
+ tbw=300000
+ '[' 300000 -lt 10000 ]
+ tc class add dev imq0 parent 1:1 classid 1:2 hfsc ls m2 330Mbit
+ tc qdisc add dev imq0 parent 1:2 handle 2:1 sfq headdrop limit 1200 divisor 256
+ tc filter add dev imq0 parent 1:0 prio 2 protocol ip handle 0x200 fw flowid 1:2
+ tc filter add dev imq0 parent 2: handle 1 flow divisor 256 map key dst and 0xff
+ set +x
+ class_mark_list='dclass_1:0x200 dclass_2:0x300 '
+ eval echo '$dclass_2'
+ echo 33 -1 -1
+ dclass_def='33 -1 -1'
+ + awk ' {print $1}'echo 33 -1
-1
+ m2=330
+ echo 33 -1 -1
+ awk ' {print $2}'
+ max_bandwidth=-1
+ ul_str=
+ '[' -1 -ge 0 ]
+ max_bandwidth=24000
+ + echo 33 -1 -1
awk ' {print $4}'
+ minRTT=
+ '[' '=' Yes ]
+ ll_str=' ls m2 330Mbit'
+ + awk ' {print $3}'
echo 33 -1 -1
+ min_bandwidth=-1
+ rt_str=
+ '[' -1 -gt 0 ]
+ tbw=300000
+ '[' 300000 -lt 10000 ]
+ tc class add dev imq0 parent 1:1 classid 1:3 hfsc ls m2 330Mbit
+ tc qdisc add dev imq0 parent 1:3 handle 3:1 sfq headdrop limit 1200 divisor 256
+ tc filter add dev imq0 parent 1:0 prio 3 protocol ip handle 0x300 fw flowid 1:3
+ tc filter add dev imq0 parent 3: handle 1 flow divisor 256 map key dst and 0xff
+ set +x
+ class_mark_list='dclass_1:0x200 dclass_2:0x300 dclass_3:0x400 '
+ eval echo '$dclass_3'
+ echo 22 -1 -1
+ dclass_def='22 -1 -1'
+ + awk ' {print $1}'
echo 22 -1 -1
+ m2=220
+ echo 22+ -1 -1
awk ' {print $2}'
+ max_bandwidth=-1
+ ul_str=
+ '[' -1 -ge 0 ]
+ max_bandwidth=24000
+ + awkecho 22 -1 -1 ' {print $4}'
+ minRTT=
+ '[' '=' Yes ]
+ ll_str=' ls m2 220Mbit'
+ + echo 22awk ' {print $3}' -1
-1
+ min_bandwidth=-1
+ rt_str=
+ '[' -1 -gt 0 ]
+ tbw=300000
+ '[' 300000 -lt 10000 ]
+ tc class add dev imq0 parent 1:1 classid 1:4 hfsc ls m2 220Mbit
+ tc qdisc add dev imq0 parent 1:4 handle 4:1 sfq headdrop limit 1200 divisor 256
+ tc filter add dev imq0 parent 1:0 prio 4 protocol ip handle 0x400 fw flowid 1:4
+ tc filter add dev imq0 parent 4: handle 1 flow divisor 256 map key dst and 0xff
+ set +x
+ class_mark_list='dclass_1:0x200 dclass_2:0x300 dclass_3:0x400 dclass_4:0x500 '
+ eval echo '$dclass_4'
+ echo 11 -1 3000 Yes
+ dclass_def='11 -1 3000 Yes'
+ + awk ' {print $1}'
echo 11 -1 3000 Yes
+ m2=110
+ echo 11 -1 3000 Yes
+ awk ' {print $2}'
+ max_bandwidth=-1
+ ul_str=
+ '[' -1 -ge 0 ]
+ max_bandwidth=24000
+ + awk ' {print $4}'
echo 11 -1 3000 Yes
+ minRTT=Yes
+ '[' Yes '=' Yes ]
+ d1=1
+ ll_str=' ls m1 220Mbit d 1ms m2 110Mbit'
+ + awkecho 11 -1 3000 Yes
' {print $3}'
+ min_bandwidth=3000
+ rt_str=
+ '[' 3000 -gt 0 ]
+ '[' Yes '=' Yes ]
+ d2=1
+ rt_str=' rt m1 24000kbit d 1ms m2 3000kbit'
+ tbw=300000
+ '[' 300000 -lt 10000 ]
+ tc class add dev imq0 parent 1:1 classid 1:5 hfsc rt m1 24000kbit d 1ms m2 3000kbit ls m1 220Mbit d 1ms m2 110Mbit
+ tc qdisc add dev imq0 parent 1:5 handle 5:1 sfq headdrop limit 1200 divisor 256
+ tc filter add dev imq0 parent 1:0 prio 5 protocol ip handle 0x500 fw flowid 1:5
+ tc filter add dev imq0 parent 5: handle 1 flow divisor 256 map key dst and 0xff
+ set +x
+ tc qdisc change dev imq0 root handle 1:0 hfsc default 4
+ iptables -t mangle -N qos_ingress
+ iptables -t mangle -A FORWARD -i eth0.2 -j qos_ingress
+ iptables -t mangle -A INPUT -i eth0.2 -j qos_ingress
+ set +x
+ iptables -t mangle -I qos_ingress -p tcp --sport 8801:8802 -d 192.168.3.25 -j MARK --set-mark 0x500
+ set +x
+ iptables -t mangle -I qos_ingress -p udp --sport 3478:3479 -d 192.168.3.25 -j MARK --set-mark 0x500
+ set +x
+ iptables -t mangle -I qos_ingress -p udp --sport 8801:8810 -d 192.168.3.25 -j MARK --set-mark 0x500
+ set +x
+ iptables -t mangle -I qos_ingress -d 192.168.3.98 -j MARK --set-mark 0x200
+ set +x
+ iptables -t mangle -I qos_ingress -d 192.168.3.99 -j MARK --set-mark 0x300
+ set +x
+ iptables -t mangle -I qos_ingress -d 192.168.3.7 -j MARK --set-mark 0x200
+ set +x
+ iptables -t mangle -I qos_ingress -d 192.168.3.6 -j MARK --set-mark 0x200
+ set +x
+ iptables -t mangle -I qos_ingress -d 192.168.3.5 -j MARK --set-mark 0x300
+ set +x
+ iptables -t mangle -I qos_ingress -j MARK --set-mark 0x400
+ iptables -t mangle -I qos_ingress -m mark '!' --mark 0x0 -j RETURN
+ iptables -t mangle -I qos_ingress -m mark '!' --mark 0x0 -j CONNMARK --save-mark --mask 0x7F00
+ iptables -t mangle -I qos_ingress -j IMQ --todev 0
+ iptables -t mangle -A qos_ingress -j CONNMARK --save-mark --mask 0x7F00
+ set +x
+ '[' -z 8.8.8.8 ]
+ iptables -t mangle -I qos_ingress -p icmp --icmp-type 0 -s 8.8.8.8 -j RETURN
+ tc class add dev eth0.2 parent 1:1 classid 1:127 hfsc rt umax 106 dmax 10ms rate 4kbit
+ tc qdisc add dev eth0.2 parent 1:127 pfifo
+ tc filter add dev eth0.2 parent 1:0 prio 1 protocol ip handle 127 fw flowid 1:127
+ iptables -t mangle -I qos_egress -p icmp --icmp-type 8 -s 192.168.254.65 -d 8.8.8.8 -j MARK --set-mark 127
+ '[' -n ]
+ pinglimit=11
+ qosmon -a -b 800 8.8.8.8 24000 11
+ set +x
root@Gargoyle:~#