Traffic control problem with DRR scheduler
The problem is that any subclass with DRR (deficit round robin) qdisc will lose any packets sending out. I'll show you all my tc scripts, sending activities and results below.
First I set up my traffic control context like this: tc qdisc add dev eth0 root handle 1: htb default 15 tc class add dev eth0 parent 1: classid 1:1 htb rate 1000kbps ceil 1000kbps tc class add dev eth0 parent 1:1 classid 1:10 htb rate 300kbps ceil 300kbps tc class add dev eth0 parent 1:1 classid 1:11 htb rate 100kbps ceil 100kbps tc class add dev eth0 parent 1:1 classid 1:15 htb rate 600kbps ceil 600kbps tc filter add dev eth0 parent 1: protocol ip prio 10 u32 match ip tos 0x10 0xff flowid 1:10 tc filter add dev eth0 parent 1: protocol ip prio 20 u32 match ip tos 0x20 0xff flowid 1:11 tc qdisc add dev eth0 parent 1:10 handle 20: drr tc qdisc add dev eth0 parent 1:11 handle 30: drr Then get the detailed tc statistical tc class report like this: class htb 1:11 parent 1:1 leaf 30: prio 0 quantum 10000 rate 800000bit ceil 800000bit burst 1599b/8 mpu 0b overhead 0b cburst 1599b/8 mpu 0b overhead 0b level 0 Sent 0 bytes 0 pkt (dropped 100, overlimits 0 requeues 0) rate 0bit 0pps backlog 0b 0p requeues 0 lended: 0 borrowed: 0 giants: 0 tokens: 249984 ctokens: 249984 class htb 1:1 root rate 8000Kbit ceil 8000Kbit burst 1600b/8 mpu 0b overhead 0b cburst 1600b/8 mpu 0b overhead 0b level 7 Sent 556525 bytes 3969 pkt (dropped 0, overlimits 0 requeues 0) rate 1496bit 2pps backlog 0b 0p requeues 0 lended: 0 borrowed: 0 giants: 0 tokens: 23250 ctokens: 23250 class htb 1:10 parent 1:1 leaf 20: prio 0 quantum 30000 rate 2400Kbit ceil 2400Kbit burst 1599b/8 mpu 0b overhead 0b cburst 1599b/8 mpu 0b overhead 0b level 0 Sent 0 bytes 0 pkt (dropped 241, overlimits 0 requeues 0) rate 0bit 0pps backlog 0b 0p requeues 0 lended: 0 borrowed: 0 giants: 0 tokens: 83328 ctokens: 83328 class htb 1:15 parent 1:1 prio 0 quantum 60000 rate 4800Kbit ceil 4800Kbit burst 1599b/8 mpu 0b overhead 0b cburst 1599b/8 mpu 0b overhead 0b level 0 Sent 542725 bytes 3669 pkt (dropped 7, overlimits 0 requeues 0) rate 1496bit 2pps backlog 0b 0p requeues 0 lended: 3669 borrowed: 0 giants: 0 tokens: 38750 ctokens: 38750 Do you notice any abnormal dropping points by subclass 1:10 and 1:11? Any packets in any rate sending out are dropped! I just use hping3 to send packets. In iptables I set iptables –t mangle –A POSTROUTING –p icmp –d 69.166.51.182 –j DSCP –set-dscp 16 iptables –t mangle –A POSTROUTING –p udp –d 69.166.51.182 –j DSCP –set-dscp 32 Use iptables –t mangle -L we get Chain POSTROUTING (policy ACCEPT) target prot opt source destination DSCP icmp -- anywhere sln303-harry.eecs.wsu.edu DSCP set 0x10 DSCP udp -- anywhere sln303-harry.eecs.wsu.edu DSCP set 0x20 But when I set another subclass 1:12 with the similar configuration but only without DRR qdisc attached, all the packets (following the pre-configured filter) can be sent out without any problem. So could you please tell me what's wrong with the DRR usage? Is there successfuly example or script using DRR without any weird problems? It's new and so nobody gives constructive opinion online. Look forward to your advice or help! Thank you! Harry |
All times are GMT -5. The time now is 01:04 PM. |