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

RE: Serious rate problems with both CBQ and TBF



Here's the complete seqence I went through to get those results, from
the beginning:

	/sbin/ip addr add 192.168.49.251/24 dev eth0 broadcast
192.168.49.255 scope global
	/sbin/tc qdisc add dev eth0 root handle 1: cbq bandwidth 100Mbit
cell 8 avpkt 1000 mpu 64
	/sbin/tc class add dev eth0 parent 1:0 classid 1:1 cbq bandwidth
100Mbit rate 100Mbit \
		allot 1514 cell 8 weight 10Mbit prio 5 maxburst 20 avpkt
1000
	/sbin/tc class add dev eth0 parent 1:0 classid 1:2 cbq bandwidth
100Mbit rate 56Kbit \
		allot 1514 cell 8 weight 5Kbit prio 5 bounded isolated
maxburst 1 avpkt 1000
	/sbin/ip route add 192.168.48.253 via 192.168.48.251 realm 16
	/sbin/ip route add 192.168.49.253 via 192.168.49.251 realm 17
	{ran some FTP traffic to generate statistics: Got 690
Kbytes/sec}
	/sbin/tc class change dev eth0 parent 1:0 classid 1:2 cbq
bandwidth 100Mbit rate 10Kbit \
		allot 1514 cell 8 weight 1Kbit prio 5 bounded isolated
maxburst 1 avpkt 1000
	{ran some FTP traffic to generate statistics: Got 130Kbytes/sec}
	{decided to switch to TBF, so....}
	/sbin/tc filter del dev eth0 parent 1:0 protocol ip prio 100
route to 17 flowid 1:2
	/sbin/tc class del dev eth0 parent 1:0 classid 1:2 cbq bandwidth
100Mbit rate 10Kbit
	/sbin/tc qdisc add dev eth0 parent 1:0 tbf limit 128Kbit burst
40Kbit rate 256Kbit
	{ran some FTP traffic to generate statistics: Got 32Kbytes/sec}
	/sbin/tc qdisc change dev eth0 parent 1:0 tbf limit 128Kbit
burst 40Kbit rate 128Kbit
	{ran some FTP traffic to generate statistics: Got 16Kbytes/sec}
	/sbin/tc qdisc change dev eth0 parent 1:0 tbf limit 56Kbit burst
40Kbit rate 56Kbit
	{ran some FTP traffic to generate statistics: Got 7Kbytes/sec}

 I notice, reviewing the above for typos that I seem to have done
strange things with 'tc filter'... I seem to remember that RTNETLINK
complained that the class was busy when I tried to delete it and that
fixed the problem. 

 Easy question: Is there some sort of mechanism to trace a sample packet
through the iproute2 routing rules and qdisc/class combinations? Kind of
an internal traceroute?

k.




> -----Original Message-----
> From:	devik@cdi.cz [SMTP:devik@cdi.cz]
> Sent:	Saturday, September 09, 2000 7:36 AM
> To:	Kris Boutilier; linux-diffserv@lrc.di.epfl.ch
> Subject:	Re: Serious rate problems with both CBQ and TBF
> 
> > Running the same tests with TBF instead of CBQ gives:
> >         Requested: 256Kbit      Should be: 32Kbytes/sec Got:
> > 1800Kbytes/sec (56.25 times too high)
> >         Requested: 128Kbit      Should be: 16Kbytes/sec Got:
> > 890Kbytes/sec (55.625 times too high)
> >         Requested: 56Kbit       Should be: 7Kbytes/sec          Got:
> > 360Kbytes/sec (51.42 times too high)
> 
> hmm yes, CBQ gives sometimes very strange results. But
> TBF is generaly very precise. You should attach complete
> TC command for TBF filter ..
> devik