Re: [6lo] Mirja Kühlewind's Discuss on draft-ietf-6lo-fragment-recovery-13: (with DISCUSS and COMMENT)

"Pascal Thubert (pthubert)" <pthubert@cisco.com> Thu, 19 March 2020 14:57 UTC

Return-Path: <pthubert@cisco.com>
X-Original-To: 6lo@ietfa.amsl.com
Delivered-To: 6lo@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id DE13F3A29DF; Thu, 19 Mar 2020 07:57:28 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -9.601
X-Spam-Level:
X-Spam-Status: No, score=-9.601 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_MED=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, SPF_PASS=-0.001, URIBL_BLOCKED=0.001, USER_IN_DEF_DKIM_WL=-7.5] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=cisco.com header.b=jU8pFJIu; dkim=pass (1024-bit key) header.d=cisco.onmicrosoft.com header.b=E4V/0QYk
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 tFqmZRCJ91eB; Thu, 19 Mar 2020 07:57:19 -0700 (PDT)
Received: from rcdn-iport-2.cisco.com (rcdn-iport-2.cisco.com [173.37.86.73]) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 97FCC3A2ACC; Thu, 19 Mar 2020 07:57:19 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=17592; q=dns/txt; s=iport; t=1584629839; x=1585839439; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=eYiflKgvFnxxpxryTiJSWRV7TLjJofKtQ65xug9Qp0U=; b=jU8pFJIuyXwMdzPp2hrOk+ywdjM3+iDcfmqsgirR+Zp95fAXRY8T4aeg 8LcpmezZ2Dnh0K7bpSzWOnlhUTjbEt4vy3y/WxRLRi4rxonYrvOd8y6SM AUsN+QX7ofU4zYgJA7COFmN6xaxP8vx/4yfWIzt0sSvNqTGru2pguy2Hi g=;
IronPort-PHdr: =?us-ascii?q?9a23=3AqAdWGRc1rIZJxq49lF601NsAlGMj4e+mNxMJ6p?= =?us-ascii?q?chl7NFe7ii+JKnJkHE+PFxlwGQD57D5adCjOzb++D7VGoM7IzJkUhKcYcEFn?= =?us-ascii?q?pnwd4TgxRmBceEDUPhK/u/dzA6Ac5PTkNN9HCgOk8TE8H7NBXf?=
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0CdBQC7h3Ne/4wNJK1mHAEBAQEBBwE?= =?us-ascii?q?BEQEEBAEBgXuBVCQFJwVsWCAECyqEFoNFA4pwgl+YGIFCgRADVAkBAQEMAQE?= =?us-ascii?q?lCAIEAQGEQwIXggQkOBMCAwEBCwEBBQEBAQIBBQRthVYMhWMBAQEBAgESERE?= =?us-ascii?q?MAQE3AQQLAgEGAg4MAiYCAgIwFQULAgQODRqDBYJKAw4gAQ6RDJBnAoE5iGJ?= =?us-ascii?q?1gTKCfwEBBYUWGIIMAwaBDiqFIIcOGoFBP4ERR4FPfj6CZAICARmBMBuDDzK?= =?us-ascii?q?CLI1YJII8O59UCoI8h1ePQIJKiCmEUYc0hFODUJQ4kl8CBAIEBQIOAQEFgWk?= =?us-ascii?q?igVhwFYMnUBgNjh0MFxVvAQmCQoUUhUF0AoEnjX0BAQ?=
X-IronPort-AV: E=Sophos;i="5.70,572,1574121600"; d="scan'208";a="746097944"
Received: from alln-core-7.cisco.com ([173.36.13.140]) by rcdn-iport-2.cisco.com with ESMTP/TLS/DHE-RSA-SEED-SHA; 19 Mar 2020 14:57:18 +0000
Received: from XCH-RCD-001.cisco.com (xch-rcd-001.cisco.com [173.37.102.11]) by alln-core-7.cisco.com (8.15.2/8.15.2) with ESMTPS id 02JEvIQY002878 (version=TLSv1.2 cipher=AES256-SHA bits=256 verify=FAIL); Thu, 19 Mar 2020 14:57:18 GMT
Received: from xhs-rcd-002.cisco.com (173.37.227.247) by XCH-RCD-001.cisco.com (173.37.102.11) with Microsoft SMTP Server (TLS) id 15.0.1473.3; Thu, 19 Mar 2020 09:57:17 -0500
Received: from xhs-aln-002.cisco.com (173.37.135.119) by xhs-rcd-002.cisco.com (173.37.227.247) with Microsoft SMTP Server (TLS) id 15.0.1473.3; Thu, 19 Mar 2020 09:57:17 -0500
Received: from NAM11-DM6-obe.outbound.protection.outlook.com (173.37.151.57) by xhs-aln-002.cisco.com (173.37.135.119) with Microsoft SMTP Server (TLS) id 15.0.1473.3 via Frontend Transport; Thu, 19 Mar 2020 09:57:17 -0500
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; =?utf-8?q?b=3DoPLXEfsyAQWQqjLYWWruv5f0D0hMtG+XgkEL7iGK9Zbqu5T7+9yQRhpmckDjK?= =?utf-8?q?/veUOWlTs3d070ZuQijr1PFf5zs9OQCPzZLF51MphQ+x+6oFP0uphDSmg4K3Tzpsp?= =?utf-8?q?cfKGv/jgX2Yrh+J7dyZ5912I3omUvMElvk0lI6M7N/iI5Id1bbhXnJqDZWfGfgOGZ?= =?utf-8?q?Hf59m3EklFQOVcejnCkZ6zAB3ERfeiZqPPp5IHWItaUlFAkQO8jklgi3Rr83G7JGK?= =?utf-8?q?3IqHiJUGrgzFw+35Fz+vfiMjgvb7OcEpRhJckJOggaUmTqJsSvg9H5NPnsNMc6eiY?= =?utf-8?q?ZSw2+i/ktx4vmQckoNNHA=3D=3D?=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; =?utf-8?q?h=3DFrom=3ADate=3ASubject=3AMessage-ID=3ACont?= =?utf-8?q?ent-Type=3AMIME-Version=3AX-MS-Exchange-SenderADCheck=3B?= =?utf-8?q?bh=3DeYiflKgvFnxxpxryTiJSWRV7TLjJofKtQ65xug9Qp0U=3D=3B_b=3DQK3nVI?= =?utf-8?q?WNGbrIrR/nwDe+7lCt4Szq1Y4rDQKJgALsJTd6o4+OYEhN1hSxLshR9K+3q8ugp25?= =?utf-8?q?TxY181gH5xgAWEz5PHXhLA1RbobdHqPqg+AXS4GIMkZDpMotiBOt7qAxYWhP6fzyA?= =?utf-8?q?eHFD6EWpWK7PxzQA0iBrGPtlLFXEJLZoiv8ztIFDqQC8umcS2NSocKBM/uDfutEOC?= =?utf-8?q?tF9M81G9MdVZa2lHz8ljel1JkDDaeJCxign5f29opeoZ7nSmWOZ9JZp2A7HM14wDq?= =?utf-8?q?ZJ5WORvBkXSFUF/pBkmWbhaesAf4hL3b8um4ahFyMUWv8h1SwlvV7sCNxFv2MBb2M?= =?utf-8?q?2WahetC6WqA=3D=3D?=
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=cisco.com; dmarc=pass action=none header.from=cisco.com; dkim=pass header.d=cisco.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cisco.onmicrosoft.com; s=selector2-cisco-onmicrosoft-com; =?utf-8?q?h=3DFrom=3ADate=3ASubject=3AM?= =?utf-8?q?essage-ID=3AContent-Type=3AMIME-Version=3AX-MS-Exchange-SenderADC?= =?utf-8?q?heck=3B_bh=3DeYiflKgvFnxxpxryTiJSWRV7TLjJofKtQ65xug9Qp0U=3D=3B_b?= =?utf-8?q?=3DE4V/0QYkMcUa9R4D3fb8XG4vvPjFpGZlmU5tQKjWEu1FoGeSo87oxjYMQ0Ox/l?= =?utf-8?q?/PsZr/PRKKU1/sptjWk4gHdOlNWfunOz0v86gWA2VdY7l0q8DxgnxH6xLwsRIcr2F?= =?utf-8?q?j+dpCSdP/Q6gL2ZUtfNYD6cu3reo9GLQyGgZV3SD4Lds=3D?=
Received: from MN2PR11MB3565.namprd11.prod.outlook.com (2603:10b6:208:ea::31) by MN2PR11MB4384.namprd11.prod.outlook.com (2603:10b6:208:18b::33) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2814.18; Thu, 19 Mar 2020 14:57:16 +0000
Received: from MN2PR11MB3565.namprd11.prod.outlook.com ([fe80::113b:3127:ef12:ea7]) by MN2PR11MB3565.namprd11.prod.outlook.com ([fe80::113b:3127:ef12:ea7%7]) with mapi id 15.20.2814.021; Thu, 19 Mar 2020 14:57:16 +0000
From: "Pascal Thubert (pthubert)" <pthubert@cisco.com>
To: Mirja Kuehlewind <ietf@kuehlewind.net>
CC: The IESG <iesg@ietf.org>, Benjamin Kaduk <kaduk@mit.edu>, "draft-ietf-6lo-fragment-recovery@ietf.org" <draft-ietf-6lo-fragment-recovery@ietf.org>, Carles Gomez <carlesgo@entel.upc.edu>, "6lo-chairs@ietf.org" <6lo-chairs@ietf.org>, "6lo@ietf.org" <6lo@ietf.org>, Martin Duke <martin.h.duke@gmail.com>
Thread-Topic: Mirja =?utf-8?q?K=C3=BChlewind=27s_Discuss_on_draft-ietf-6lo-f?= =?utf-8?q?ragment-recovery-13=3A?= (with DISCUSS and COMMENT)
Thread-Index: AQHV5yxvQMp3kJRXD0SmWqJXtHBMvqg7nFTwgBQ3dgCAABdRMA==
Date: Thu, 19 Mar 2020 14:57:15 +0000
Deferred-Delivery: Thu, 19 Mar 2020 14:57:11 +0000
Message-ID: =?utf-8?q?=3CMN2PR11MB3565C75A4707268047E1F90ED8F40=40MN2PR11MB3?= =?utf-8?q?565=2Enamprd11=2Eprod=2Eoutlook=2Ecom=3E?=
References: <158212059997.17584.9409485384556514167.idtracker@ietfa.amsl.com> =?utf-8?q?=3CMN2PR11MB356540107CC4FC7F9CB9F412D8E30=40MN2PR11MB3565=2Enampr?= =?utf-8?q?d11=2Eprod=2Eoutlook=2Ecom=3E?= <7D77F80D-9D2C-4AF7-AB7E-4EDF58A9258A@kuehlewind.net>
In-Reply-To: <7D77F80D-9D2C-4AF7-AB7E-4EDF58A9258A@kuehlewind.net>
Accept-Language: fr-FR, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: spf=none (sender IP is ) smtp.mailfrom=pthubert@cisco.com;
x-originating-ip: [2a01:cb1d:4ec:2200:4110:c8e8:9199:86b2]
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 008ea724-139f-4de3-f027-08d7cc15d09e
x-ms-traffictypediagnostic: MN2PR11MB4384:
x-microsoft-antispam-prvs: =?utf-8?q?=3CMN2PR11MB43843438597DB4718A9F5076D8F?= =?utf-8?q?40=40MN2PR11MB4384=2Enamprd11=2Eprod=2Eoutlook=2Ecom=3E?=
x-ms-oob-tlc-oobclassifiers: OLM:10000;
x-forefront-prvs: 0347410860
x-forefront-antispam-report: SFV:NSPM; =?utf-8?q?SFS=3A=2810009020=29=284636?= =?utf-8?b?MDA5KSgzOTg2MDQwMDAwMikoMzY2MDA0KSgzNDYwMDIpKDEzNjAwMykoMzc2?= =?utf-8?b?MDAyKSgzOTYwMDMpKDE5OTAwNCkoNTUwMTYwMDIpKDE4NjAwMykoNjUwNjAwNyko?= =?utf-8?q?5660300002=29=2886362001=29=2854906003=29=284326008=29=28316002?= =?utf-8?b?KSg3Njk2MDA1KSg2Njk0NjAwNykoNTI1MzYwMTQpKDIyNDMwMzAwMykoNzYx?= =?utf-8?q?16006=29=2866476007=29=28478600001=29=2864756008=29=289686003=29?= =?utf-8?q?=28966005=29=286916009=29=2871200400001=29=282906002=29=283365600?= =?utf-8?b?MikoODExNjYwMDYpKDg5MzYwMDIpKDY2NTU2MDA4KSgzMDg2NDAwMykoODEx?= =?utf-8?q?56014=29=2866446008=29=3B?= DIR:OUT; SFP:1101; SCL:1; SRVR:MN2PR11MB4384; H:MN2PR11MB3565.namprd11.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1;
received-spf: None (protection.outlook.com: cisco.com does not designate permitted sender hosts)
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: =?utf-8?q?n1x7RSJF4B1U8RPC2K7+Ew2T23nYiJA?= =?utf-8?q?2swmBVXgY0PuhNCBc4NCYubJ9YhaZHKTe0w9bjpEX3fplJ37xsVK+vP32HX+tzBgk?= =?utf-8?q?Jk4c6HL6NCMbyVLRtBbfY1zYXkBIewFSXD+mU3rQ4El8j6TGHRSA5GOGTjsyVkh4O?= =?utf-8?q?k9+AlKJqqfzaWqba2BEe29A/CA7Z7Ng2dlKB1MyDHurHrOQVT8yVU0TaVqiERhqe7?= =?utf-8?q?nHX12VuXhKdz8yXOM1aymopYieThRs2aRLp9Db1ljAOkR5A5kx+E6w2xPED0ERbp7?= =?utf-8?q?85x24Pl/gEXjFI8GM6esDuqwLyjeJdPru+/2NwFu5mLpvsoWZ3UBm8/mTZ+FAdEAE?= =?utf-8?q?asUQQhrCJ9hf8Yi7srak4IkuUJ9+7lK5DbngRlbD7gag1EKvEeixpNyIIQYaYm8Vk?= =?utf-8?q?UdeFs494r2wBjzMICsM5OGuGXz0h33TCtw25yUWC1uJBj4A/8w4xPhru5QhBIoJHK?= =?utf-8?q?Vt2Aw8WxCuFMelGZbZOQn6f32CDCM0alB5tyhBSABR+9yXSw=3D=3D?=
x-ms-exchange-antispam-messagedata: =?utf-8?q?BsAfTdKrj/w6XZQHmVJ79PV7irBiLX?= =?utf-8?q?x4mYW0Tp5rFhK1za6LtBm7m5MZ7gkL62/jGJxrXtDPRqMmluto0f2GQfeMQwwmHP4?= =?utf-8?q?lE+p8/ZIcAunGK2ajrOCXOB2eUaPPeEzVlbTQUR9e4oCMRFfhgyKl7jJcSKQxYPVT?= =?utf-8?q?pUvoNMWdjQVDcs6Z3l7u0mnkQ1RoiWIcOMA+O3lzFiycJsQS/dPVXQ=3D=3D?=
x-ms-exchange-transport-forked: True
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-Network-Message-Id: 008ea724-139f-4de3-f027-08d7cc15d09e
X-MS-Exchange-CrossTenant-originalarrivaltime: 19 Mar 2020 14:57:16.1062 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 5ae1af62-9505-4097-a69a-c1553ef7840e
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: =?utf-8?q?oUqoUeNgOFLTV7HH5A783?= =?utf-8?q?x1tmA3dpx0qMROPcsa8OEgmJyoLuTBP62wNs5ZRaG4uCayJD2VoOdinkpG3ZeNasw?= =?utf-8?q?=3D=3D?=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR11MB4384
X-OriginatorOrg: cisco.com
X-Outbound-SMTP-Client: 173.37.102.11, xch-rcd-001.cisco.com
X-Outbound-Node: alln-core-7.cisco.com
Archived-At: <https://mailarchive.ietf.org/arch/msg/6lo/XU_Uo8EIqnKkgASRZ7nVungQxZM>
Subject: Re: [6lo] =?utf-8?q?Mirja_K=C3=BChlewind=27s_Discuss_on_draft-ietf-6?= =?utf-8?q?lo-fragment-recovery-13=3A_=28with_DISCUSS_and_COMMENT=29?=
X-BeenThere: 6lo@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "Mailing list for the 6lo WG for Internet Area issues in IPv6 over constrained node networks." <6lo.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/6lo>, <mailto:6lo-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/6lo/>
List-Post: <mailto:6lo@ietf.org>
List-Help: <mailto:6lo-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/6lo>, <mailto:6lo-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 19 Mar 2020 14:57:29 -0000

Hello Mirja

> Thanks for you updates. Sorry for my late reply. I unfortunately have some
> more comments. Please see below.

More comments => more thanks, you'll have to live with it 😊

As usual I published for your convenience so you can observe the global effect of your review.
Please see https://tools.ietf.org/rfcdiff?url2=draft-ietf-6lo-fragment-recovery-18.txt 
(and as usual also I found a typo there that I fixed, this time the duplication of "reduce the")

Please see below the discussion:

> >> ---------------------------------------------------------------------
> >> -
> >> DISCUSS:
> >> ---------------------------------------------------------------------


> > 4.3.  Flow Control
> >
> >   The inter-frame gap is the only protection that [FRAG-FWD] imposes by
> >   default.  This document enables to group fragments in windows and
> >   request intermediate acknowledgements so the number of in-flight
> >   fragments can be bounded.  This document also adds an ECN mechanism
> >   that can be used to adapt the size of the window, the size of the
> >   fragments, and/or the inter-frame gap to protect the network.
> >
> >   This specification enables the source endpoint to apply a flow
> >   control mechanism to tune those parameters, but the mechanism itself
> >   is out of scope.  In most cases, the expectation is that most
> >   datagrams will represent only a few fragments, and that only the last
> >   fragment will be acknowledged.  A basic implementation of the source
> >   endpoint is NOT REQUIRED to variate the size of the window, the
> >   duration of the inter-frame gap or the size of a fragment in the
> >   middle of the transmission of a datagram, and it MAY ignore the ECN
> >   signal or simply reset the window to 1 (see Appendix C for more) till
> >   the end of this datagram upon detecting a congestion.
> >
> >   The size of the fragments is typically computed from the Link MTU to
> >   maximize the size of the resulting frames.  The size of the window
> >   and the duration of the inter-frame gap SHOULD be configurable, to
> >   roughly adapt the size of the window to the number of hops in an
> >   average path, and to follow the general recommendations in
> >   [FRAG-FWD], respectively.
> > “
> >
> Thanks for adding this. However, as I said a couple of times in my discuss there
> must be more guidance. This is not only about flow control but also about
> congestion control and it is not okay to declare congestion control out of
> scope. If you only do fragmentation but no retransmission, you don’t need to
> care about congestion control (but only flow control) as you don’t increase the
> actual network load by this. However, if you retransmit you are sending more
> data than the original sender (that hopefully is congestion controlled) and
> therefore you increase the load on the network and you MUST implement your
> own congestion control or some fixed rate limiting for that additional load.
> Saying this is out of scope and you want to do experimentation is not
> acceptable for a Proposed Standard.

I agree. I should be a lot more careful with my wording. 

Understanding that the flow control is pacing from the receiver to protect the receiver and congestion control is protecting the network (ECN etc...); stricto sensu  we are not doing any flow control since the receiver is expected to have a buffer for the whole datagram and he does not need to be protected. All we do is congestion control.

=> I should change "flow control" to "congestion control" throughout, and add text about the above, is that correct?

Note that all classical wireless interfaces perform ARQ. On one hop, you get the same effect of multiplying the traffic in the air vs. what the transport see. The factor can be high, e.g., 64. On a mesh, we get the additional effect of multiple flows converging on a same node.

> 
> To be clear the request of this discuss is to give a normative recommendation
> for the default value of the window size and/or inter-frame gap.

Yes, and since there is no great expectation that ECN will be implemented, that must be reasonable.
Also we want to agree on the proposed mechanism to drop the window to 1 in case of congestion notification, or is that behind us already?


> 
> Further note, as you allow to adapt both the window and the inter-frame gap
> dynamically, you actually implement two control mechanisms here. I actually
> recommend to only use the inter-frame gap and don’t have window here. You
> say a couple of times in your reply below, that the window determines the ask-
> rate, however, it is not clear to me because the ack rate should be a parameter
> at the receiver and not at the sender (maybe I don’t remember things correctly
> because it’s a while back since I read the draft and I couple find anything about
> this in the draft quickly). If the window size however does define the ack rate,
> then maybe you should rename that parameter respectively.

The ack is not for flow control (as we do not have it) but in support of ARQ. The possibility to use it for congestion control is a desirable side effect. The fragmenting endpoint FSM may want to wait and see how things went for the fragments that it already sent. E.g., there's the case where the fragmenting endpoint would use an ack on the first fragment for  a number of reasons such as check that a path is available, that the MTU is OK or assess an initial RTT. It may maximize the number of fragments in flight for congestion control. But whether to do any of that is left to implementation (so far).


> 
> However, if there is really a need for a window, I still recommend to talk less
> about adapting this value dynamically and make clear that having a fixed value
> is the recommended default. Therefore I recommend to remove the parameter
> MinWindowSize and MaxWindowSize because these should actually not be
> parameters than can be configured but are actual bounds. If someone decides
> to implement dynamic window adaption, they can decide to re-introduce these
> parameter again and make them configurable but it doesn’t need to be part of
> this spec.

I can see that, yes. I still like the idea to drop to 1 in case of ECN. 
Do you suggest to remove that as well?
If so, should we augment the inter-frame gap in case of ECN? 
That may be better though not simpler to specify or implement.



> 
> So it could be something like:
> 
> "Window_Size:  Window_Size MUST be at least 1 and less than 33. If the inter-
> frame gap is selected large enough to not overload the path and the one-way

I see the IFG as more efficient for flow control than for congestion control: Increasing IFG slows down the packets but as long as the result is faster than the bottleneck, it does not help much does it? So I'm still  unsatisfied on how to characterize an IFG that does not overload a path. But I'm not sure we can do better. I moved that piece to the IFG definition if that's OK?

> delay is known, the Window_Size SHOULD be set to the one-way trip time
> divided by the inter-frame gap.  Otherwise a small value of X SHOULD be
> configured. Note that the Window_Size determines the ack rate. If the
> window_size is set this to 32, this means only the last Fragment is
> acknowledged in the first round. If it is set to a smaller value, more acks are
> generated but the load on the forward path will be lower. Window_Size MAY
> be adapted dynamically to reduce load on the forward path in case of
> congestion.”

The assertion that the load on the forwarding path will be lower is usually incorrect in a typical  LLN, since the radios are half duplex. In the example of 6TiSCH, an rfrag_ack consumes the exact same bandwidth as a fragment (one time slot). Also the path of the rfrag_ack is the reverse LSP, so it goes across the exact same links.

The last sentence is already present above in the text above it, all quoted below, so I'm also trying to avoid duplication.

> Still you also need to say more about how to set and dynamically adapt the
> inter-frame gap because that is probably the real limiting fact to avoid network
> overload.
> 

Yes, I see that tuning IFG impacts the rate and can help alleviate the congestion once you pass below the rate the bottleneck can give you. I've done some adaptive CIR long ago in IBM FR switches and it can be made to work, and though it was a lot of fun, it's not any easier than window-based flow control. And it really depends on the relay doing the right thing, e.g., reacting quickly on growing queue latency and applying fair sharing.

> Also below you remove the recommendation for using the number of hops as
> window size but here you added it again. This is just incorrect. There is no
> dependency between the number of hops and the window size: If there is no
> bottleneck on the path, you can just send with line rate at the sender. 

The rationale was: If there is no bottleneck on the path and the window is less than the number of hops then the sender will be blocked and the maximum throughput cannot be achieved.. If the rfrag_ack is as slow as the frag, which is reasonable in an LLN, we're talking about a window of twice the number of hops to keep the fragments going.

I saw the number of hops as a starting point, but I'm (really) happy to stick to RTT/IFG which makes more sense considering the focus that you seem to recommend placing on IFG (and I agree with that too).
 
>                                                                                                     If there
> is a bottleneck on the path and you send at a higher rate than the bottleneck
> than soon or later the buffer at that hop will fill up completely. So the window
> size depends only on the bottleneck rate and end-to-end delay (BDP) (which
> let’s you calculate the number of packet in flight) plus the buffer size at the
> bottleneck. The number of hops is irrelevant.

Yes, I understand that model. It was easier to apply some 25 years ago.
So far the links in a LLN are usually the same and the PHYs are usually the same so it's still usable.
But that is bound to change rapidly as even LLN radios are going to be agile WRT PHY rate. Meaning that the rate at the bottleneck will become hard to fathom and will change (rapidly) over time (same as Wi-Fi).

All in all we'd get:

"
   An implementation must control the rate at which it sends packets
   over the same path to allow the next hop to forward a packet before
   it gets the next.  In a wireless network that uses the same frequency
   along a path, more time must be inserted to avoid hidden terminal
   issues between fragments (more in Section 4.2).  An implementation
   should consider the generic recommendations from the IETF in the
   matter of congestion control and rate management in [RFC5033].  An
   implementation may perform a congestion control by using a dynamic
   value of the window size (Window_Size), adapting the fragment size
   (Fragment_Size), and may reduce the load by inserting an inter-frame
   gap that is longer than necessary.  In a large network where nodes
   contend for the bandwidth, a larger Fragment_Size consumes less
   bandwidth but also reduces fluidity and incurs higher chances of loss
   in transmission.

   This is controlled by the following parameters:


   inter-frame gap:  Indicates the minimum amount of time between
      transmissions.  The inter-frame gap protects the propagation of
      one transmission before the next one is triggered and creates a
      duty cycle that controls the ratio of air time and memory in
      intermediate nodes that a particular datagram will use.  The
      inter-frame gap controls the rate at which fragments are sent and
      SHOULD be selected large enough to protect the network.


<snip>

   Window_Size:  The Window_Size MUST be at least 1 and less than 33.

      *  If the round-trip time is known, the Window_Size SHOULD be set
         to the round-trip time divided by the time per fragment, that
         is the time to transmit a fragment plus the inter-frame gap.

      Otherwise:

      *  Setting the window_size to 32 is to be understood as only the
         last Fragment is acknowledged in each round.  This is the
         RECOMMENDED value in a half-duplex LLN where the fragment
         acknowledgment consumes roughly the same bandwidth on the same
         links as the fragments themselves

      *  If it is set to a smaller value, more acks are generated.  In a
         full-duplex network, the load on the forward path will be
         lower, and a small value of 3 SHOULD be configured.
"