FairQ ALTQ for PF - Patch #2
Matthew Dillon
dillon at apollo.backplane.com
Sun Apr 6 16:52:10 PDT 2008
:> It's got to be something PF (packet filter) is doing. I was using
:> a Cisco with the T1. I'm using a DFly box running PF with the DSL
:> line. I'm trying to track it down.
:
:This is usually a symptom of creating state on a TCP packet other than the
:initial SYN. Make sure you add "flags S/SA" to all your tcp keep state
:rules. There is plenty on this in the FAQs and lists (freebsd-pf@ and
:the OpenBSD pf list) for more detailed reference.
:
:--
:/"\ Best regards, | mlaier at freebsd.org
:\ / Max Laier | ICQ #67774661
I kinda half understand that. Are you saying that because creating
state on other then the initial syn has no information on the window
scale (which is only handled in the SYN and SYN+ACK), that it will
blow up?
Here are two questions:
(1) I'm using keep state, not synproxy. Is PF still attempting to do
window sequence space comparisons and dropping packets if they do
not match? If it is, do you know where in the code that is
(I've been staring at it a while trying to find just such a
comparison but not having a whole lot of luck).
(2) If I restart PF, and do not create state for pre-existing connections,
won't that blow up the classification of those connections?
In particular, if there are a lot of flows going through the router
and it drops some of its state, won't those flows wind up being
left out of the state code from that point on? They would not be
identifiable to the fairq code, then, which would be a fairly
significant problem.
What I would like to do, if (1) is true, is modify PF to flag that the
state was created without a SYN, and have it automatically ignore
sequence space comparisons for that case.
-Matt
Matthew Dillon
<dillon at backplane.com>
More information about the Kernel
mailing list