Re: [6lo] Intdir last call review of draft-ietf-6lo-minimal-fragment-04

"Pascal Thubert (pthubert)" <pthubert@cisco.com> Fri, 08 November 2019 08:04 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 6A9C012009E; Fri, 8 Nov 2019 00:04:31 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -14.5
X-Spam-Level:
X-Spam-Status: No, score=-14.5 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-5, SPF_PASS=-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=Athd2vnk; dkim=pass (1024-bit key) header.d=cisco.onmicrosoft.com header.b=pyOAUFWT
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 y_loV2vnYhMw; Fri, 8 Nov 2019 00:04:28 -0800 (PST)
Received: from alln-iport-8.cisco.com (alln-iport-8.cisco.com [173.37.142.95]) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 8385B12003E; Fri, 8 Nov 2019 00:04:28 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=43941; q=dns/txt; s=iport; t=1573200268; x=1574409868; h=from:to:cc:subject:date:message-id:references: in-reply-to:mime-version; bh=oh1hiin7eHonxQTbngH6sJb4PI41b6VV+Uclz6W/7+s=; b=Athd2vnk385NGQ/5AWL2i8FwRRIgLLLVzOg7oIgHsle57sUSLYHmd1Nx S/6l9rdqcAzVL9SGZ634+w8GHsyjXnwndKJMJrhpo9aME63LaQ4Oyk/XW 8s+bn3Ay8391xAtMYXFNAAtbVAEs/NYu+CFXIJnivw4zecXP5sQ4EtvKV k=;
IronPort-PHdr: 9a23:HCvGRBaruVAOzX6hQPfClS//LSx94ef9IxIV55w7irlHbqWk+dH4MVfC4el20gabRp3VvvRDjeee87vtX2AN+96giDgDa9QNMn1NksAKh0olCc+BB1f8KavycywnFslYSHdu/mqwNg5eH8OtL1A=
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: A0AfAAC5IMVd/5xdJa1lGQEBAQEBAQEBAQEBAQEBAQEBEQEBAQEBAQEBAQEBgW0BAQEBAQELAYEbL1AFbFggBAsqCoQfg0YDiwGCXn+Wf4JSA1QJAQEBDAEBJwYCAQGEQAIXg3ckNwYOAgMLAQEEAQEBAgEFBG2FNwyFUQEBAQECARIRChMBATcBBAsCAQYCDgcDIAEGAwICAjAUEQIEDgUigwABgXlNAw4gAQIMllyQYwKBOIhgdYEygn4BAQWFBxiCFwMGgTYBhRmGehiBQD+BEScfgU5JNT6CYgEBAgGCCwmCWjKCLIx+CQkIB4JqhUCCPIZ/jwcKgiSHF44qG4I8h2GENYsikGOGF5E5AgQCBAUCDgEBBYFoI4FYcBUaISoBgkFQERSQNoNzhRSFP3QBgSeOPwGBDgEB
X-IronPort-AV: E=Sophos;i="5.68,280,1569283200"; d="scan'208,217";a="368044156"
Received: from rcdn-core-5.cisco.com ([173.37.93.156]) by alln-iport-8.cisco.com with ESMTP/TLS/DHE-RSA-SEED-SHA; 08 Nov 2019 08:04:27 +0000
Received: from XCH-ALN-014.cisco.com (xch-aln-014.cisco.com [173.36.7.24]) by rcdn-core-5.cisco.com (8.15.2/8.15.2) with ESMTPS id xA884Rxu023937 (version=TLSv1.2 cipher=AES256-SHA bits=256 verify=FAIL); Fri, 8 Nov 2019 08:04:27 GMT
Received: from xhs-aln-002.cisco.com (173.37.135.119) by XCH-ALN-014.cisco.com (173.36.7.24) with Microsoft SMTP Server (TLS) id 15.0.1473.3; Fri, 8 Nov 2019 02:04:26 -0600
Received: from xhs-aln-002.cisco.com (173.37.135.119) by xhs-aln-002.cisco.com (173.37.135.119) with Microsoft SMTP Server (TLS) id 15.0.1473.3; Fri, 8 Nov 2019 02:04:25 -0600
Received: from NAM05-CO1-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; Fri, 8 Nov 2019 02:04:25 -0600
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=odcRzdfAVuuKQZVDCoQRVFTKD4ekFT3HIqZ7CzImG+UkP5B253rjQFpQL7+AyGgyWqm6H2eHDmvaV8IqOVKSsCwHn1t/xnmVQuGAvp3ecTo5jspuRvJz69tSLwclvhup0gt7i60wnRKt7cexwsZMfZn3Du7CIPpjw+7usTJINyfDoIMVD7RxNaTy3tgqKm+HJdhpJUtuQOnwTPCdsA6mw60GFpcOQYtqLWG0zfeuD+Uc84/rHF75dbcn/9CMjK0y1Xfvb9uSoRaBq6EkfzwwMCUXmvfEsQM0UhtNhL32ztSbtuJg4tNJpQPLV9BPtcjHMfqjWPR2AsLW1TvTLmWysQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=oh1hiin7eHonxQTbngH6sJb4PI41b6VV+Uclz6W/7+s=; b=KR91ruwGareIXqZzF7Wl7W+TjTvsk6DHIA6ERk7qDjOTKInba01GTEonX8GeyYNwca2PXawHrUxl/A8y+/KfxFNitZdpeLDskf9lOwFTIhPVM9YM2dsqzCl+jgMd7T21JD2MCZGm2oQLN+PTJ/HRBbSeD1M7Y9f/3ZJ9bKwhvwFq40w+g/1279cB62qbDHjvvVIMqQVKl/bi6yeJyPUpV4KUrgKRTFQjDU3iMBMtiew5gksZPnqeDnMAUDBmYqZV/44qKp1E15uUCkDrwxiDsAc9GmJMqsEz//9IGRsnLq7KheapgPnImoqfnqrQkXU5Hom2CRRa67s3Yy8hVUooTQ==
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; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=oh1hiin7eHonxQTbngH6sJb4PI41b6VV+Uclz6W/7+s=; b=pyOAUFWTvO+UzHFDb+hFxtV82eTxwA7D+63zTrV8JwUQ9WZXWbcFF4xYwUcsSTHwktNLfCasDfQRT8a+NAwYTtTmwsXY7/x4BWxPQlB9QS0Bx58+ESaMZ/Ic2yqK9VECLsCgDobNpRz9fzQSGrPf/YyP84mfcz4gukNyDTN2wlo=
Received: from MN2PR11MB3565.namprd11.prod.outlook.com (20.178.250.159) by MN2PR11MB4256.namprd11.prod.outlook.com (52.135.36.141) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2430.20; Fri, 8 Nov 2019 08:04:23 +0000
Received: from MN2PR11MB3565.namprd11.prod.outlook.com ([fe80::31c9:3a31:3c07:a920]) by MN2PR11MB3565.namprd11.prod.outlook.com ([fe80::31c9:3a31:3c07:a920%6]) with mapi id 15.20.2430.020; Fri, 8 Nov 2019 08:04:23 +0000
From: "Pascal Thubert (pthubert)" <pthubert@cisco.com>
To: Dave Thaler <dthaler@microsoft.com>
CC: "int-dir@ietf.org" <int-dir@ietf.org>, "draft-ietf-6lo-minimal-fragment.all@ietf.org" <draft-ietf-6lo-minimal-fragment.all@ietf.org>, "6lo@ietf.org" <6lo@ietf.org>
Thread-Topic: Intdir last call review of draft-ietf-6lo-minimal-fragment-04
Thread-Index: AQHVlPdRdAzM57x8DkqeVzdB76HcJ6d/f0lAgAC5jgCAABTpfoAAEuIAgACH1ZaAAAPd/A==
Date: Fri, 08 Nov 2019 08:04:23 +0000
Message-ID: <D9E833FF-B307-444B-A2F0-3D147D4D0E1F@cisco.com>
References: <157308179603.20089.3680167711838185681@ietfa.amsl.com> <MN2PR11MB356517192D428E8181F7FB06D8780@MN2PR11MB3565.namprd11.prod.outlook.com>, <MWHPR21MB0784B933306ADFFE22E0B2E5A3780@MWHPR21MB0784.namprd21.prod.outlook.com> <426C0687-C855-4948-AB27-DD824B990294@cisco.com>, <MWHPR21MB07842508826ECF3B53A2C298A3780@MWHPR21MB0784.namprd21.prod.outlook.com>, <CFD1E56F-FFE7-41A4-8ED7-4F07A86C8336@cisco.com>
In-Reply-To: <CFD1E56F-FFE7-41A4-8ED7-4F07A86C8336@cisco.com>
Accept-Language: fr-FR, en-US
Content-Language: fr-FR
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: spf=none (sender IP is ) smtp.mailfrom=pthubert@cisco.com;
x-originating-ip: [147.127.248.1]
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 7c1840d0-0185-4b0e-080e-08d764224458
x-ms-traffictypediagnostic: MN2PR11MB4256:
x-ms-exchange-purlcount: 1
x-microsoft-antispam-prvs: <MN2PR11MB4256754CD2B403CBC21D5E28D87B0@MN2PR11MB4256.namprd11.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:10000;
x-forefront-prvs: 0215D7173F
x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(4636009)(39860400002)(346002)(396003)(366004)(136003)(376002)(189003)(199004)(99286004)(54906003)(102836004)(6512007)(76116006)(6506007)(6436002)(316002)(2616005)(186003)(81156014)(14454004)(7736002)(81166006)(71190400001)(486006)(8676002)(36756003)(25786009)(476003)(6246003)(45080400002)(478600001)(8936002)(446003)(6916009)(86362001)(11346002)(26005)(91956017)(76176011)(6306002)(71200400001)(33656002)(256004)(2906002)(3846002)(6116002)(66066001)(66476007)(66446008)(66556008)(66946007)(64756008)(66574012)(54896002)(236005)(606006)(6486002)(790700001)(5660300002)(1511001)(229853002)(4326008)(244885003); DIR:OUT; SFP:1101; SCL:1; SRVR:MN2PR11MB4256; H:MN2PR11MB3565.namprd11.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; 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: QE+JACkWA4ny1YF+0xCWFsXNbTwHwcoe5s9Pt/VeGC6OpAhf1PtYF7Ck81n/mHEcqWPoaonSYnV8//e0cCUrsu4b7KpDlKtdq4/Vqh7f8qTXOF1Gdmh24ZUc5nmhpoCfW/q9dwrNJbro+wsGfinhAkRcb8HohpN2MRhQXrkzZTWgmdHn20fbNSkpow9/RCmSM620pjkiESzyfIrJU86k+bHkMBdLKHAjZpNSHSt1q4/XM+0wg13LS0y3CuF/YgvAVZN+MbFYD4J1+jV6PGSBAholN6ZFuDC4jEfQVOdV57BRA48cUzxQxInG5Z2M5WBRMyF0EIfssyOmyyJp25eCEdZWx+IHwshXmAVsfCpbXaIns45Fg39T/djPFF1iw34PG7ncY0GQBzANJaENKjiF6oArLwqdj0usx3WueP4Alp/Ax2C6C5u2M/9lXqRp2RIJuui6OWNngn2qDtji899Fb77n7bE6O2xl2eUDyUs5HUM=
x-ms-exchange-transport-forked: True
Content-Type: multipart/alternative; boundary="_000_D9E833FFB307444BA2F03D147D4D0E1Fciscocom_"
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-Network-Message-Id: 7c1840d0-0185-4b0e-080e-08d764224458
X-MS-Exchange-CrossTenant-originalarrivaltime: 08 Nov 2019 08:04:23.3560 (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: 1dh2dtluc9m7vICCCi14bESf7YqPCh3SnuS1t1DCPBY97T6kQZ410Q4L4NB446jzAw5LJwCIP0lFgF9omTb1og==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR11MB4256
X-OriginatorOrg: cisco.com
X-Outbound-SMTP-Client: 173.36.7.24, xch-aln-014.cisco.com
X-Outbound-Node: rcdn-core-5.cisco.com
Archived-At: <https://mailarchive.ietf.org/arch/msg/6lo/o8qR1DvzOpalyzNuwYlkoLxTU9c>
Subject: Re: [6lo] Intdir last call review of draft-ietf-6lo-minimal-fragment-04
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: Fri, 08 Nov 2019 08:04:31 -0000

Hello again Dave;

There’s a confusion in section 1 and 2 about what is the art of RFC 4944 and what changes when forwarding fragments. The conceptual reassembly buffer already has the data needed to forward the fragment.

I need to split that in 2 sections showing what’s needed to forward fragments. I guess we need a better introduction on ff and a section before 3 that discusses the concepts of FF that the LWIG implements.

I need to work on that before coming back to you.

Regards,

Pascal

Le 8 nov. 2019 à 08:50, Pascal Thubert (pthubert) <pthubert@cisco.com> a écrit :


Hello Dave

More below

Pascal

Le 8 nov. 2019 à 00:44, Dave Thaler <dthaler@microsoft.com> a écrit :


Follow ups below

From: Pascal Thubert (pthubert) <pthubert@cisco.com>

Please see in-line

Le 7 nov. 2019 à 22:22, Dave Thaler <dthaler@microsoft.com<mailto:dthaler@microsoft.com>> a écrit :

Responses inline below.

Pascal Thubert (pthubert) <pthubert@cisco.com<mailto:pthubert@cisco.com>> wrote:
> The title implies the document specifies a forwarding mechanism, but

> it does not, it merely provides discussion of two mechanisms in other

> docs (RFC 4944 and draft-ietf-lwig-6lowpan-virtual-reassembly). I

> would recommend at least changing the title to be more clear as to the purpose of the doc.



A suggestion would help : )



Does "On Forwarding 6LoWPAN Fragments over a Multihop IPv6 Network" go the right way?



Sure.  Other possibilities in case you like them better than that one:

·        “6LoWPAN Fragment Forwarding Techniques: Discussion and Tradeoffs”

·        “An Analysis of Various 6LoWPAN Fragment Forwarding Mechanisms”

Etc.

We (== this draft) do not compare technologies. We give a generic behavior for which the LWIG draft is an implementation. So it’s not a protocol per se but a way do use RFC 4944 that was not intended in 4944.

That’s not how I read the document right now.
First, this document as written does not specify any behavior itself, since the document is listed as Informational only, and contains no normative references.

Yes, I spotted that and already moved  the LWIG draft  and RFC 4944 to normative References when I handled your first run of comments.



Second, I read section 1-2 as analysis/discussion/issues around the normative behavior stated in [RFC4944], and section 3 as analysis/discussion/issues around the normative behavior stated in [I-D.ietf-lwig-6lowpan-virtual-reassembly<https://tools.ietf.org/html/draft-ietf-6lo-minimal-fragment-04#ref-I-D.ietf-lwig-6lowpan-virtual-reassembly>].
If the WG’s intent for this document is to actually specify behavior, or behavior changes, in this document, then it should use 2119 language, and have normative references, so one can claim compliance to it.

The high level behaviour change is that fragments are forwarded before the whole message is received.

The draft introduces the abstract technique and endorses the LWIG work as canonical to 6lo within that umbrella. It is also supposed to give more information on when to use FF and on caveats/pitfalls that may be encountered and precautions to be taken.

Some gory details and optimizations that are internal to a box and could be implemented otherwise are left to the LWIG draft. The 6lo work on recoverable fragments is another way of achieving fragments forwarding. Both inherit from the FF draft and yield the same pitfalls.

We discussed whether the draft should have been std track but the chairs recommended otherwise so we wrote it without BCP 14 terms. I guess it is still time to revise that.

And the document would require more changes than I originally expected or argued for in my review.



I’m willing to consider that very seriously.

 I’d wish to settle on those changes with you and then run the result through the group rather than the other way around. Would that work for you? Could we talk in Singapore ?




> 2) Page 3 also says the reassembly buffer contains "the link-layer

> address of the next hop that is resolved

>    on the first fragment".  I found this similarly confusing.  What does it

>    mean to resolve something "on" the first fragment?  Does it mean "during

>    processing of the first fragment"?  Maybe I missed it, but I couldn't find

>    in RFC 4944 anywhere that says that it would do next-hop resolution before

>    the datagram can be reassembled.  That would seem like a waste, if the

>    fragments are then discarded (e.g., due to timer expiry) without actually

>    doing any forwarding.

>



RFC 4944 reassembles and then routes. We make the routing decision on the first fragment before we receive the second fragment, forward the first fragment and store that state. Unsure how to reword, your suggestion would be appreciated.



When you say “We made”, who is “we”?  RFC 4944?  If so, cite a specific section,
since making the routing decision on receipt of the first fragment, rather than the last,
seems non-intuitive and wasteful.   If that’s what the RFC says, then you can point it out

since this doc is (from my understanding) about discussing issues and tradeoffs with other mechanisms.

We is this draft. The art of 4944 reassembles the packet at each hop. Once the packet is reassembled then it is routed leading to the behavior you describe, that is resolve on last fragment.

See my points above about “we is this draft” meaning this draft needs to be a lot clearer that it is specifying behavioral changes that one can conform to.
I read the text as explaining what RFC 4944 itself requires.  Specifically the last sentence of the section the text above is quoted from explicitly says
“That is, the packet is fully reassembled, then (re)fragmented, at every hop.”

That’s what I’m reacting to since the bullet list is very wasteful when fully reassembled at each hop, which is the context of this section.

Furthermore, it’s arguably broken since looking up the next hop when the first fragment arrives, and then only using it once all fragments
have arrived and the packet can be fully reassembled, means the next hop information can be stale at that point and you’re forwarding it
to the wrong place, or even a place that no longer exists at that time.

The notion of forwarding each fragment as it’s received, without reassembling, starts in section 3, which is the alternative being compared
(as I read it) with the stock 4944 approach.  It’s only then that “resolve next hop on first fragment received” makes any sense to me, not back in section 1.


Agreed. I guess the WG was clear on what we are doing beforehand and failed to spot this. I suggest adding introduction text that describes all we discussed here.


This draft forwards a fragment as soon as it is received leading to more streamlined operations, less buffer bloat and lower latency. It is indeed wasteful if some fragments are missing after the first one since the first fragment will still continue till the end. That’s the other side of the coin, similar to store and forward switching vs. switching as the frame is being received.

That’s not my reading of the existing text.  My reading is of this doc is that [I-D.ietf-lwig-6lowpan-virtual-reassembly<https://tools.ietf.org/html/draft-ietf-6lo-minimal-fragment-04#ref-I-D.ietf-lwig-6lowpan-virtual-reassembly>]
is what covers that behavior (as the first paragraph of section 3 the 6lo draft explains) and the 6lo draft is just analyzing it.

There’s some of that too.

There’s a generic behavior and a particular way of implementing it that we present as an example. That’s probably why it was difficult to position this draft info vs std track.


If the intent Is to specify it normatively in the 6lo draft, then I believe this draft needs more work
before being ready.



The waste is that if you choose to discard the datagram rather than forward it,
your efforts in doing the lookup are a waste of cycles, and a waste of space to store the result.

This is pleading for reassembly at each hop. All the benefits of forwarding fragments are gone.

Not sure that “this” refers to.  See above.  Section 1-2 are currently written to be about the case where you reassemble at each hop.
[…]


Agreed 1 and 2 are a problem statement with current state of the art. This was your suggestion to receive all fragments before forwarding the first one. This recreates the bloat we avoid with this draft by streamlining fragments.

All the best,

Pascal


Dave