From mboxrd@z Thu Jan 1 00:00:00 1970 From: Peter Rabbitson Date: Sat, 20 Oct 2007 10:51:04 +0000 Subject: HTB Ceil (was: [LARTC] Yet another shaping question) Message-Id: <4719DD98.2010406@rabbit.us> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: lartc@vger.kernel.org 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@mailman.ds9a.nl http://mailman.ds9a.nl/cgi-bin/mailman/listinfo/lartc