Stuart/Adam,

Thanks for the correction. After a quick test, queues on both interfaces
using the same names or different names do work as expected. 

Thanks again.

--
 Calomel @ http://calomel.org
 Open Source Research and Reference


On Tue, Feb 26, 2008 at 10:09:59AM +0000, Stuart Henderson wrote:
>On 2008/02/25 23:22, Adam Retter wrote:
>> All of the examples that I have seen use two queues, one on the
>> external interface and one on the internal interface. The example
>> given in the PF manual on the OpenBSD website itself also shows a 2
>> queue setup - http://www.openbsd.org/faq/pf/queueing.html#example1
>
>you can have queues on >1 interface with the same name. and
>queue assignment doesn't have to happen on the interface holding
>the queue.
>
>if you're queueing on internal+external interfaces, this can make
>it simpler to get filter rules written which assign traffic to the
>queues you want.
>
>I tried to explain this well enough to get it into pf.conf(5) but
>haven't managed to come up with anything suitable yet (it probably
>needs a bunch of existing text being rewritten rather than just
>adding something new ..)
>
>this post might help:
>
>From: Henning Brauer <[EMAIL PROTECTED]>
>Date: Mon, 9 Oct 2006 14:52:03 +0200
>To: pf@benzedrine.cx
>User-Agent: Mutt/1.5.12-2006-07-14
>Subject: Re: Request for feature: queue assignment for back packets (Was: ACKs
>        queueing)
>
>* Federico Giannici <[EMAIL PROTECTED]> [2006-10-09 12:51]:
>> Henning Brauer wrote:
>> >* Federico Giannici <[EMAIL PROTECTED]> [2006-10-08 20:32]:
>> >>I solved my case in a good way, but I'm currently not using states. I
>> >>think that a general, intuitive and efficient solution could be useful.
>> >>
>> >>The problem: queue assignment of "back" packets of TCP flows when "keep
>> >>state" is used and queues are used in both directions. Currently the
>> >>only solution seems to be to (almost) replicate the same rules for both
>> >>interfaces ("in" and "out"). So the same rules are evaluated two time:
>> >>more use of CPU and more rules to maintain.
>> >
>> >this is untrue, you can just create queues with the same names on both
>> >interfaces. queue assignment does not have to happen on the interface
>> >where the queue lives.
>>
>> That's really interesting.
>>
>> And now the "on _interface_" parameter of the "queue" command start to
>> make sense...
>
>well, let me explain (again. I did this before, must be in the
>archives).
>
>when a rule matches that has a queue assignment, the packet gets tagged
>with the queue name (not really the name, but that is what it comes
>down to).
>
>the packet then travels through the system like it always does.
>
>when it hits the outboind queuing stage (i. e. queueing on the
>interface where it will leave the machine), the altq routines check for
>the tag. if it is not there, the packet goes to teh default queue. if
>the tag is there, altq checks wether a queue with that name exists. if
>yes, the packet is queued there, otherwise it is put into the default
>queue.
>
>you see, it is not like the packets gets put into a queue when a pf
>rule assigns it. it happens way later. and thus your cas eis already
>covered.
>
>--
>Henning Brauer, [EMAIL PROTECTED], [EMAIL PROTECTED]
>BS Web Services, http://bsws.de
>Full-Service ISP - Secure Hosting, Mail and DNS Services
>Dedicated Servers, Rootservers, Application Hosting - Hamburg & Amsterdam

Reply via email to