diff mbox

tcp: make urg+gso work for real this time

Message ID Pine.LNX.4.64.0812181002380.10269@wrl-59.cs.helsinki.fi
State RFC, archived
Delegated to: David Miller
Headers show

Commit Message

Ilpo Järvinen Dec. 18, 2008, 8:07 p.m. UTC
On Wed, 17 Dec 2008, David Miller wrote:

> 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...]

> 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... :-)

Comments

Petr Tesarik Dec. 19, 2008, 12:31 p.m. UTC | #1
Ilpo Järvinen píše v Čt 18. 12. 2008 v 22:07 +0200:
> On Wed, 17 Dec 2008, David Miller wrote:
> 
> > 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...]
> 
> > 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 <ilpo.jarvinen@helsinki.fi>
> ---
>  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

--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

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;
 int sysctl_tcp_sack __read_mostly = 1;
 int sysctl_tcp_fack __read_mostly = 1;
 int sysctl_tcp_reordering __read_mostly = TCP_FASTRETRANS_THRESH;