Re: htb with negative number of tokens

Linux Advanced Routing and Traffic Control

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

 



On Sunday 16 November 2003 12:33, Jacek Bilski wrote:
> > Why not?  Class 1:1 has child classes.  These child classes are able to
> > send pckets as long as they have tokens.  Even if the parent has no
> > tokens left, they still can send packets as long as they have tokens.  So
> > they can drag the parent tokens negative.
> > But I don't understand why class 1:1023 has negative tokens?  Is this is
> > a leaf class ?
>
> Yes, it's leaf class. I recomiled my kernel and they are again negative.
>
> Maybe it's something about my kernel? I did some patching:
>
> kernel 2.4.22 + grsecurity 1.9.12 + patch-o-matic 20030912 (quite lot's
> of patches) with htb20030625 patch + imq for 2.4.21 + imqnat + layer7
> 0.4.1a
>
> iproute2 with layer7 + htb overhead patch
>
> iptables 1.2.9 + grsecurity 1.2.9 + layer 0.2 + patch-o-matic 20030912
> with htb20030625 patch
Kernel is not important.  But I just realised that the tokens can be negative.  
And it's not because a problem that the tokens are negative.

> > > (If output isn't enough I can send my script which is quite big,
> > > ~14Kbytes)
> >
> > Can you send us only the tc class/qdisc commands ?
>
> Sure:
>
> <script>
> tc qdisc del dev imq0 root
> modprobe imq
> ip link set imq0 up
> tc qdisc add dev imq0 root handle 1 htb default 1015 r2q 1
> tc class add dev imq0 parent 1:0 classid 1:1 htb rate 50kbit ceil 50kbit
> tc class add dev imq0 parent 1:1 classid 1:1010 htb rate 7kbit ceil
> 50kbit prio 3
> tc class add dev imq0 parent 1:1 classid 1:1020 htb rate 7kbit ceil
> 50kbit prio 5
> tc class add dev imq0 parent 1:1 classid 1:1030 htb rate 7kbit ceil
> 50kbit prio 5
> tc class add dev imq0 parent 1:1 classid 1:1040 htb rate 7kbit ceil
> 50kbit prio 5
> tc class add dev imq0 parent 1:1 classid 1:1050 htb rate 7kbit ceil
> 50kbit prio 5
> tc class add dev imq0 parent 1:1 classid 1:1060 htb rate 7kbit ceil
> 50kbit prio 5
> tc class add dev imq0 parent 1:1 classid 1:1070 htb rate 7kbit ceil
> 50kbit prio 5
> tc class add dev imq0 parent 1:1010 classid 1:1011 htb rate 3kbit ceil
> 50kbit prio 1
> tc class add dev imq0 parent 1:1010 classid 1:1012 htb rate 3kbit ceil
> 50kbit prio 2
> tc class add dev imq0 parent 1:1010 classid 1:1013 htb rate 2kbit ceil
> 50kbit prio 3
> tc class add dev imq0 parent 1:1010 classid 1:1014 htb rate 1kbit ceil
> 50kbit prio 4
> tc class add dev imq0 parent 1:1010 classid 1:1015 htb rate 1kbit ceil
> 50kbit prio 5
> tc class add dev imq0 parent 1:1020 classid 1:1021 htb rate 3kbit ceil
> 50kbit prio 1
> tc class add dev imq0 parent 1:1020 classid 1:1022 htb rate 3kbit ceil
> 50kbit prio 2
> tc class add dev imq0 parent 1:1020 classid 1:1023 htb rate 2kbit ceil
> 50kbit prio 3
> tc class add dev imq0 parent 1:1020 classid 1:1024 htb rate 1kbit ceil
> 50kbit prio 4
> tc class add dev imq0 parent 1:1020 classid 1:1025 htb rate 1kbit ceil
> 50kbit prio 5
> tc class add dev imq0 parent 1:1030 classid 1:1031 htb rate 3kbit ceil
> 50kbit prio 1
> tc class add dev imq0 parent 1:1030 classid 1:1032 htb rate 3kbit ceil
> 50kbit prio 2
> tc class add dev imq0 parent 1:1030 classid 1:1033 htb rate 2kbit ceil
> 50kbit prio 3
> tc class add dev imq0 parent 1:1030 classid 1:1034 htb rate 1kbit ceil
> 50kbit prio 4
> tc class add dev imq0 parent 1:1030 classid 1:1035 htb rate 1kbit ceil
> 50kbit prio 5
> tc class add dev imq0 parent 1:1040 classid 1:1041 htb rate 3kbit ceil
> 50kbit prio 1
> tc class add dev imq0 parent 1:1040 classid 1:1042 htb rate 3kbit ceil
> 50kbit prio 2
> tc class add dev imq0 parent 1:1040 classid 1:1043 htb rate 2kbit ceil
> 50kbit prio 3
> tc class add dev imq0 parent 1:1040 classid 1:1044 htb rate 1kbit ceil
> 50kbit prio 4
> tc class add dev imq0 parent 1:1040 classid 1:1045 htb rate 1kbit ceil
> 50kbit prio 5
> tc class add dev imq0 parent 1:1050 classid 1:1051 htb rate 3kbit ceil
> 50kbit prio 1
> tc class add dev imq0 parent 1:1050 classid 1:1052 htb rate 3kbit ceil
> 50kbit prio 2
> tc class add dev imq0 parent 1:1050 classid 1:1053 htb rate 2kbit ceil
> 50kbit prio 3
> tc class add dev imq0 parent 1:1050 classid 1:1054 htb rate 1kbit ceil
> 50kbit prio 4
> tc class add dev imq0 parent 1:1050 classid 1:1055 htb rate 1kbit ceil
> 50kbit prio 5
> tc class add dev imq0 parent 1:1060 classid 1:1061 htb rate 3kbit ceil
> 50kbit prio 1
> tc class add dev imq0 parent 1:1060 classid 1:1062 htb rate 3kbit ceil
> 50kbit prio 2
> tc class add dev imq0 parent 1:1060 classid 1:1063 htb rate 2kbit ceil
> 50kbit prio 3
> tc class add dev imq0 parent 1:1060 classid 1:1064 htb rate 1kbit ceil
> 50kbit prio 4
> tc class add dev imq0 parent 1:1060 classid 1:1065 htb rate 1kbit ceil
> 50kbit prio 5
> tc class add dev imq0 parent 1:1070 classid 1:1071 htb rate 3kbit ceil
> 50kbit prio 1
> tc class add dev imq0 parent 1:1070 classid 1:1072 htb rate 3kbit ceil
> 50kbit prio 2
> tc class add dev imq0 parent 1:1070 classid 1:1073 htb rate 2kbit ceil
> 50kbit prio 3
> tc class add dev imq0 parent 1:1070 classid 1:1074 htb rate 1kbit ceil
> 50kbit prio 4
> tc class add dev imq0 parent 1:1070 classid 1:1075 htb rate 1kbit ceil
> 50kbit prio 5
Your commands are looking fine.  However, the rate parameters are too small.  
You probably get some htb errors in your kernel log about quantum.

Stef

-- 
stef.coene@xxxxxxxxx
 "Using Linux as bandwidth manager"
     http://www.docum.org/
     #lartc @ irc.openprojects.net

_______________________________________________
LARTC mailing list / LARTC@xxxxxxxxxxxxxxx
http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/

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