Hello again, Thank you for you help last time. I try to create final check for htb, and found some problem. Can you give a quick fix for the problem? 1:1 (ceil 1500kbps) / \ (ceil 800kbps) 1:2 1:8 (ceil 700kbps) / \ \ 1:4 1:12 1:14 / \ (prio 0) 1:10 1:11 (prio 1) The tree under 1:2 is almost the same as you example and is working. And I try to build a larger tree (4 levels) and I would like to do following: class 1:14 is completed isolated even no traffic, the BW will not borow. class 1:12 is empty all the time. class 1:10 is prio 0 and class 1:11 is prio 1 1. My understanding is 1:8 and 1:2 are isolated because of ceil and will not borrow? 2. Since 1:12 is always emppty, it can borrow the excess to tree 1:4 and 1:10 will get all the BW. But in my case, the prio parameter seems to be not very ok. It will give BW to both 1:10 and 1:11. My HTB: echo "sim7 can do the priority BW" echo Clean all the tc setup ./tc qdisc del dev lo root ./tc qdisc add dev lo root handle 1: htb default 12 ./tc class add dev lo parent 1: classid 1:1 htb rate 1500kbps ceil 1500kbps echo "AF and BE" ./tc class add dev lo parent 1:1 classid 1:2 htb rate 100kbps ceil 800kbps ./tc class add dev lo parent 1:2 classid 1:4 htb rate 100nbps ceil 800kbps ./tc class add dev lo parent 1:2 classid 1:10 htb rate 300kbps ceil 800kbps prio 0 ./tc class add dev lo parent 1:2 classid 1:11 htb rate 100kbps ceil 800kbps prio 1 ./tc class add dev lo parent 1:1 classid 1:12 htb rate 100kbps ceil 800kbps echo "EF" ./tc class add dev lo parent 1:1 classid 1:8 htb rate 100kbps ceil 700kbps ./tc class add dev lo parent 1:8 classid 1:14 htb rate 100kbps ceil 700kbps echo qdisc for AF and BE ./tc qdisc add dev lo parent 1:10 handle 20: pfifo limit 5 ./tc qdisc add dev lo parent 1:11 handle 30: pfifo limit 5 ./tc qdisc add dev lo parent 1:12 handle 40: sfq perturb 10 echo qdisc EF ./tc qdisc add dev lo parent 1:14 handle 50: sfq perturb 10 My testcase: # set simulation packet size to 1k 0 S 0 1k 0 S 1 1k 0 S 2 1k 0 S 3 1k # flow 0 AF, flow 1 BE, flow 2 excess, flow 3 EF 0 P 0 0x10010 0 P 1 0x10011 0 P 2 0x10012 0 P 3 0x10014 # start all flow at defined rate 0 R 0 300k 0 R 1 100k 0 R 2 0 0 R 3 700k # AE/BE independent of EF # AE and BE flow higher than normal excess <---Both will get BW ???? 10000 R 0 900k 10000 R 1 900k # AE and BE back to normal excess 15000 R 0 300k 15000 R 1 100k # BE flow higher than normal excess <---no prio flow, allow lower prio to get BW 20000 R 1 900k # AF flow higher than normal <---Both will get BW ???? 25000 R 0 900k # EF flow higher than normal 30000 R 3 900k 35000 X 0 0 Result: 0.5 231444 231444 0 0 77383 77383 0 0 0 0 0 0 540271 478572 40 0 1.0 278479 278479 0 0 92882 92882 0 0 0 0 0 0 609124 583719 61 0 1.5 298901 298901 0 0 100509 100509 0 0 0 0 0 0 615354 611911 62 0 2.0 302205 302205 0 0 101279 101279 0 0 0 0 0 0 617530 617379 63 0 2.5 305878 305878 0 0 102361 102361 0 0 0 0 0 0 616506 616471 63 0 3.0 304599 304599 0 0 102921 102921 0 0 0 0 0 0 618702 618073 63 0 3.5 307264 307264 0 0 102751 102751 0 0 0 0 0 0 618239 617715 63 0 4.0 309582 309582 0 0 103272 103272 0 0 0 0 0 0 620044 619920 63 0 4.5 309559 309559 0 0 103205 103205 0 0 0 0 0 0 619327 619298 63 0 5.0 304899 304899 0 0 102930 102930 0 0 0 0 0 0 621407 619538 63 0 5.5 307757 307757 0 0 102893 102893 0 0 0 0 0 0 618269 617825 63 0 6.0 307659 307659 0 0 102626 102626 0 0 0 0 0 0 615972 615867 63 0 6.5 308994 308994 0 0 103015 103015 0 0 0 0 0 0 618143 618118 63 0 7.0 304329 304329 0 0 102740 102740 0 0 0 0 0 0 620014 617526 61 0 7.5 307540 307540 0 0 102821 102821 0 0 0 0 0 0 617775 617184 63 0 8.0 308544 308544 0 0 102921 102921 0 0 0 0 0 0 617728 617588 63 0 8.5 308877 308877 0 0 102976 102976 0 0 0 0 0 0 619844 619811 63 0 9.0 302607 302607 0 0 100873 100873 0 0 0 0 0 0 620449 617339 61 0 9.5 306437 306437 0 0 102147 102147 0 0 0 0 0 0 616490 615752 63 0 10.0 300719 300719 0 0 100240 100240 0 0 0 0 0 0 604882 617636 63 0 10.5 777898 471982 0 0 729513 264159 0 0 0 0 0 0 609705 618402 43 0 11.0 863025 505560 0 0 851542 297668 0 0 0 0 0 0 619129 616713 41 0 11.5 909551 512577 0 0 906826 306202 0 0 0 0 0 0 618050 617476 43 0 12.0 921768 513819 0 0 921121 307972 0 0 0 0 0 0 618739 618603 43 0 12.5 907931 513704 0 0 905857 308147 0 0 0 0 0 0 619284 616925 43 0 13.0 886514 523490 0 0 883462 304891 0 0 0 0 0 0 624941 617690 40 0 13.5 915565 515999 0 0 886622 307416 0 0 0 0 0 0 620989 619268 42 0 14.0 923631 514873 0 0 879157 308406 0 0 0 0 0 0 618273 617864 43 0 14.5 927437 515656 0 0 878626 309271 0 0 0 0 0 0 618889 618792 43 0 15.0 895009 532329 0 0 859566 299013 0 0 0 0 0 0 621768 617479 40 0 15.5 448147 362082 0 0 282565 149543 0 0 0 0 0 0 631565 619126 63 0 16.0 341084 320660 0 0 145299 113733 0 0 0 0 0 0 619346 616394 63 0 16.5 315486 310640 0 0 112662 105171 0 0 0 0 0 0 616065 615364 63 0 17.0 297585 296435 0 0 102699 100921 0 0 0 0 0 0 611654 619246 51 0 17.5 306021 305749 0 0 84149 83727 0 0 0 0 0 0 618384 617756 63 0 18.0 308460 308395 0 0 84714 84614 0 0 0 0 0 0 618424 618275 63 0 18.5 307777 307761 0 0 97575 97552 0 0 0 0 0 0 618070 618035 63 0 19.0 301490 301487 0 0 96855 96849 0 0 0 0 0 0 620032 618278 63 0 19.5 301154 301153 0 0 98066 98065 0 0 0 0 0 0 620900 616848 63 0 20.0 286469 286469 0 0 93726 93726 0 0 0 0 0 0 622997 616716 60 0 20.5 278343 278343 0 0 673385 450580 0 0 0 0 0 0 622126 619319 55 0 21.0 268888 268888 0 0 803848 524704 0 0 0 0 0 0 611372 617699 46 0 21.5 264163 264163 0 0 848137 550577 0 0 0 0 0 0 616748 618975 60 0 22.0 290767 290767 0 0 904416 530316 0 0 0 0 0 0 619749 620278 55 0 22.5 298363 298363 0 0 902981 524515 0 0 0 0 0 0 618094 618219 60 0 23.0 296164 296164 0 0 894027 520963 0 0 0 0 0 0 620139 619658 60 0 23.5 305930 305930 0 0 919102 516374 0 0 0 0 0 0 618459 618345 60 0 24.0 296653 296653 0 0 891907 527558 0 0 0 0 0 0 617325 619622 60 0 24.5 302214 302214 0 0 908726 507221 0 0 0 0 0 0 620659 587427 60 0 25.0 281425 281425 0 0 848616 514517 3 0 0 0 0 0 599578 619178 51 0 25.5 729582 470403 0 0 890676 359409 0 0 0 0 0 0 618846 618637 43 0 26.0 840603 504053 0 0 914453 320744 0 0 0 0 0 0 617764 617714 43 0 26.5 841996 517336 0 0 864975 310744 0 0 0 0 0 0 602270 618756 43 0 27.0 863804 492801 11 0 869257 296796 11 0 0 0 0 0 592927 618803 43 0 27.5 907681 517564 0 0 908975 309183 0 0 0 0 0 0 621719 618679 43 0 28.0 874073 516131 0 0 876445 310199 0 0 0 0 0 0 616986 620472 40 0 28.5 911304 513526 0 0 911866 308239 0 0 0 0 0 0 615668 616495 43 0 29.0 921202 513498 0 0 921336 308128 0 0 0 0 0 0 617519 617715 43 0 29.5 886795 518855 0 0 888691 309211 0 0 0 0 0 0 619105 622497 40 0 30.0 867967 521988 0 0 871155 306927 1 0 0 0 0 0 617935 619478 40 0 30.5 775693 516624 1 0 777624 304519 1 0 0 0 0 0 605359 625650 40 0 31.0 786527 529944 2 0 790509 300677 2 0 0 0 0 0 621088 622072 46 0 31.5 827695 533777 0 0 830094 298140 0 0 0 0 0 0 652808 612476 43 0 32.0 818300 532576 0 0 821039 295613 0 0 0 0 0 0 647647 607022 41 0 32.5 810709 520589 0 0 813866 289856 1 0 0 0 0 0 632117 599990 43 0 33.0 843462 524122 0 0 844211 299315 0 0 0 0 0 0 639384 609260 43 0 33.5 799789 525951 0 0 802866 303504 0 0 0 0 0 0 621335 618217 43 0 34.0 786034 523152 0 0 790214 302283 0 0 0 0 0 0 619806 621308 43 0 35.0 936074 514486 0 0 936923 301056 0 0 0 0 0 0 637879 603055 43 0 Thank you, I spend four hours on it and can not find the reasons. :( Pat On Fri, 7 Jun 2002, King Yung Tong wrote: > Thank you, I put 100kbps to both 1:11 and 1:10. 1:10 (prio 0) get almost > 50kbps form 60kbps excess and 1:20 (prio 1) get 10kbps form excess. > Is it the expected result? > I gussess the all 60kbps (excess) should go to prio 0 or by proportional > to rate in each class. > > > Pat > > On Fri, 7 Jun 2002, Martin Devera wrote: > > > Ok. It seems you generate only 40kbps by ethloop script. Then you > > can't expect your lines to go higher ! > > Generate 100kbps to 1:11 and 1:10 ... > > devik > > > > On Fri, 7 Jun 2002, King Yung Tong wrote: > > > > > Here is the version and info. > > > > > > Version htb3_2.4.17 > > > > > > [root@samwise htb]# ./tc -s -d class show dev lo > > > class htb 1:11 parent 1:2 leaf 30: prio 1 quantum 1024 rate 80Kbit ceil > > > 800Kbit burst 1701b/8 mpu 0b cburst 2623b/8 mpu 0b level 0 > > > Sent 130048 bytes 127 pkts (dropped 0, overlimits 0) > > > rate 254bps > > > lended: 100 borrowed: 27 giants: 0 > > > tokens: -60449 ctokens: 12800 > > > > > > class htb 1:1 root rate 800Kbit ceil 800Kbit burst 2623b/8 mpu 0b cburst > > > 2623b/8 mpu 0b level 7 Sent 730112 bytes 713 pkts (dropped 0, overlimits > > > 0) > > > rate 1426bps 1pps > > > lended: 81 borrowed: 0 giants: 0 > > > tokens: 12800 ctokens: 12800 > > > > > > class htb 1:10 parent 1:2 leaf 20: prio 0 quantum 3072 rate 240Kbit ceil > > > 800Kbit burst 1906b/8 mpu 0b cburst 2623b/8 mpu 0b level 0 > > > Sent 360448 bytes 352 pkts (dropped 0, overlimits 0) > > > rate 704bps > > > lended: 298 borrowed: 54 giants: 0 > > > tokens: -36462 ctokens: 12800 > > > > > > class htb 1:2 parent 1:1 rate 320Kbit ceil 800Kbit burst 2008b/8 mpu 0b > > > cburst 2623b/8 mpu 0b level 6 > > > Sent 490496 bytes 479 pkts (dropped 0, overlimits 0) > > > rate 958bps > > > lended: 0 borrowed: 81 giants: 0 > > > tokens: -62221 ctokens: 12800 > > > > > > class htb 1:12 parent 1:1 leaf 40: prio 0 quantum 6144 rate 480Kbit ceil > > > 800Kbit burst 2213b/8 mpu 0b cburst 2623b/8 mpu 0b level 0 > > > Sent 239616 bytes 234 pkts (dropped 0, overlimits 0) > > > rate 426bps > > > lended: 234 borrowed: 0 giants: 0 > > > tokens: 15867 ctokens: 12800 > > > > > > > > > > > > result for all line with 100kbps (pic5) > > > > > > 0.5 23947 23947 0 0 7982 7982 0 0 45228 45228 0 0 > > > 1.0 29036 29036 0 0 9571 9571 0 0 57118 57118 0 0 > > > 1.5 29318 29318 0 0 10107 10107 0 0 59489 59489 0 0 > > > 2.0 30522 30522 0 0 10253 10253 0 0 59327 59327 0 0 > > > 2.5 28197 28197 0 0 10280 10280 0 0 61159 61159 0 0 > > > 3.0 30910 30910 0 0 7927 7927 0 0 59985 59985 0 0 > > > 3.5 30991 30991 0 0 7935 7935 0 0 60665 60665 0 0 > > > 4.0 28994 28994 0 0 9598 9598 0 0 59183 59183 0 0 > > > 4.5 30150 30150 0 0 10034 10034 0 0 14044 14044 0 0 > > > 5.0 28662 28662 0 0 10458 10458 0 0 3333 3333 0 0 > > > 5.5 30876 30876 0 0 10506 10506 0 0 791 791 0 0 > > > 6.0 28540 28540 0 0 10523 10523 0 0 188 188 0 0 > > > 6.5 29107 29107 0 0 10154 10154 0 0 45 45 0 0 > > > 7.0 30387 30387 0 0 8500 8500 0 0 11 11 0 0 > > > 7.5 45085 45085 0 0 18230 18230 0 0 3 3 0 0 > > > 8.0 49523 49523 0 0 19855 19855 0 0 1 1 0 0 > > > 8.5 49546 49546 0 0 20405 20405 0 0 0 0 0 0 > > > 9.0 50916 50916 0 0 18643 18643 0 0 0 0 0 0 > > > 9.5 50410 50410 0 0 20082 20082 0 0 0 0 0 0 > > > 10.0 48597 48597 0 0 20453 20453 0 0 0 0 0 0 > > > > > > > > > > > > > > > > > > > > > On Fri, 7 Jun 2002, Martin Devera wrote: > > > > > > > What version of HTB do you use ? Send me > > > > tc -s -d class show dev xxx > > > > outoput after test pic5 generation. > > > > devik > > > > > > > > On Fri, 7 Jun 2002, King Yung Tong wrote: > > > > > > > > > Thank you again for you help! > > > > > Attach is the pic5 for the ceil equal to 100kbps for all line. > > > > > pic10limit for the ceil equal to 100kbps except 1:20. > > > > > > > > > > My objective is to show if not prio is set the excess should allocate > > > > > according to rate. If the prio is set, the high prio should get more. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On Fri, 7 Jun 2002, Martin Devera wrote: > > > > > > > > > > > > Thank you for you answer, 1:10 is incresed but 1:20 is also increased and > > > > > > > increase to the specific rate if I add 100kbps to every line. > > > > > > > > > > > > sounds weird. With higher prio 1:10 should get 90k and 1:11 10k. > > > > > > > > > > > > > In my case, I would like to put all the extra to 1:10 only, is that means > > > > > > > I have to give 1:11 ceil to 10kbps. If it is, is that means I don't need > > > > > > > prio paramter? How prio parameter works? > > > > > > > > > > > > your understanding is ok, tge ceil 10k is correct - the prio is > > > > > > meant for lowering delay and change in excess distribution is > > > > > > only "secondary" product. > > > > > > > > > > > > Port the resulting graph somewhere so I can look at it. > > > > > > > > > > > > devik > > > > > > > > > > > > _______________________________________________ > > > > > > LARTC mailing list / LARTC@mailman.ds9a.nl > > > > > > http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/ > > > > > > > > > > > > > > > > > > > > > > > > > > > > _______________________________________________ > > LARTC mailing list / LARTC@mailman.ds9a.nl > > http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/ > > > > _______________________________________________ > LARTC mailing list / LARTC@mailman.ds9a.nl > http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/ > _______________________________________________ LARTC mailing list / LARTC@mailman.ds9a.nl http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/