Re: Borrowing between HTB classes not working as expectd.

Linux Advanced Routing and Traffic Control

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I did not mix these up. I'm using the 1:2 class for TCP and ICMP
control packets, such as TCP acks which need an amount of bandwidth
proportinat to the makimum download rate.


On 11/12/05, andreas.klauer@xxxxxxxxxxxxxx
<andreas.klauer@xxxxxxxxxxxxxx> wrote:
> Quoting Ryan Castellucci <ryan.castellucci@xxxxxxxxx>:
>
> > I've called this setting it up on an IMQ device with speed 1200/256
> > on a 1536/384 line.
>
> > Perl code to set everything up below, if you comment out the system call,
> > it'll list off all the tc commands executed.
>
> Hmmm, the output it produces for me is really weird. Could you post the output
> of 'tc -d qdisc show dev <device>' and 'tc -d class show dev <device>'
> somewhere, it's easier to understand and maybe that will make more
> sense to me.
>
> The main problems in the output I get is that rates do not add up; children
> class rates added up together is higher than parent class rate, which
> means the
> children take more bandwidth for guaranteed than the parent can offer.
> Sometimes
> child class ceil rates is greater than parent class ceil rate, which
> should not
> be exceeded in any case (at least to my understanding of HTB).
>
> By looking at your Perl code, you seem to be mixing up $speed_up and
> $speed_down
> quite a lot; at least to me it makes no sense to have a download class
> as child
> of an upload class, especially not with that much difference in available
> download/upload rate. But I'm not really a Perl programmer, so maybe I
> misunderstood this part.

I did not mix these up. I'm using the 1:2 class for TCP and ICMP
control packets, such as TCP acks which need an amount of bandwidth
proportinate to the maximum download rate.

The tc show output is attached.

--
Ryan Castellucci http://ryanc.org/
# tc -d qdisc show dev imq0;tc -d class show dev imq0
qdisc htb 1: r2q 1 default 4 direct_packets_stat 0 ver 3.17
qdisc sfq 3: parent 1:3 limit 128p quantum 1500b flows 128/1024 perturb 10sec
qdisc sfq 356: parent 1:356 limit 128p quantum 1500b flows 128/1024 perturb 10sec
qdisc sfq 612: parent 1:612 limit 128p quantum 1500b flows 128/1024 perturb 10sec
qdisc sfq 868: parent 1:868 limit 128p quantum 1500b flows 128/1024 perturb 10sec
qdisc sfq 357: parent 1:357 limit 128p quantum 1500b flows 128/1024 perturb 10sec
qdisc sfq 613: parent 1:613 limit 128p quantum 1500b flows 128/1024 perturb 10sec
qdisc sfq 869: parent 1:869 limit 128p quantum 1500b flows 128/1024 perturb 10sec
qdisc sfq 358: parent 1:358 limit 128p quantum 1500b flows 128/1024 perturb 10sec
qdisc sfq 614: parent 1:614 limit 128p quantum 1500b flows 128/1024 perturb 10sec
qdisc sfq 870: parent 1:870 limit 128p quantum 1500b flows 128/1024 perturb 10sec
qdisc sfq 359: parent 1:359 limit 128p quantum 1500b flows 128/1024 perturb 10sec
qdisc sfq 615: parent 1:615 limit 128p quantum 1500b flows 128/1024 perturb 10sec
qdisc sfq 871: parent 1:871 limit 128p quantum 1500b flows 128/1024 perturb 10sec
qdisc sfq 360: parent 1:360 limit 128p quantum 1500b flows 128/1024 perturb 10sec
qdisc sfq 616: parent 1:616 limit 128p quantum 1500b flows 128/1024 perturb 10sec
qdisc sfq 872: parent 1:872 limit 128p quantum 1500b flows 128/1024 perturb 10sec
qdisc sfq 361: parent 1:361 limit 128p quantum 1500b flows 128/1024 perturb 10sec
qdisc sfq 617: parent 1:617 limit 128p quantum 1500b flows 128/1024 perturb 10sec
qdisc sfq 873: parent 1:873 limit 128p quantum 1500b flows 128/1024 perturb 10sec
class htb 1:356 parent 1:4 leaf 356: prio 4 quantum 16000 rate 128000bit ceil 243000bit burst 15Kb/8 mpu 0b overhead 0b cburst 1902b/8 mpu 0b overhead 0b level 0
class htb 1:617 parent 1:5 leaf 617: prio 6 quantum 12750 rate 102000bit ceil 243000bit burst 15Kb/8 mpu 0b overhead 0b cburst 1902b/8 mpu 0b overhead 0b level 0
class htb 1:357 parent 1:4 leaf 357: prio 4 quantum 16000 rate 128000bit ceil 243000bit burst 15Kb/8 mpu 0b overhead 0b cburst 1902b/8 mpu 0b overhead 0b level 0
class htb 1:616 parent 1:5 leaf 616: prio 6 quantum 12750 rate 102000bit ceil 243000bit burst 15Kb/8 mpu 0b overhead 0b cburst 1902b/8 mpu 0b overhead 0b level 0
class htb 1:2 root rate 217000bit ceil 217000bit burst 64Kb/8 mpu 0b overhead 0b cburst 1870b/8 mpu 0b overhead 0b level 7
class htb 1:615 parent 1:5 leaf 615: prio 6 quantum 12750 rate 102000bit ceil 243000bit burst 15Kb/8 mpu 0b overhead 0b cburst 1902b/8 mpu 0b overhead 0b level 0
class htb 1:3 parent 1:2 leaf 3: prio 2 quantum 15500 rate 124000bit ceil 149000bit burst 64Kb/8 mpu 0b overhead 0b cburst 1785b/8 mpu 0b overhead 0b level 0
class htb 1:614 parent 1:5 leaf 614: prio 6 quantum 12750 rate 102000bit ceil 243000bit burst 15Kb/8 mpu 0b overhead 0b cburst 1902b/8 mpu 0b overhead 0b level 0
class htb 1:4 parent 1:2 rate 128000bit ceil 243000bit burst 64Kb/8 mpu 0b overhead 0b cburst 1902b/8 mpu 0b overhead 0b level 6
class htb 1:613 parent 1:5 leaf 613: prio 6 quantum 12750 rate 102000bit ceil 243000bit burst 15Kb/8 mpu 0b overhead 0b cburst 1902b/8 mpu 0b overhead 0b level 0
class htb 1:361 parent 1:4 leaf 361: prio 4 quantum 16000 rate 128000bit ceil 243000bit burst 15Kb/8 mpu 0b overhead 0b cburst 1902b/8 mpu 0b overhead 0b level 0
class htb 1:5 parent 1:2 rate 102000bit ceil 243000bit burst 64Kb/8 mpu 0b overhead 0b cburst 1902b/8 mpu 0b overhead 0b level 6
class htb 1:612 parent 1:5 leaf 612: prio 6 quantum 12750 rate 102000bit ceil 243000bit burst 15Kb/8 mpu 0b overhead 0b cburst 1902b/8 mpu 0b overhead 0b level 0
class htb 1:360 parent 1:4 leaf 360: prio 4 quantum 16000 rate 128000bit ceil 243000bit burst 15Kb/8 mpu 0b overhead 0b cburst 1902b/8 mpu 0b overhead 0b level 0
class htb 1:6 parent 1:2 rate 25000bit ceil 204000bit burst 64Kb/8 mpu 0b overhead 0b cburst 1854b/8 mpu 0b overhead 0b level 6
class htb 1:868 parent 1:6 leaf 868: prio 7 quantum 3125 rate 25000bit ceil 204000bit burst 15Kb/8 mpu 0b overhead 0b cburst 1854b/8 mpu 0b overhead 0b level 0
class htb 1:869 parent 1:6 leaf 869: prio 7 quantum 3125 rate 25000bit ceil 204000bit burst 15Kb/8 mpu 0b overhead 0b cburst 1854b/8 mpu 0b overhead 0b level 0
class htb 1:873 parent 1:6 leaf 873: prio 7 quantum 3125 rate 25000bit ceil 204000bit burst 15Kb/8 mpu 0b overhead 0b cburst 1854b/8 mpu 0b overhead 0b level 0
class htb 1:872 parent 1:6 leaf 872: prio 7 quantum 3125 rate 25000bit ceil 204000bit burst 15Kb/8 mpu 0b overhead 0b cburst 1854b/8 mpu 0b overhead 0b level 0
class htb 1:358 parent 1:4 leaf 358: prio 4 quantum 16000 rate 128000bit ceil 243000bit burst 15Kb/8 mpu 0b overhead 0b cburst 1902b/8 mpu 0b overhead 0b level 0
class htb 1:871 parent 1:6 leaf 871: prio 7 quantum 3125 rate 25000bit ceil 204000bit burst 15Kb/8 mpu 0b overhead 0b cburst 1854b/8 mpu 0b overhead 0b level 0
class htb 1:870 parent 1:6 leaf 870: prio 7 quantum 3125 rate 25000bit ceil 204000bit burst 15Kb/8 mpu 0b overhead 0b cburst 1854b/8 mpu 0b overhead 0b level 0
class htb 1:359 parent 1:4 leaf 359: prio 4 quantum 16000 rate 128000bit ceil 243000bit burst 15Kb/8 mpu 0b overhead 0b cburst 1902b/8 mpu 0b overhead 0b level 0
_______________________________________________
LARTC mailing list
LARTC@xxxxxxxxxxxxxxx
http://mailman.ds9a.nl/cgi-bin/mailman/listinfo/lartc

[Index of Archives]     [LARTC Home Page]     [Netfilter]     [Netfilter Development]     [Network Development]     [Bugtraq]     [GCC Help]     [Yosemite News]     [Linux Kernel]     [Fedora Users]
  Powered by Linux