Re: [tcpm] question about if a recent Linux patch is compliant with RFC7323 on window scaling
"Cui, Cheng" <Cheng.Cui@netapp.com> Tue, 06 September 2016 15:16 UTC
Return-Path: <Cheng.Cui@netapp.com>
X-Original-To: tcpm@ietfa.amsl.com
Delivered-To: tcpm@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id CAA9D12B6F4 for <tcpm@ietfa.amsl.com>; Tue, 6 Sep 2016 08:16:08 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -8.429
X-Spam-Level:
X-Spam-Status: No, score=-8.429 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H4=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RP_MATCHES_RCVD=-1.508, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 0-PkK2ztKwaJ for <tcpm@ietfa.amsl.com>; Tue, 6 Sep 2016 08:16:03 -0700 (PDT)
Received: from mx144.netapp.com (mx144.netapp.com [216.240.21.25]) (using TLSv1.2 with cipher RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id D9F7A12B494 for <tcpm@ietf.org>; Tue, 6 Sep 2016 08:11:19 -0700 (PDT)
X-IronPort-AV: E=Sophos;i="5.30,292,1470726000"; d="scan'208";a="142150295"
Received: from hioexcmbx02-prd.hq.netapp.com ([10.122.105.35]) by mx144-out.netapp.com with ESMTP; 06 Sep 2016 08:09:59 -0700
Received: from HIOEXCMBX03-PRD.hq.netapp.com (10.122.105.36) by hioexcmbx02-prd.hq.netapp.com (10.122.105.35) with Microsoft SMTP Server (TLS) id 15.0.1210.3; Tue, 6 Sep 2016 08:10:15 -0700
Received: from HIOEXCMBX03-PRD.hq.netapp.com ([::1]) by hioexcmbx03-prd.hq.netapp.com ([fe80::a009:cb7a:e519:7347%21]) with mapi id 15.00.1210.000; Tue, 6 Sep 2016 08:10:15 -0700
From: "Cui, Cheng" <Cheng.Cui@netapp.com>
To: Yoshifumi Nishida <nishida@sfc.wide.ad.jp>
Thread-Topic: [tcpm] question about if a recent Linux patch is compliant with RFC7323 on window scaling
Thread-Index: AQHR/ktWq33ah5ClWE2yMFWt4EpCvqBhx/sAgAfmXYCAAyjpgA==
Date: Tue, 06 Sep 2016 15:10:14 +0000
Message-ID: <1ED4AF08-5748-4BB2-B413-CF6D16D42216@netapp.com>
References: <D3E38481.146B4%Cheng.Cui@netapp.com> <B8074EE2-093E-4C8B-94EA-1E470C1A173E@netapp.com> <CAO249yeh3iCpMntw_F4p0rS0sawU_LDgpjh-O2DwVSLVtxLkfg@mail.gmail.com>
In-Reply-To: <CAO249yeh3iCpMntw_F4p0rS0sawU_LDgpjh-O2DwVSLVtxLkfg@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ms-exchange-messagesentrepresentingtype: 1
x-ms-exchange-transport-fromentityheader: Hosted
x-originating-ip: [10.122.56.79]
Content-Type: text/plain; charset="iso-8859-1"
Content-ID: <26AEEF861FE7534CAA227882AFAAF6E6@hq.netapp.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Archived-At: <https://mailarchive.ietf.org/arch/msg/tcpm/ojcgPMYO0dRNO9RsCITo2s1aAAY>
X-Mailman-Approved-At: Tue, 06 Sep 2016 16:22:21 -0700
Cc: "tcpm@ietf.org" <tcpm@ietf.org>
Subject: Re: [tcpm] question about if a recent Linux patch is compliant with RFC7323 on window scaling
X-BeenThere: tcpm@ietf.org
X-Mailman-Version: 2.1.17
Precedence: list
List-Id: TCP Maintenance and Minor Extensions Working Group <tcpm.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/tcpm>, <mailto:tcpm-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/tcpm/>
List-Post: <mailto:tcpm@ietf.org>
List-Help: <mailto:tcpm-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/tcpm>, <mailto:tcpm-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 06 Sep 2016 15:16:09 -0000
On 9/4/16, 6:55 AM, "Yoshifumi Nishida" <nishida@sfc.wide.ad.jp> wrote:
> I think the Linux patch at least follows the following principle in RFC793.
>
> The mechanisms provided allow a TCP to advertise a large window and to
> subsequently advertise a much smaller window without having accepted
> that much data. This, so called ³shrinking the window,² is strongly
> discouraged. The robustness principle dictates that TCPs will not
> shrink the window themselves, but will be prepared for such behavior
> on the part of other TCPs.
>
> I personally think a real question would be how FreeBSD prepares for
> shrinking window.
> Linux chose one way for it, but I guess all implementations don¹t need
> to follow the same way.
>
> --
> Yoshi
Hi Yoshi,
Thanks a lot for the reply.
I agree that's a choice for Linux. But I think FreeBSD has to follow the same
way; otherwise, Linux has to do something at its sender side to send a correct
th_seq number.
I think this forum may not be a best place to talk about FreeBSD
implementation. But talking about FreeBSD, I did not find anything in FreeBSD
to round-up the shrinking window due to window scale precision loss, neither
did I find anything about how FreeBSD can tolerate the incoming left-shifted
th_seq ("tp->snd_una+tp->snd_wnd") in an ACK packet sent by Linux in this
particular case, as Linux had sent all the data in a previous larger window. I
guess the FreeBSD will just drop the Linux ACK packet as a DUP (see "todrop =
tp->rcv_nxt - th->th_seq;").
I also sent a question to the FreeBSD mailing lists. But so far no reply yet:
https://lists.freebsd.org/pipermail/freebsd-transport/2016-August/000141.html
https://lists.freebsd.org/pipermail/freebsd-net/2016-September/046048.html
Therefore, I think my best plan is to send separate patches to Linux and
FreeBSD. For Linux, the patch will be correct the th_seq number at sender side
if window scale precision loss is detected. For FreebSD, I think the patch has
to round-up the receive-advertise-window at receiver side.
-- Cheng
- [tcpm] question about if a recent Linux patch is … Cui, Cheng
- Re: [tcpm] question about if a recent Linux patch… Cui, Cheng
- Re: [tcpm] question about if a recent Linux patch… Yoshifumi Nishida
- Re: [tcpm] question about if a recent Linux patch… Cui, Cheng