htb child classes don't borrow form "parent's parent class" :(

Linux Advanced Routing and Traffic Control

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

 



Dear list,

I have the problem that child classes don't seem to issue the parent
class to borrow from their parent.

This is a simplified version of my script:
tc qdisc del dev $DEV root
tc qdisc add dev $DEV root handle 1: htb default 10
tc class add dev $DEV parent 1: classid 1:1 htb rate 10mbit
tc class add dev $DEV parent 1:1 classid 1:10 htb rate 1kbit ceil
512kbit


#groups

tc class add dev $DEV parent 1: classid 1:f1 htb rate 2048kbit ceil
10mbit burst 50k
tc class add dev $DEV parent 1:f1 classid 1:a1 htb rate 2048kbit ceil
10mbit prio 2 burst 50k
tc class add dev $DEV parent 1:f1 classid 1:b1 htb rate 2048kbit ceil
6mbit prio 3 burst 50k
tc class add dev $DEV parent 1:f1 classid 1:c1 htb rate 2048kbit ceil
5mbit prio 4 burst 50k

tc class add dev $DEV parent 1: classid 1:f2 htb rate 1024kbit ceil
10mbit burst 50k
tc class add dev $DEV parent 1:f2 classid 1:a2 htb rate 1024kbit ceil
10mbit prio 2 burst 50k
tc class add dev $DEV parent 1:f2 classid 1:b2 htb rate 1024kbit ceil
6mbit prio 3 burst 50k
tc class add dev $DEV parent 1:f2 classid 1:c2 htb rate 1024kbit ceil
5mbit prio 4 burst 50k

#users

tc class add dev $DEV parent 1:a1 classid 1:3001 htb rate 64kbit ceil
512kbit burst 50k
tc qdisc add dev $DEV parent 1:3001 sfq perturb 10
tc filter add dev $DEV parent 1:0 protocol ip prio 16 u32 match ip dst
172.30.10.1 flowid 1:3001

tc class add dev $DEV parent 1:b1 classid 1:3002 htb rate 64kbit ceil
1024kbit burst 50k
tc qdisc add dev $DEV parent 1:3002 sfq perturb 10
tc filter add dev $DEV parent 1:0 protocol ip prio 16 u32 match ip dst
172.30.10.2 flowid 1:3002

tc class add dev $DEV parent 1:c1 classid 1:3003 htb rate 64kbit ceil
1024kbit burst 50k
tc qdisc add dev $DEV parent 1:3003 sfq perturb 10
tc filter add dev $DEV parent 1:0 protocol ip prio 16 u32 match ip dst
172.30.10.3 flowid 1:3003


tc class add dev $DEV parent 1:c2 classid 1:3004 htb rate 64kbit ceil
1024kbit burst 50k
tc qdisc add dev $DEV parent 1:3004 sfq perturb 10
tc filter add dev $DEV parent 1:0 protocol ip prio 16 u32 match ip dst
172.30.10.4 flowid 1:3004


.
.
.

The script is dynamically generated, periodically called, and should put
the users (distinguished through their IP address) according to their
traffic usages into lower priorities (axx,bxx,cxx) respecting different
bandwidth needs but also respecting minimum rates for different groups
(fxx).

Now the borrowing among user classes (1:3xxx) is working; but for some
reason and I just can't figure out why, the group classes (fxx) don't
borrow from each other when their is unused bandwidth available. The
"ceil 10mbit" just seems to be ignored :(

e.g.:

class htb 1:3003 parent 1:c1 leaf 92f4: prio 0 quantum 1000 rate
64000bit ceil 1024Kbit burst 50Kb/8 mpu 0b overhead 0b cburst 1727b/8
mpu 0b overhead 0b level 0
 Sent 22500226 bytes 28784 pkts (dropped 0, overlimits 0)
 rate 245080bit 39pps
 lended: 15306 borrowed: 13478 giants: 0  <------------ user borrowed
from others
 tokens: -429574 ctokens: 13314

but:

class htb 1:f1 root rate 2048Kbit ceil 10000Kbit burst 50Kb/8 mpu 0b
overhead 0b cburst 2848b/8 mpu 0b overhead 0b level 7
 Sent 221521122 bytes 257990 pkts (dropped 0, overlimits 0)
 rate 1818Kbit 260pps
 lended: 0 borrowed: 0 giants: 0 <------------ nothing going on here
 tokens: -1118817 ctokens: -274

class htb 1:c1 parent 1:f1 rate 2048Kbit ceil 6000Kbit burst 50Kb/8 mpu
0b overhead 0b cburst 2349b/8 mpu 0b overhead 0b level 6
 Sent 22500226 bytes 28784 pkts (dropped 0, overlimits 0)
 rate 230776bit 37pps
 lended: 13478 borrowed: 0 giants: 0 <------------ or here
 tokens: 204546 ctokens: 3121


Any help is highly appreciated!

Thanx,
 Bernd Froemel  


_______________________________________________
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