<html><div style='background-color:'><DIV class=RTE><FONT style="FONT-SIZE: 11px; FONT-FAMILY: tahoma,sans-serif">Hi Andy.</FONT></DIV>
<DIV class=RTE><FONT style="FONT-SIZE: 11px; FONT-FAMILY: tahoma,sans-serif"></FONT>&nbsp;</DIV>
<DIV class=RTE><FONT style="FONT-SIZE: 11px; FONT-FAMILY: tahoma,sans-serif">Thanks !! Thanks a lot for your help !!!!<BR></FONT></DIV>
<DIV class=RTE><FONT style="FONT-SIZE: 11px; FONT-FAMILY: tahoma,sans-serif">Finally I'm seeing something working in the right way... ;)</FONT></DIV>
<DIV class=RTE><FONT style="FONT-SIZE: 11px; FONT-FAMILY: tahoma,sans-serif"></FONT>&nbsp;</DIV>
<DIV class=RTE><FONT style="FONT-SIZE: 11px; FONT-FAMILY: tahoma,sans-serif">I’ve tried another sender/receiver program (I find the “netperf” a little difficult to operate), so I’ve tried with </FONT></DIV>
<DIV class=RTE><FONT style="FONT-SIZE: 11px; FONT-FAMILY: tahoma,sans-serif">“iperf”.<BR></FONT></DIV>
<DIV class=RTE><FONT style="FONT-SIZE: 11px; FONT-FAMILY: tahoma,sans-serif">Now I’m getting all the flows with the correct limitation for its corresponding class.<BR></FONT></DIV>
<DIV class=RTE><FONT style="FONT-SIZE: 11px; FONT-FAMILY: tahoma,sans-serif">But also now, I’m getting ONLY the RATE limitation, not the CEIL one !!! :(<BR></FONT></DIV>
<DIV class=RTE><FONT style="FONT-SIZE: 11px; FONT-FAMILY: tahoma,sans-serif">I’ve done a smaller test configuration, with the same 2 PCs, connected the same way and added the following rules:<BR>======================================================<BR>#interface="eth0"<BR>#interface="lo"<BR>interface="ppp0"</FONT></DIV>
<DIV class=RTE><FONT style="FONT-SIZE: 11px; FONT-FAMILY: tahoma,sans-serif">#Delete any previous stored configuration<BR>tc qdisc del dev $interface root</FONT></DIV>
<DIV class=RTE><FONT style="FONT-SIZE: 11px; FONT-FAMILY: tahoma,sans-serif">#Creating the root Qdisc (Queueing Disk)<BR>tc qdisc add dev $interface root handle 1: htb default 20</FONT></DIV>
<DIV class=RTE><FONT style="FONT-SIZE: 11px; FONT-FAMILY: tahoma,sans-serif">#Definition of classes<BR>tc class add dev $interface parent 1: classid 1:1 htb rate 28kbit ceil 28kbit<BR>tc class add dev $interface parent 1:2 classid 1:20 htb rate 10kbit ceil 28kbit prio 0<BR>tc class add dev $interface parent 1:3 classid 1:30 htb rate 15kbit ceil 28kbit prio 1</FONT></DIV>
<DIV class=RTE><FONT style="FONT-SIZE: 11px; FONT-FAMILY: tahoma,sans-serif">tc qdisc add dev $interface parent 1:20 handle 30: sfq<BR>tc qdisc add dev $interface parent 1:30 handle 40: sfq</FONT></DIV>
<DIV class=RTE><FONT style="FONT-SIZE: 11px; FONT-FAMILY: tahoma,sans-serif">#Definition of the filters<BR>tc filter add dev $interface protocol ip parent 1:0 u32 match ip dport 20001 0xffff flowid 1:20<BR>tc filter add dev $interface protocol ip parent 1:0 u32 match ip dport 20002 0xffff flowid 1:30<BR>==========================================================</FONT></DIV>
<DIV class=RTE><FONT style="FONT-SIZE: 11px; FONT-FAMILY: tahoma,sans-serif"></FONT>&nbsp;</DIV>
<DIV class=RTE><FONT style="FONT-SIZE: 11px; FONT-FAMILY: tahoma,sans-serif"></FONT>&nbsp;</DIV>
<DIV class=RTE><FONT style="FONT-SIZE: 11px; FONT-FAMILY: tahoma,sans-serif">This is my actual version of HTB:<BR></DIV></FONT>
<DIV class=RTE><FONT style="FONT-SIZE: 11px; FONT-FAMILY: tahoma,sans-serif">==========================================================<BR>&nbsp;[root@EdenRH9 htb]# tc qdisc add htb help<BR>What is "help"?<BR>Usage: ... qdisc add ... htb [default N] [r2q N]<BR>&nbsp;default&nbsp; minor id of class to which unclassified packets are sent {0}<BR>&nbsp;r2q&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DRR quantums are computed as rate in Bps/r2q {10}<BR>&nbsp;debug&nbsp;&nbsp;&nbsp; string of 16 numbers each 0-3 {0}</FONT></DIV>
<DIV class=RTE><FONT style="FONT-SIZE: 11px; FONT-FAMILY: tahoma,sans-serif">... class add ... htb rate R1 burst B1 [prio P] [slot S] [pslot PS]<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [ceil R2] [cburst B2] [mtu MTU] [quantum Q]<BR>&nbsp;rate&nbsp;&nbsp;&nbsp;&nbsp; rate allocated to this class (class can still borrow)<BR>&nbsp;burst&nbsp;&nbsp;&nbsp; max bytes burst which can be accumulated during idle period {computed}<BR>&nbsp;ceil&nbsp;&nbsp;&nbsp;&nbsp; definite upper class rate (no borrows) {rate}<BR>&nbsp;cburst&nbsp;&nbsp; burst but for ceil {computed}<BR>&nbsp;mtu&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; max packet size we create rate map for {1600}<BR>&nbsp;prio&nbsp;&nbsp;&nbsp;&nbsp; priority of leaf; lower are served first {0}<BR>&nbsp;quantum&nbsp; how much bytes to serve from leaf at once {use r2q}</FONT></DIV>
<DIV class=RTE><FONT style="FONT-SIZE: 11px; FONT-FAMILY: tahoma,sans-serif">TC HTB version 3.3<BR>[root@EdenRH9 htb]#<BR>==========================================================</FONT></DIV>
<DIV class=RTE><FONT style="FONT-SIZE: 11px; FONT-FAMILY: tahoma,sans-serif"></FONT>&nbsp;</DIV>
<DIV class=RTE><FONT style="FONT-SIZE: 11px; FONT-FAMILY: tahoma,sans-serif"></FONT>&nbsp;</DIV>
<DIV class=RTE><FONT style="FONT-SIZE: 11px; FONT-FAMILY: tahoma,sans-serif">When I did a test run with the traffic generator Iperf, utilizing the following command I got the following results:<BR></FONT></DIV>
<DIV class=RTE><FONT style="FONT-SIZE: 11px; FONT-FAMILY: tahoma,sans-serif">==========================================================<BR>[root@EdenRH9 htb]# iperf -c 192.168.7.100 -p 20001 -n 1 -l 50000<BR>------------------------------------------------------------<BR>Client connecting to 192.168.7.100, TCP port 20001<BR>TCP window size: 16.0 KByte (default)<BR>------------------------------------------------------------<BR>[&nbsp; 3] local 192.168.7.200 port 35550 connected with 192.168.7.100 port 20001<BR>[ ID] Interval&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Transfer&nbsp;&nbsp;&nbsp;&nbsp; Bandwidth<BR>[&nbsp; 3]&nbsp; 0.0-37.4 sec&nbsp; 48.8 KBytes&nbsp; 10.7 Kbits/sec<BR>[root@EdenRH9 htb]#<BR>==========================================================</FONT></DIV>
<DIV class=RTE><FONT style="FONT-SIZE: 11px; FONT-FAMILY: tahoma,sans-serif"></FONT>&nbsp;</DIV>
<DIV class=RTE><FONT style="FONT-SIZE: 11px; FONT-FAMILY: tahoma,sans-serif"></FONT>&nbsp;</DIV>
<DIV class=RTE><FONT style="FONT-SIZE: 11px; FONT-FAMILY: tahoma,sans-serif">You can already see that the rate didn’t went up to the 28kbit, and there was no other traffic on that interface or other class.<BR>So I’ve printed the output of the TC command regarding its QDISC, CLASS and FILTER, before the test run and after the test run and got the following answers:<BR></FONT></DIV>
<DIV class=RTE><FONT style="FONT-SIZE: 11px; FONT-FAMILY: tahoma,sans-serif">==========================================================<BR>&nbsp;[root@EdenRH9 htb]# tc -s -d class show dev ppp0<BR>class htb 1:1 root prio 0 quantum 1000 rate 28Kbit ceil 28Kbit burst 1634b/8 mpu 0b cburst 1634b/8 mpu 0b level 0<BR>&nbsp;Sent 0 bytes 0 pkts (dropped 0, overlimits 0)<BR>&nbsp;lended: 0 borrowed: 0 giants: 0<BR>&nbsp;tokens: 373714 ctokens: 373714</FONT></DIV>
<DIV class=RTE><FONT style="FONT-SIZE: 11px; FONT-FAMILY: tahoma,sans-serif">class htb 1:20 root leaf 30: prio 0 quantum 1000 rate 10Kbit ceil 28Kbit burst 1611b/8 mpu 0b cburst 1634b/8 mpu 0b level 0<BR>&nbsp;Sent 0 bytes 0 pkts (dropped 0, overlimits 0)<BR>&nbsp;lended: 0 borrowed: 0 giants: 0<BR>&nbsp;tokens: 1031680 ctokens: 373714</FONT></DIV>
<DIV class=RTE><FONT style="FONT-SIZE: 11px; FONT-FAMILY: tahoma,sans-serif">class htb 1:30 root leaf 40: prio 1 quantum 1000 rate 15Kbit ceil 28Kbit burst 1618b/8 mpu 0b cburst 1634b/8 mpu 0b level 0<BR>&nbsp;Sent 0 bytes 0 pkts (dropped 0, overlimits 0)<BR>&nbsp;lended: 0 borrowed: 0 giants: 0<BR>&nbsp;tokens: 690773 ctokens: 373714</FONT></DIV>
<DIV class=RTE><FONT style="FONT-SIZE: 11px; FONT-FAMILY: tahoma,sans-serif">[root@EdenRH9 htb]# tc -s -d filter show dev ppp0<BR>filter parent 1: protocol ip pref 49151 u32<BR>filter parent 1: protocol ip pref 49151 u32 fh 801: ht divisor 1<BR>filter parent 1: protocol ip pref 49151 u32 fh 801::800 order 2048 key ht 801 bkt 0 flowid 1:30<BR>&nbsp; match 00004e22/0000ffff at 20<BR>filter parent 1: protocol ip pref 49151 u32 fh 800: ht divisor 1<BR>filter parent 1: protocol ip pref 49151 u32 fh 800::800 order 2048 key ht 800 bkt 0 flowid 1:20<BR>&nbsp; match 00004e21/0000ffff at 20<BR>filter parent 1: protocol ip pref 49152 u32<BR>filter parent 1: protocol ip pref 49152 u32 fh 801: ht divisor 1<BR>filter parent 1: protocol ip pref 49152 u32 fh 801::800 order 2048 key ht 801 bkt 0 flowid 1:30<BR>&nbsp; match 00004e22/0000ffff at 20<BR>filter parent 1: protocol ip pref 49152 u32 fh 800: ht 
divisor 1<BR>filter parent 1: protocol ip pref 49152 u32 fh 800::800 order 2048 key ht 800 bkt 0 flowid 1:20<BR>&nbsp; match 00004e21/0000ffff at 20<BR>[root@EdenRH9 htb]# tc -s -d qdisc show dev ppp0<BR>qdisc sfq 40: quantum 1500b limit 128p flows 128/1024<BR>&nbsp;Sent 0 bytes 0 pkts (dropped 0, overlimits 0)</FONT></DIV>
<DIV class=RTE><FONT style="FONT-SIZE: 11px; FONT-FAMILY: tahoma,sans-serif">&nbsp;qdisc sfq 30: quantum 1500b limit 128p flows 128/1024<BR>&nbsp;Sent 0 bytes 0 pkts (dropped 0, overlimits 0)</FONT></DIV>
<DIV class=RTE><FONT style="FONT-SIZE: 11px; FONT-FAMILY: tahoma,sans-serif">&nbsp;qdisc htb 1: r2q 10 default 20 direct_packets_stat 0 ver 3.7<BR>&nbsp;Sent 0 bytes 0 pkts (dropped 0, overlimits 0)</FONT></DIV>
<DIV class=RTE><FONT style="FONT-SIZE: 11px; FONT-FAMILY: tahoma,sans-serif">&nbsp;[root@EdenRH9 htb]#<BR>&nbsp;[root@EdenRH9 htb]#<BR>&nbsp;[root@EdenRH9 htb]#<BR>&nbsp;[root@EdenRH9 htb]#<BR>&nbsp;[root@EdenRH9 htb]#<BR>&nbsp;[root@EdenRH9 htb]#<BR>&nbsp;[root@EdenRH9 htb]#<BR>&nbsp;[root@EdenRH9 htb]#<BR>&nbsp;[root@EdenRH9 htb]#<BR>[root@EdenRH9 htb]# tc -s -d qdisc show dev ppp0<BR>qdisc sfq 40: quantum 1500b limit 128p flows 128/1024<BR>&nbsp;Sent 0 bytes 0 pkts (dropped 0, overlimits 0)</FONT></DIV>
<DIV class=RTE><FONT style="FONT-SIZE: 11px; FONT-FAMILY: tahoma,sans-serif">&nbsp;qdisc sfq 30: quantum 1500b limit 128p flows 128/1024<BR>&nbsp;Sent 52060 bytes 39 pkts (dropped 0, overlimits 0)</FONT></DIV>
<DIV class=RTE><FONT style="FONT-SIZE: 11px; FONT-FAMILY: tahoma,sans-serif">&nbsp;qdisc htb 1: r2q 10 default 20 direct_packets_stat 0 ver 3.7<BR>&nbsp;Sent 52060 bytes 39 pkts (dropped 0, overlimits 65)</FONT></DIV>
<DIV class=RTE><FONT style="FONT-SIZE: 11px; FONT-FAMILY: tahoma,sans-serif">[root@EdenRH9 htb]# tc -s -d filter show dev ppp0<BR>filter parent 1: protocol ip pref 49151 u32<BR>filter parent 1: protocol ip pref 49151 u32 fh 801: ht divisor 1<BR>filter parent 1: protocol ip pref 49151 u32 fh 801::800 order 2048 key ht 801 bkt 0 flowid 1:30<BR>&nbsp; match 00004e22/0000ffff at 20<BR>filter parent 1: protocol ip pref 49151 u32 fh 800: ht divisor 1<BR>filter parent 1: protocol ip pref 49151 u32 fh 800::800 order 2048 key ht 800 bkt 0 flowid 1:20<BR>&nbsp; match 00004e21/0000ffff at 20<BR>filter parent 1: protocol ip pref 49152 u32<BR>filter parent 1: protocol ip pref 49152 u32 fh 801: ht divisor 1<BR>filter parent 1: protocol ip pref 49152 u32 fh 801::800 order 2048 key ht 801 bkt 0 flowid 1:30<BR>&nbsp; match 00004e22/0000ffff at 20<BR>filter parent 1: protocol ip pref 49152 u32 fh 800: ht 
divisor 1<BR>filter parent 1: protocol ip pref 49152 u32 fh 800::800 order 2048 key ht 800 bkt 0 flowid 1:20<BR>&nbsp; match 00004e21/0000ffff at 20<BR>[root@EdenRH9 htb]# tc -s -d class show dev ppp0<BR>class htb 1:1 root prio 0 quantum 1000 rate 28Kbit ceil 28Kbit burst 1634b/8 mpu 0b cburst 1634b/8 mpu 0b level 0<BR>&nbsp;Sent 0 bytes 0 pkts (dropped 0, overlimits 0)<BR>&nbsp;lended: 0 borrowed: 0 giants: 0<BR>&nbsp;tokens: 373714 ctokens: 373714</FONT></DIV>
<DIV class=RTE><FONT style="FONT-SIZE: 11px; FONT-FAMILY: tahoma,sans-serif">class htb 1:20 root leaf 30: prio 0 quantum 1000 rate 10Kbit ceil 28Kbit burst 1611b/8 mpu 0b cburst 1634b/8 mpu 0b level 0<BR>&nbsp;Sent 52060 bytes 39 pkts (dropped 0, overlimits 0)<BR>&nbsp;rate 131bps<BR>&nbsp;lended: 39 borrowed: 0 giants: 0<BR>&nbsp;tokens: -25088 ctokens: 362744</FONT></DIV>
<DIV class=RTE><FONT style="FONT-SIZE: 11px; FONT-FAMILY: tahoma,sans-serif">class htb 1:30 root leaf 40: prio 1 quantum 1000 rate 15Kbit ceil 28Kbit burst 1618b/8 mpu 0b cburst 1634b/8 mpu 0b level 0<BR>&nbsp;Sent 0 bytes 0 pkts (dropped 0, overlimits 0)<BR>&nbsp;lended: 0 borrowed: 0 giants: 0<BR>&nbsp;tokens: 690773 ctokens: 373714</FONT></DIV>
<DIV class=RTE><FONT style="FONT-SIZE: 11px; FONT-FAMILY: tahoma,sans-serif">[root@EdenRH9 htb]#<BR>&nbsp;==========================================================<BR></FONT></DIV>
<DIV class=RTE><FONT style="FONT-SIZE: 11px; FONT-FAMILY: tahoma,sans-serif"></FONT>&nbsp;</DIV>
<DIV class=RTE><FONT style="FONT-SIZE: 11px; FONT-FAMILY: tahoma,sans-serif">Also made a printout from the TCPTRACE output, captured on the other PC with ETHEREAL with the following content:<BR></FONT></DIV>
<DIV class=RTE><FONT style="FONT-SIZE: 11px; FONT-FAMILY: tahoma,sans-serif">================================================<BR>1 arg remaining, starting with '/opt/teste_regras20001.ethereal'<BR>Ostermann's tcptrace -- version 6.6.7 -- Thu Nov&nbsp; 4, 2004</FONT></DIV>
<DIV class=RTE><FONT style="FONT-SIZE: 11px; FONT-FAMILY: tahoma,sans-serif">76 packets seen, 76 TCP packets traced<BR>elapsed wallclock time: 0:00:00.006178, 12301 pkts/sec analyzed<BR>trace file elapsed time: 0:00:39.289997<BR>TCP connection info:<BR>1 TCP connection traced:<BR>TCP connection 1:<BR>&nbsp;host a:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 192.168.7.200:35550<BR>&nbsp;host b:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 192.168.7.100:20001<BR>&nbsp;complete conn: yes<BR>&nbsp;first packet:&nbsp; Sun Oct 23 20:26:51.304505 2005<BR>&nbsp;last packet:&nbsp;&nbsp; Sun Oct 23 20:27:30.594503 2005<BR>&nbsp;elapsed time:&nbsp; 0:00:39.289997<BR>&nbsp;total packets: 76<BR>&nbsp;filename:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /opt/teste_regras20001.ethereal<BR>&nbsp;&nbsp; a-&gt;b:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; b-&gt;a:<BR>&nbsp;&nbsp;&nbsp;&nbsp; total 
packets:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 39&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; total packets:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 37&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp; ack pkts sent:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 38&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ack pkts sent:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 37&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp; pure acks sent:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pure acks sent:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 35&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp; sack pkts 
sent:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sack pkts sent:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp; dsack pkts sent:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dsack pkts sent:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp; max sack blks/ack:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; max sack blks/ack:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp; unique bytes sent:&nbsp;&nbsp;&nbsp;&nbsp; 
50024&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; unique bytes sent:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp; actual data pkts:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 36&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; actual data pkts:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp; actual data bytes:&nbsp;&nbsp;&nbsp;&nbsp; 50024&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; actual data bytes:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp; rexmt data pkts:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; rexmt data 
pkts:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp; rexmt data bytes:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; rexmt data bytes:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp; zwnd probe pkts:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; zwnd probe pkts:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp; zwnd probe bytes:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; zwnd probe bytes:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp; outoforder pkts:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; outoforder pkts:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp; pushed data pkts:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 10&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pushed data pkts:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp; SYN/FIN pkts sent:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1/1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SYN/FIN pkts sent:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1/1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp; req 1323 
ws/ts:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Y/Y&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; req 1323 ws/ts:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Y/Y&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp; adv wind scale:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; adv wind scale:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp; req sack:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Y&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; req sack:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Y&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp; sacks 
sent:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sacks sent:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp; urgent data pkts:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0 pkts&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; urgent data pkts:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0 pkts <BR>&nbsp;&nbsp;&nbsp;&nbsp; urgent data bytes:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0 bytes&nbsp;&nbsp;&nbsp;&nbsp; urgent data bytes:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0 bytes<BR>&nbsp;&nbsp;&nbsp;&nbsp; mss requested:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1460 bytes&nbsp;&nbsp;&nbsp;&nbsp; mss 
requested:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1460 bytes<BR>&nbsp;&nbsp;&nbsp;&nbsp; max segm size:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1448 bytes&nbsp;&nbsp;&nbsp;&nbsp; max segm size:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0 bytes<BR>&nbsp;&nbsp;&nbsp;&nbsp; min segm size:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 24 bytes&nbsp;&nbsp;&nbsp;&nbsp; min segm size:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0 bytes<BR>&nbsp;&nbsp;&nbsp;&nbsp; avg segm size:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1389 bytes&nbsp;&nbsp;&nbsp;&nbsp; avg segm size:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0 bytes<BR>&nbsp;&nbsp;&nbsp;&nbsp; max win adv:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 5840 
bytes&nbsp;&nbsp;&nbsp;&nbsp; max win adv:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 63712 bytes<BR>&nbsp;&nbsp;&nbsp;&nbsp; min win adv:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 5840 bytes&nbsp;&nbsp;&nbsp;&nbsp; min win adv:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 5792 bytes<BR>&nbsp;&nbsp;&nbsp;&nbsp; zero win adv:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0 times&nbsp;&nbsp;&nbsp;&nbsp; zero win adv:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0 times<BR>&nbsp;&nbsp;&nbsp;&nbsp; avg win adv:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 5840 bytes&nbsp;&nbsp;&nbsp;&nbsp; avg win adv:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 46818 bytes<BR>&nbsp;&nbsp;&nbsp;&nbsp; initial 
window:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 24 bytes&nbsp;&nbsp;&nbsp;&nbsp; initial window:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0 bytes<BR>&nbsp;&nbsp;&nbsp;&nbsp; initial window:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1 pkts&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; initial window:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0 pkts <BR>&nbsp;&nbsp;&nbsp;&nbsp; ttl stream length:&nbsp;&nbsp;&nbsp;&nbsp; 50024 bytes&nbsp;&nbsp;&nbsp;&nbsp; ttl stream length:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0 bytes<BR>&nbsp;&nbsp;&nbsp;&nbsp; missed data:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0 bytes&nbsp;&nbsp;&nbsp;&nbsp; missed data:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0 bytes<BR>&nbsp;&nbsp;&nbsp;&nbsp; 
truncated data:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0 bytes&nbsp;&nbsp;&nbsp;&nbsp; truncated data:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0 bytes<BR>&nbsp;&nbsp;&nbsp;&nbsp; truncated packets:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0 pkts&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; truncated packets:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0 pkts <BR>&nbsp;&nbsp;&nbsp;&nbsp; data xmit time:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 37.430 secs&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; data xmit time:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0.000 secs <BR>&nbsp;&nbsp;&nbsp;&nbsp; idletime max:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2370.0 ms&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; idletime max:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2374.2 ms&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp; 
throughput:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1273 Bps&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; throughput:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0 Bps&nbsp; <BR>=============================================================</FONT></DIV>
<DIV class=RTE><FONT style="FONT-SIZE: 11px; FONT-FAMILY: tahoma,sans-serif"></FONT>&nbsp;</DIV>
<DIV class=RTE><FONT style="FONT-SIZE: 11px; FONT-FAMILY: tahoma,sans-serif">Why are the rules for RATE being the only ones that are taken into account for bandwidth limitation and HTB does not care about the CEIL in class (1:20) and borrows tokens from the other class (1:30) that’s not being utilized?</FONT></DIV>
<DIV class=RTE><FONT style="FONT-SIZE: 11px; FONT-FAMILY: tahoma,sans-serif"></FONT>&nbsp;</DIV>
<DIV class=RTE><FONT style="FONT-SIZE: 11px; FONT-FAMILY: tahoma,sans-serif">Can I still have a problem with software versions (Linux, HTB or TC) ?</FONT></DIV>
<DIV class=RTE><FONT style="FONT-SIZE: 11px; FONT-FAMILY: tahoma,sans-serif"></FONT>&nbsp;</DIV>
<DIV class=RTE><FONT style="FONT-SIZE: 11px; FONT-FAMILY: tahoma,sans-serif">Can there be a problem of correct shaping in HTB for smaller bitrates ?</FONT></DIV><FONT style="FONT-SIZE: 11px; FONT-FAMILY: tahoma,sans-serif">
<DIV class=RTE><BR>Thanks in advance.</DIV>
<DIV class=RTE>&nbsp;</DIV>
<DIV class=RTE>&nbsp;</DIV>
<DIV class=RTE>Best regards.</DIV>
<DIV class=RTE>&nbsp;</DIV>
<DIV class=RTE>Paulo AUgusto<BR></FONT></DIV>
<P><FONT style="FONT-SIZE: 11px; FONT-FAMILY: tahoma,sans-serif">
<HR color=#a0c6e5 SIZE=1>
</P>
<BLOCKQUOTE style="PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #a0c6e5 2px solid; MARGIN-RIGHT: 0px">
<DIV></DIV>From:&nbsp;&nbsp;<I>Andy Furniss &lt;andy.furniss@dsl.pipex.com&gt;</I><BR>Reply-To:&nbsp;&nbsp;<I>andy.furniss@dsl.pipex.com</I><BR>To:&nbsp;&nbsp;<I>Paulo Augusto &lt;augustopaulo@hotmail.com&gt;</I><BR>CC:&nbsp;&nbsp;<I>lartc@mailman.ds9a.nl</I><BR>Subject:&nbsp;&nbsp;<I>Re: [LARTC] Lost packets and strange "behaviour" of my TC rules</I><BR>Date:&nbsp;&nbsp;<I>Mon, 17 Oct 2005 22:29:12 +0100</I><BR>&gt;Paulo Augusto wrote:<BR>&gt;<BR>&gt;<BR>&gt;&gt;<BR>&gt;&gt;I'm using the TG (www.postel.org/tg &lt;http://www.postel.org/tg&gt;) as <BR>&gt;&gt;a TCP traffic generator, to establish three 90kbits/s TCP flows <BR>&gt;&gt;from PC1(any port) to PC2(port 20000, 20001 and 20002), with <BR>&gt;&gt;different durations and pause times, which as can be shown in the <BR>&gt;&gt;next files:<BR>&gt;<BR>&gt;Usually tcp won't be like this, netperf may be better to test with, <BR>&gt;as 
it's more normal for bulk tcp to try to go as fast as it can.<BR>&gt;<BR>&gt;&gt;<BR>&gt;&gt;I've also plotted a graph with gnuplot, showing me that (somehow) <BR>&gt;&gt;my rules were "correct", I've got an average value of 30kbits/s, a <BR>&gt;&gt;10kbits/s and a 60kbits/s.<BR>&gt;&gt;<BR>&gt;&gt;Is it normal that some packets get dropped by the rules or not <BR>&gt;&gt;(taking into account my test configuration) ?<BR>&gt;<BR>&gt;The packets are not dropped in this case as the default queue length <BR>&gt;for sfq is 128, which can hold a rwin worth of data. The missing <BR>&gt;packets just didn't get sent because htb slowed the packets down to <BR>&gt;the rates specified and the sender will only send more once the ones <BR>&gt;already sent are acked.<BR>&gt;<BR>&gt;Andy.<BR>&gt;<BR></FONT></BLOCKQUOTE></div></html>