From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stef Coene Date: Tue, 16 Sep 2003 18:34:08 +0000 Subject: Re: [LARTC] rate limited pfifo_fast? Message-Id: List-Id: References: In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: lartc@vger.kernel.org On Tuesday 16 September 2003 09:21, Kevin O'Connor wrote: > Hi, > > I have a cable modem with a bandwidth capped upload rate. I'd like to > prioritize packets going outbound according to the TOS header of the IP > field. I've read through the LARTC Howto several times, and I think I have > a good feel for the information it it. It also seems that what I'm trying > to do is pretty straight-forward and common. Unfortunately, the HOWTO > doesn't seem to have a good answer for this simple problem, nor have I been > able work out how to do this from wading through a lot of other > documentation. > > It appears that the pfifo_fast qdisc has most of what I want - prioritizing > by TOS header. Unfortunately, it is a "work conserving" queue, and won't > work with my cable modem unless I can artificially slow down the link. > > The tbf qdisc seems like it has the second part of what I want - an > artificial upload cap. Unfortunately, it doesn't do prioritizing. I'm > using just the tbf qdisc right now with decent results, but it still isn't > exactly what I want - sometimes bulk connections will cause latency for > interactive sessions and I find that my maximum upload rate is slightly > impaired on bulk connections. > > So the question is, how do I successfully combine the above two qdiscs? > > Ideally, I'd like to have three queues (interactive, normal, and bulk) like > pfifo_fast has, with maximum latencies (or queue size) for each of the > queues (eg, 50ms, 100ms, 500ms respectively). And then prioritize the > queues so that interactive data is always taken first and bulk data last. > > It would seem the htb qdisc has what I want. Unfortunately, the > documentation (in both the howto and the htb website) all describe > complicated scenarios where I need something much simpler. Also, I can't > seem to find the answer to simple questions like - how do I set the maximum > queue size (and/or maximum latency) for a qdisc that is a child of an HTB > qdisc? You can add a htb qdisc and 1 class. And attach the pfifo_fast to the class. So the htb class will limit the traffic and the pfifo_qdisc will prioritize the packets. Stef -- stef.coene@docum.org "Using Linux as bandwidth manager" http://www.docum.org/ #lartc @ irc.openprojects.net _______________________________________________ LARTC mailing list / LARTC@mailman.ds9a.nl http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/