The newest netperf from svn has the ability to set diffserv values both locally and remotely. This makes it really easy to exercise 802.11e queues, in either direction, in multiple ways, under various workloads. (hat off to rick jones for the work)<br>
<br>This is also the very first time I've seen the ath9k driver statistics look sane to me (haven't checked in months tho)<br>(hats off to many folk for that)<br><br>ath9k stats: <a href="http://pastebin.com/2kfJkQ4n">http://pastebin.com/2kfJkQ4n</a><br>
<br>simple example of use<br><br>m@cruithne:~/classes$ more classtest <br>#!/bin/sh<br><br>BK="CS1"<br>BE="CS0"<br>VI="CS5"<br>VO="EF"<br>netperf -l 60 -Y $BK,$BK -H 172.29.1.1 >> $BK.log &<br>
netperf -l 60 -Y $VI,$VI -H 172.29.1.1 >> $VI.log &<br>netperf -l 60 -Y $BE,$BE -H 172.29.1.1 >> $BE.log &<br>netperf -l 60 -Y $VO,$VO -H 172.29.1.1 >> $VO.log &<br><br><br>m@cruithne:~/classes$ more CS0.log <br>
MIGRATED TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 172.29.1.1 () port 0 AF_INET<br>Recv Send Send <br>Socket Socket Message Elapsed <br>Size Size Size Time Throughput <br>
bytes bytes bytes secs. 10^6bits/sec <br><br> 87380 65536 65536 60.04 34.68 <br><br>m@cruithne:~/classes$ more CS1.log <br>MIGRATED TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 172.29.1.1 () port 0 AF_INET<br>
Recv Send Send <br>Socket Socket Message Elapsed <br>Size Size Size Time Throughput <br>bytes bytes bytes secs. 10^6bits/sec <br><br> 87380 65536 65536 60.07 2.62 <br>
<br>m@cruithne:~/classes$ more CS5.log <br>MIGRATED TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 172.29.1.1 () port 0 AF_INET<br>Recv Send Send <br>Socket Socket Message Elapsed <br>
Size Size Size Time Throughput <br>bytes bytes bytes secs. 10^6bits/sec <br><br> 87380 65536 65536 60.01 16.90 <br><br>m@cruithne:~/classes$ more EF.log <br>MIGRATED TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 172.29.1.1 () port 0 AF_INET<br>
Recv Send Send <br>Socket Socket Message Elapsed <br>Size Size Size Time Throughput <br>bytes bytes bytes secs. 10^6bits/sec <br><br> 87380 65536 65536 60.02 16.30 <br clear="all">
<br>(this was through sfqred on both sides, which could use some tuning for each queue, and I need to fiddle with tcp_rr, but I have a few other fish to fry this week)<br><br>m@cruithne:~/classes$ tc -s qdisc show dev wlan0<br>
qdisc mq 1: root <br> Sent 5352889590 bytes 4677961 pkt (dropped 66, overlimits 1278 requeues 173) <br> backlog 0b 0p requeues 173 <br><br>qdisc sfq 10: parent 1:1 limit 200p quantum 3028b depth 24 headdrop divisor 16384 perturb 600sec <br>
ewma 3 min 4500b max 18000b probability 0.2 ecn <br> prob_mark 0 prob_mark_head 6 prob_drop 0<br> forced_mark 0 forced_mark_head 13 forced_drop 0<br> Sent 175003610 bytes 190526 pkt (dropped 2, overlimits 19 requeues 4) <br>
rate 4528bit 1pps backlog 0b 0p requeues 4 <br><br>qdisc sfq 20: parent 1:2 limit 200p quantum 3028b depth 24 headdrop divisor 16384 perturb 600sec <br> ewma 3 min 4500b max 18000b probability 0.2 ecn <br> prob_mark 0 prob_mark_head 173 prob_drop 0<br>
forced_mark 0 forced_mark_head 54 forced_drop 0<br> Sent 1774758920 bytes 1176424 pkt (dropped 9, overlimits 227 requeues 68) <br> rate 0bit 0pps backlog 0b 0p requeues 68 <br><br>qdisc sfq 30: parent 1:3 limit 200p quantum 3028b depth 24 headdrop divisor 16384 perturb 600sec <br>
ewma 3 min 4500b max 18000b probability 0.2 ecn <br> prob_mark 3 prob_mark_head 317 prob_drop 8<br> forced_mark 6 forced_mark_head 692 forced_drop 2<br> Sent 2521435696 bytes 2727177 pkt (dropped 55, overlimits 1028 requeues 55) <br>
rate 1280bit 1pps backlog 0b 0p requeues 55 <br><br>qdisc sfq 40: parent 1:4 limit 200p quantum 3028b depth 24 headdrop divisor 16384 perturb 600sec <br> ewma 3 min 4500b max 18000b probability 0.2 ecn <br> prob_mark 0 prob_mark_head 4 prob_drop 0<br>
forced_mark 0 forced_mark_head 0 forced_drop 0<br> Sent 881691364 bytes 583834 pkt (dropped 0, overlimits 4 requeues 46) <br> rate 0bit 0pps backlog 0b 0p requeues 46 <br><br><br>root@europa:~# tc -s qdisc show dev sw10<br>
<br>qdisc mq 1: root <br> Sent 70630412 bytes 1003868 pkt (dropped 290, overlimits 0 requeues 3283) <br> backlog 0b 0p requeues 3283 <br><br>qdisc sfq 10: parent 1:1 limit 200p quantum 3028b depth 24 headdrop divisor 16384 perturb 600sec <br>
ewma 3 min 4500b max 18000b probability 0.2 ecn <br> prob_mark 0 prob_mark_head 0 prob_drop 0<br> forced_mark 0 forced_mark_head 0 forced_drop 0<br> Sent 3126011 bytes 45972 pkt (dropped 0, overlimits 0 requeues 2749) <br>
rate 1200bit 1pps backlog 0b 0p requeues 2749 <br><br>qdisc sfq 20: parent 1:2 limit 200p quantum 3028b depth 24 headdrop divisor 16384 perturb 600sec <br> ewma 3 min 4500b max 18000b probability 0.2 ecn <br> prob_mark 0 prob_mark_head 0 prob_drop 0<br>
forced_mark 0 forced_mark_head 0 forced_drop 0<br> Sent 35166768 bytes 532192 pkt (dropped 86, overlimits 0 requeues 340) <br> rate 0bit 0pps backlog 0b 0p requeues 340 <br><br>qdisc sfq 30: parent 1:3 limit 200p quantum 3028b depth 24 headdrop divisor 16384 perturb 600sec <br>
ewma 3 min 4500b max 18000b probability 0.2 ecn <br> prob_mark 0 prob_mark_head 0 prob_drop 0<br> forced_mark 0 forced_mark_head 0 forced_drop 0<br> Sent 13624933 bytes 142800 pkt (dropped 87, overlimits 0 requeues 106) <br>
rate 10736bit 5pps backlog 0b 0p requeues 106 <br><br>qdisc sfq 40: parent 1:4 limit 200p quantum 3028b depth 24 headdrop divisor 16384 perturb 600sec <br> ewma 3 min 4500b max 18000b probability 0.2 ecn <br> prob_mark 0 prob_mark_head 0 prob_drop 0<br>
forced_mark 0 forced_mark_head 0 forced_drop 0<br> Sent 18712700 bytes 282904 pkt (dropped 117, overlimits 0 requeues 88) <br> rate 0bit 0pps backlog 0b 0p requeues 88 <br><br><br>-- <br>Dave Täht<br>SKYPE: davetaht<br>US Tel: 1-239-829-5608<br>
<a href="http://www.bufferbloat.net" target="_blank">http://www.bufferbloat.net</a><br>