David S. Miller wrote:
From: Rick Jones <[EMAIL PROTECTED]>
Date: Tue, 21 Feb 2006 15:11:52 -0800
Window scaling on is certainly goodness, but it seems that
ass-u-me-ing that !winscale == signed windows is overly
conservative.
I think we are making the correct conservative choice here.
I disagree. I might have agreed a decade ago, but not today.
Stacks that don't advertise the window scaling option just because the
window will be < 64K are quite foolhardy.
I disagree as to whether it is "foolhardy" but regardless, they are perfectly
_legal_ whereas a TCP stack interpreting the window field as a signed quantity
is most certainly _illegal_. So the Linux stack as it behaves is rewarding
explicitly broken stacks at the expense of stacks that are behaving perfectly
legal manner.
On modern systems with dynamic socket size adjustments (and thus
dynamic TCP window sizing), this kind of behavior simply doesn't make
any sense.
Unless I've missed an RFC, Window scaling is an _option_ not a requirement.
Even if we added a sysctl to change the behvaior here, it would need
to be off by default. We know it will break things for somebody,
somewhere.
I'm not conceding the main point just yet, but would ask if you agree that
seeing either Timestamp or SACK options would also identify a stack as being one
that is not in error interpreting the window field?
rick jones
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at http://vger.kernel.org/majordomo-info.html