Re: [PATCH] tcp: restore rcv_wscale in a repair mode (v2)

From: David Miller
Date: Thu Sep 20 2012 - 17:50:32 EST


From: Andrew Vagin <avagin@xxxxxxxxxx>
Date: Wed, 19 Sep 2012 23:40:00 +0400

> rcv_wscale is a symetric parameter with snd_wscale.
>
> Both this parameters are set on a connection handshake.
>
> Without this value a remote window size can not be interpreted correctly,
> because a value from a packet should be shifted on rcv_wscale.
>
> And one more thing is that wscale_ok should be set too.
>
> This patch doesn't break a backward compatibility.
> If someone uses it in a old scheme, a rcv window
> will be restored with the same bug (rcv_wscale = 0).
>
> v2: Save backward compatibility on big-endian system. Before
> the first two bytes were snd_wscale and the second two bytes were
> rcv_wscale. Now snd_wscale is opt_val & 0xFFFF and rcv_wscale >> 16.
> This approach is independent on byte ordering.
>
> Cc: David S. Miller <davem@xxxxxxxxxxxxx>
> Cc: Alexey Kuznetsov <kuznet@xxxxxxxxxxxxx>
> Cc: James Morris <jmorris@xxxxxxxxx>
> Cc: Hideaki YOSHIFUJI <yoshfuji@xxxxxxxxxxxxxx>
> Cc: Patrick McHardy <kaber@xxxxxxxxx>
> CC: Pavel Emelyanov <xemul@xxxxxxxxxxxxx>
> Signed-off-by: Andrew Vagin <avagin@xxxxxxxxxx>

Applied, thanks.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/