I try to use iproute to control my bandwidth less than 3MB, but something happen. list below is my config -------------------------------------------------------------------------------- tc qdisc add dev eth1 root handle 20: cbq bandwidth 10Mbit avpkt 1000 tc class add dev eth1 parent 20:0 classid 20:1 cbq bandwidth 10Mbit rate \ 1Mbit allot 1514 weight 100Kbit prio 8 maxburst 20 avpkt 1000 bounded tc class add dev eth1 parent 20:1 classid 20:2 cbq bandwidth 10Mbit rate \ 3Mbit allot 1514 weight 200Kbit prio 5 maxburst 20 avpkt 1000 bounded tc filter add dev eth1 parent 20:0 protocol ip prio 100 u32 match ip src \ 192.168.0.1 flowid 20:1 tc filter add dev eth1 parent 20:0 protocol ip prio 25 u32 match ip src \ 192.168.0.2 flowid 20:2 -------------------------------------------------------------------------------- I use download file to test this function. But the really situation about the bandwidth is ... 1MB(20:1) is 1.5Mbit 3MB(20:2)is 4.6Mbit Have anyone met this kind of problem before????? And how to solve this problem?????
I just did the tests and these are my results : (I use ttcp to test) for class 20:1 = 71.90 KB/sec (575.2Kbit/sec) for class 20:2 = 134.05 KB/sec (1072.4Kbit/s) The numbers are not correct, but I think it''s just CBQ that''s not very accurate when you use the bounded paramter. I got the same results when I use everywhere prio8 and put class 20:2 on qdisc 20:0. So it''s a CBQ accuracy problem. -- Staf More QOS info : http://users.belgacom.net/staf/> Juergen wrote: > > I try to use iproute to control my bandwidth less than 3MB, but > something happen. > list below is my config > ---------------------------------------------------------------------- > tc qdisc add dev eth1 root handle 20: cbq bandwidth 10Mbit avpkt 1000 > > tc class add dev eth1 parent 20:0 classid 20:1 cbq bandwidth 10Mbit > rate \ > 1Mbit allot 1514 weight 100Kbit prio 8 maxburst 20 avpkt 1000 bounded > > tc class add dev eth1 parent 20:1 classid 20:2 cbq bandwidth 10Mbit > rate \ > 3Mbit allot 1514 weight 200Kbit prio 5 maxburst 20 avpkt 1000 bounded > > tc filter add dev eth1 parent 20:0 protocol ip prio 100 u32 match ip > src \ > 192.168.0.1 flowid 20:1 > > tc filter add dev eth1 parent 20:0 protocol ip prio 25 u32 match ip > src \ > 192.168.0.2 flowid 20:2 > ---------------------------------------------------------------------- > I use download file to test this function. > But the really situation about the bandwidth is ... > 1MB(20:1) is 1.5Mbit > 3MB(20:2)is 4.6Mbit > Have anyone met this kind of problem before????? > And how to solve this problem?????
Guy Van Den Bergh
2001-May-04 17:43 UTC
Re: why the bandwidth is not follow my config??????
Do you think this "anomaly" might be a consequence not choosing the average size correctly? Have you done some tests with a higher avgpkt value? I suppose CBQ does packet per packet handling, assuming the average packet size is what you specified on the command line. But what if the real average packet size is bigger? Guy Stef Coene wrote:> I just did the tests and these are my results : (I use ttcp to test) > for class 20:1 = 71.90 KB/sec (575.2Kbit/sec) > for class 20:2 = 134.05 KB/sec (1072.4Kbit/s) > > The numbers are not correct, but I think it''s just CBQ that''s not very > accurate when you use the bounded paramter. I got the same results when > I use everywhere prio8 and put class 20:2 on qdisc 20:0. So it''s a CBQ > accuracy problem.
Guy Van Den Bergh wrote:> > Do you think this "anomaly" might be a consequence not choosing > the average size correctly? Have you done some tests with a higher > avgpkt value?Could be. The problem is there is allmost no documentation on how to choose these numbers and what they change. That''s why I''m doing a lot of tests. It''s possible that some of the strange results I got could be explained by a bad choice of parameters, but I have no other choice than doing another bunge of tests and to change the average size. That''s how I finally figured out what you can do with the weight parameter and how you have to choose the different rates for the classes. Now I''m trying to figure out how youc an use the isolated keyword. The results will be published on my website. -- Staf More QOS info : http://users.belgacom.net/staf/