hi, i was testing the TCP ACK prioritization by following the explanation on your website (using OpenBSD 3.5-release). the problem is that whenever i try to initiate a new connection during a file transfer, a few packets belonging to the new connection end up in the default queue, so they have to wait there until the file download is finished and the priority queue is empty again.
i think i found the bandwidth value for which the queues start to fill (the queue length is about 20/50). lower bandwidths give comparable or higher queue lengths, whereas for higher bandwidths the queues hardly fill at all. in the latter case, the download rate still drops considerably when i upload a file simultaneously (like 4 Mbps -> 600 kbps) using scp. in the first case (low bandwidth) the rate seems to be improved, but i have to initiate the connections first, before down/uploading, because the initiation is delayed during file transfers (filling the priority queue with ACKs). so basically the problem is: how can i still initiate new connections _during_ a file transfer? i've used pfctl -Fs to flush the states, broken all connections in between ruleset reloading and used pfctl -vvsq to monitor the queues. am i missing something very obvious here? i am using the following basic pf.conf: ----- ext_if="rl0" set loginterface $ext_if scrub in all altq on $ext_if priq bandwidth 100Kb queue { q_pri, q_def } queue q_pri priority 7 queue q_def priority 1 priq(default) pass out on $ext_if inet proto tcp from $ext_if to any flags S/SA \ keep state queue (q_def, q_pri) pass in on $ext_if inet proto tcp from any to $ext_if flags S/SA \ keep state queue (q_def, q_pri) ----- regards, steven