Andy, thanks again for your help. Yes, HZ is still 1000 in 2.6.12. I tried your suggestions are here are the results. ASCII diagram (network A) --> (eth1) core router (eth0) --> (network C) (eth2) ^ | | (network B) Looking at the following graphics http://140.203.56.30/~jlynch/htb/core_router.png http://140.203.56.30/~jlynch/htb/voip_stream_23691.png voip_stream_23691.png is a graph of the delay of the voice stream travelling from network A to network C in test 2. Notice from the core router graph that there is only voip traffic passing through the core router until time 07:55 and the delay in voip stream is 0.25 ms until then. After this time tcp traffic is introduced saturating the outgoing interface of the core router (eth0). The delay increases to a maximum of 2.75 ms , which is a considerable improvement on 30ms when I was using the ceil value of 100mbit. But there is a lot of jitter. With the ceil at 90Mbit, the outgoing bit rate of eth0 has gone from 98mbit to approx 90Mbit as can be seen from the core router graph for eth0 bytes out. Note that with the tcp traffic is all http downloads, so most Ethernet frames will be of maximum size, 1518 bytes, so 98mbits is the maximum throughput possible on a 100mbit card, taking into account the overheads of ethernet such as the interframe gap, preamble and start frame delimiter. Im not sure how to configure some of the htb parameters. The following is my understanding of them and a few questions I have as well. How exactly does the HZ value have a bearing on the ceil value ? How can I calculate a maximum for the ceil value ? 12kb is the minimum burst size for a 100 mbit NIC with a timer resolution of 1ms (1000hz) and tc calculates the smallest possible burst when it is not specified, right ?. cburst is the number of bytes that can be burst as fast as the interface can transmit them. It is smaller than burst can is ideally one packet size, right ? quantum determines the ratio at which the classes share their parents bandwidth. Each class is given quantum number of bytes before serving the next class, right ? Is there any way I can limit the jitter of the VoIP traffic passing through the htb class ? Jonathan On Wed, 2005-07-27 at 22:53 +0100, Andy Furniss wrote: > Jonathan Lynch wrote: > > Andy, Many thanks for your reply. Below is some output from the queueing > > disciplines to show that the filters are working correctly and they are > > going to the right classes. > > OK classification looks good then. > > > > > > pass_on means if no class id equal to the result of the filter is found > > then try next filter, which is the BE class in this case. > > Ahh I'll have to play with this dsmark stuff one day :-) > > > > > So back to the main question, could anyone tell me why the delay is so > > high (30ms) for VoIP packets which are treated with the EF phb when the > > outgoing interface of core router to network c is saturated ? > > I would test next with htb setup like (assuming you are HZ=1000 - you > will be under rate if not) - > > ... > > tc class add dev $1 parent 2:0 classid 2:1 htb rate 90Mbit ceil 90Mbit > quantum 1500 burst 12k cburst 12k > > tc class add dev $1 parent 2:1 classid 2:10 htb rate 1500kbit ceil > 90Mbit quantum 1500 burst 12k cburst 12k > ... > > tc class add dev $1 parent 2:1 classid 2:20 htb rate 5Mbit ceil 90Mbit > quantum 1500 burst 12k cburst 12k > > ... > > > If that doesn't make things any better then you could try giving the > 2:10 class a rate alot higher than it needs and see if that helps. > > > Andy. _______________________________________________ LARTC mailing list LARTC@xxxxxxxxxxxxxxx http://mailman.ds9a.nl/cgi-bin/mailman/listinfo/lartc