From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753227Ab2ITJcI (ORCPT ); Thu, 20 Sep 2012 05:32:08 -0400 Received: from mailhub.sw.ru ([195.214.232.25]:31937 "EHLO relay.sw.ru" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751534Ab2ITJcF (ORCPT ); Thu, 20 Sep 2012 05:32:05 -0400 Message-ID: <505AE28D.9060901@parallels.com> Date: Thu, 20 Sep 2012 13:31:57 +0400 From: Pavel Emelyanov User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:10.0.1) Gecko/20120209 Thunderbird/10.0.1 MIME-Version: 1.0 To: "David S. Miller" CC: Andrew Vagin , "netdev@vger.kernel.org" , "linux-kernel@vger.kernel.org" , Alexey Kuznetsov , James Morris , Hideaki YOSHIFUJI , Patrick McHardy Subject: Re: [PATCH] tcp: restore rcv_wscale in a repair mode (v2) References: <1348083600-3881500-1-git-send-email-avagin@openvz.org> In-Reply-To: <1348083600-3881500-1-git-send-email-avagin@openvz.org> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 09/19/2012 11:40 PM, Andrew Vagin wrote: > 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 > Cc: Alexey Kuznetsov > Cc: James Morris > Cc: Hideaki YOSHIFUJI > Cc: Patrick McHardy > CC: Pavel Emelyanov > Signed-off-by: Andrew Vagin Acked-by: Pavel Emelyanov