Daniel Hartmeier wrote:
On Mon, Feb 06, 2006 at 12:44:18PM -0700, Brad Waite wrote:

Okay, that makes sense, although when you say it uses the queue assignments appropriately, does it re-evaluate the conditions (TOS lowdelay or empty ACK) with each packet?

Yes.

Okay, so the queues aren't tied directly to the state tables.

Is there a noticable benefit to putting empty ACKs in a higher-priority queue than TOS lowdelay packets? IE. do I need to separate the ACKs from interactive ssh sessions? Would the following accomplish this?

pass out quick on $ext_if proto tcp from $ext_if to any \
    flags A queue (q_ack)

pass out quick on $ext_if proto tcp from $ext_if to any \
    flags S/SA keep state queue (q_def, q_pri)

The way I read it, the first rule will assign both SYN-ACKs and ACKs to the queue 'q_ack' and immediately pass then. The second rule established state for the initial SYN. All packets with TOS lowdelay are put in queue 'q_pri' and all others in queue 'q_def'.

Or does would the state override the first rule?

And out of curiosity, when would an ACK have a payload?

Reply via email to