Re: [PATCH] tcp: make urg+gso work for real this time
From: Petr Tesarik <hidden>
Date: 2008-12-19 12:31:03
Ilpo Järvinen píše v Čt 18. 12. 2008 v 22:07 +0200:
quoted hunk ↗ jump to hunk
On Wed, 17 Dec 2008, David Miller wrote:quoted
From: Herbert Xu <herbert@gondor.apana.org.au> Date: Thu, 18 Dec 2008 09:16:37 +1100 And it also shows that our strange scheme, where we don't signal URG until it's within the 16-bit sequence offset limit, at least reports an accurate URG value.[...snip...]quoted
Given all of this I still think our current compromise is likely the best one. We never will advertise an URG pointer that is not pointing to where the URG data will be in the sequence space.Wholeheartedly agreed, but with added note that if somebody is fool enough to come up complaining about the behavior we've selected (among the palette of broken ways we had available) we might actually succeed in convincing him to come up with something that has more change in working than urg altogether. Sadly, urg is ABI-in-stone that must everyone must keep supporting in some crippled-form. ...But no worries, I've a solution below which should satisfy everybody... :-) -- i. [PATCH] tcp: fix all urg troubles for now Return to stone age with 64k is enough for everybody attitude (or was it 640k, I keep forgetting). Urg certainly works fine if no window scaling is not allowed ;-) Signed-off-by: Ilpo Järvinen <redacted> --- net/ipv4/tcp_input.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)diff --git a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c index 99b7ecb..54fe815 100644 --- a/net/ipv4/tcp_input.c +++ b/net/ipv4/tcp_input.c@@ -72,7 +72,7 @@ #include <net/netdma.h> int sysctl_tcp_timestamps __read_mostly = 1; -int sysctl_tcp_window_scaling __read_mostly = 1; +int sysctl_tcp_window_scaling __read_mostly = 0;
Yes, nice default, but don't you want to remove /proc/sys/net/ipv4/sysctl_tcp_window_scaling completely? Let's not make it possible for the admin to shoot himself in the foot by accident... ;-)) Petr Tesarik
int sysctl_tcp_sack __read_mostly = 1; int sysctl_tcp_fack __read_mostly = 1; int sysctl_tcp_reordering __read_mostly = TCP_FASTRETRANS_THRESH;b