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?