HTB Ceil (was: Yet another shaping question)

Linux Advanced Routing and Traffic Control

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

 



Lately I had time to make some progress on the problem stated at the start of this thread. Now however I am facing a problem with HTB not working correctly. Since I use the same rules on multiple interfaces, I use the same impossibly high ceil for all of them (1Gbyte), and rely on priorities in order to distribute traffic. However it does not seem to work, although the docs state it should. Here is a minimized example:

root@Arzamas:/etc/init.d# tc -d class show dev wan_a
class htb 1:1 root rate 8000Mbit ceil 8000Mbit burst 1Kb/8 mpu 0b overhead 0b cburst 1Kb/8 mpu 0b overhead 0b level 7 class htb 1:80 parent 1:1 prio 0 quantum 1000 rate 40000bit ceil 8000Mbit burst 1600b/8 mpu 0b overhead 0b cburst 1Kb/8 mpu 0b overhead 0b level 0 class htb 1:48 parent 1:1 prio 4 quantum 1000 rate 40000bit ceil 960000bit burst 1600b/8 mpu 0b overhead 0b cburst 1599b/8 mpu 0b overhead 0b level 0 class htb 1:58 parent 1:1 prio 6 quantum 1000 rate 40000bit ceil 1200Kbit burst 1600b/8 mpu 0b overhead 0b cburst 1599b/8 mpu 0b overhead 0b level 0
root@Arzamas:/etc/init.d#

Traffic flowing into 1:58 is correctly shaped at 150kbytes/s. However when traffic starts coming down 1:48 it only gets up to the actual link speed less 1:58, which is about 40kbytes/s in my case. If however I cap the ceil of the master class to 190kbytes/s - everything works as expected:

root@Arzamas:/etc/init.d# tc -d class show dev wan_a
class htb 1:1 root rate 1520Kbit ceil 1520Kbit burst 1599b/8 mpu 0b overhead 0b cburst 1599b/8 mpu 0b overhead 0b level 7 class htb 1:80 parent 1:1 prio 0 quantum 1000 rate 40000bit ceil 1520Kbit burst 1600b/8 mpu 0b overhead 0b cburst 1599b/8 mpu 0b overhead 0b level 0 class htb 1:48 parent 1:1 prio 4 quantum 1000 rate 40000bit ceil 960000bit burst 1600b/8 mpu 0b overhead 0b cburst 1599b/8 mpu 0b overhead 0b level 0 class htb 1:58 parent 1:1 prio 6 quantum 1000 rate 40000bit ceil 1200Kbit burst 1600b/8 mpu 0b overhead 0b cburst 1599b/8 mpu 0b overhead 0b level 0
root@Arzamas:/etc/init.d#


My question is - how can I shape traffic by priority (deliberately allowing starvation), without knowing beforehand the speed of the underlying link?

Thank you

Peter
_______________________________________________
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