Re: ALTQ ack prioritization

2003-03-07 Thread Henning Brauer
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

2003-03-07 Thread Henning Brauer
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

2003-03-06 Thread Jason Dixon
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

2003-03-06 Thread Henning Brauer
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

2003-03-06 Thread Daniel Hartmeier
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

2003-03-06 Thread Jolan Luff
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

2003-03-06 Thread Jason Dixon
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.