Re: ALTQ ack prioritization
On Fri, Mar 07, 2003 at 01:40:31PM +0100, Henning Brauer wrote: >(pfctl.h ad pfctl_altq.c cheanged too) need more proofs I cannot type? *sigh* -- Henning Brauer, BS Web Services, http://bsws.de [EMAIL PROTECTED] - [EMAIL PROTECTED] Unix is very simple, but it takes a genius to understand the simplicity. (Dennis Ritchie)
Re: ALTQ ack prioritization
On Thu, Mar 06, 2003 at 09:09:14PM -0500, Jason Dixon wrote: > I forgot to mention, I'm running -snapshot from 3/2/03. It doesn't look > like what happened to me was caused by any bugs (that Henning has > mentioned in the meantime), but I'm curious... were any of those bugs > fixed after my snapshot? I keep forgetting WHEN I fixed stuff ;-) ok, cvs log helps. the first really ugly bug prevented the priority from working as it should. I fixed that in revision 1.332 of parse.y, that was 2003/02/26. The second one only affected filter rules which do specify queue(s) but do not specify an interface (pass in from ... vs pass in on $if from ...). That I fixed in rev. 1.335 of parse.y (pfctl.h ad pfctl_altq.c cheanged too) on 2003/03/02. so, your snapshot will have the first fix, as this one was in the snapshots even before I committed it (was it this one? man, I have memory leaks), it will not have the second one. -- Henning Brauer, BS Web Services, http://bsws.de [EMAIL PROTECTED] - [EMAIL PROTECTED] Unix is very simple, but it takes a genius to understand the simplicity. (Dennis Ritchie)
Re: ALTQ ack prioritization
On Thu, 2003-03-06 at 16:37, Daniel Hartmeier wrote: > Try with just the altq, queue and pass rules from the example. Reload > the ruleset and flush all existing state entries (pfctl -Fs), as only > newly established connections will be queued according to the new > ruleset. Then try a single download and upload over TCP (ftp, http, > etc.) concurrently. > > If that works, you can try the same with your real ruleset, I'd only add > the queue (q_def, q_pri) to the pass rules on the external interface, > and make sure you're adding it to all of them that create the TCP > connections. I wish I could figure out what happened. I did what you suggested, it worked. I added back my other rules, it worked. So far as I can tell, it was simply a matter of clearing the state table. Odd. I forgot to mention, I'm running -snapshot from 3/2/03. It doesn't look like what happened to me was caused by any bugs (that Henning has mentioned in the meantime), but I'm curious... were any of those bugs fixed after my snapshot? Thanks, -J. P.S. Here are my stats: (250Kb) queue q_pri priority 7 [ pkts: 38789 bytes:2594742 dropped pkts: 0 bytes: 0 ] [ qlength: 0/ 50 ] queue q_def priq( default ) [ pkts: 20680 bytes: 27243052 dropped pkts: 0 bytes: 0 ] [ qlength: 0/ 50 ]
Re: ALTQ ack prioritization
On Thu, Mar 06, 2003 at 03:23:18PM -0600, Jolan Luff wrote: > On Thu, Mar 06, 2003 at 10:38:59AM -0500, Jason Dixon wrote: > i'm not sure how relevant this is to your problem, but you have no > queue defined on $int_if, so you shouldn't be queuing on it. try > making that a vanilla pass rule, reload, and see if it's fixed..? this is irrelevant; if no queues are defined the otherwise existing fifo queue is used. jason, there were two nasty bugs in pfctl wrt this; one may affect you. make sure you have a very -current pfctl ... -- Henning Brauer, BS Web Services, http://bsws.de [EMAIL PROTECTED] - [EMAIL PROTECTED] Unix is very simple, but it takes a genius to understand the simplicity. (Dennis Ritchie)
Re: ALTQ ack prioritization
Try with just the altq, queue and pass rules from the example. Reload the ruleset and flush all existing state entries (pfctl -Fs), as only newly established connections will be queued according to the new ruleset. Then try a single download and upload over TCP (ftp, http, etc.) concurrently. If that works, you can try the same with your real ruleset, I'd only add the queue (q_def, q_pri) to the pass rules on the external interface, and make sure you're adding it to all of them that create the TCP connections. Daniel
Re: ALTQ ack prioritization
On Thu, Mar 06, 2003 at 10:38:59AM -0500, Jason Dixon wrote: > queue q_pri priority 7 > [ pkts: 0 bytes: 0 dropped pkts: 0 bytes: > 0 ] > [ qlength: 0/ 50 ] this is bad m'kay. > ### ALTQ ### > altq on $ext_if priq bandwidth 120Kb queue { q_pri, q_def } > queue q_pri priority 7 > queue q_def priority 1 priq(default) > pass in on $int_if proto tcp from any to any port $out_services modulate > state queue (q_def, q_pri) > # END of pf.rules i'm not sure how relevant this is to your problem, but you have no queue defined on $int_if, so you shouldn't be queuing on it. try making that a vanilla pass rule, reload, and see if it's fixed..? - jolan
Re: ALTQ ack prioritization
On Thu, 2003-03-06 at 16:23, Jolan Luff wrote: > > pass in on $int_if proto tcp from any to any port $out_services modulate > > state queue (q_def, q_pri) > > # END of pf.rules > > i'm not sure how relevant this is to your problem, but you have no > queue defined on $int_if, so you shouldn't be queuing on it. try > making that a vanilla pass rule, reload, and see if it's fixed..? Nope. -J.