Re: [tsvwg] A review of draft-ietf-tsvwg-udp-options-12

"C. M. Heard" <heard@pobox.com> Sun, 13 June 2021 19:28 UTC

Return-Path: <heard@pobox.com>
X-Original-To: tsvwg@ietfa.amsl.com
Delivered-To: tsvwg@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 4B4513A2609 for <tsvwg@ietfa.amsl.com>; Sun, 13 Jun 2021 12:28:46 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.798
X-Spam-Level:
X-Spam-Status: No, score=-2.798 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=pobox.com
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 1wNvaYUPP48U for <tsvwg@ietfa.amsl.com>; Sun, 13 Jun 2021 12:28:41 -0700 (PDT)
Received: from pb-smtp1.pobox.com (pb-smtp1.pobox.com [64.147.108.70]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 8E9D53A2608 for <tsvwg@ietf.org>; Sun, 13 Jun 2021 12:28:41 -0700 (PDT)
Received: from pb-smtp1.pobox.com (unknown [127.0.0.1]) by pb-smtp1.pobox.com (Postfix) with ESMTP id CAFA6D52B1 for <tsvwg@ietf.org>; Sun, 13 Jun 2021 15:28:37 -0400 (EDT) (envelope-from heard@pobox.com)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed; d=pobox.com; h= mime-version:references:in-reply-to:from:date:message-id:subject :to:cc:content-type; s=sasl; bh=Auiq7J+Tvu3b7rdZVW1muCovvUS5B9kG ZTo/ilX19Es=; b=s1D25sAOXKcE/3WF92BAm62VVjtahsp8T3cC6f74lKC64P51 N78DCS85RgayHXgnCaQUzugkyQrQDvImVr80sbI53uVi0UxXKRBkkm+sWqB1pm8V SRO9VTlyDPD1iRg1MuUQnYFc2nCswGRN0KtEUiZuEHS1lTV3fvemgGxQgZo=
Received: from pb-smtp1.nyi.icgroup.com (unknown [127.0.0.1]) by pb-smtp1.pobox.com (Postfix) with ESMTP id C32B5D52B0 for <tsvwg@ietf.org>; Sun, 13 Jun 2021 15:28:37 -0400 (EDT) (envelope-from heard@pobox.com)
Received: from mail-io1-f51.google.com (unknown [209.85.166.51]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by pb-smtp1.pobox.com (Postfix) with ESMTPSA id 584E4D52AE for <tsvwg@ietf.org>; Sun, 13 Jun 2021 15:28:37 -0400 (EDT) (envelope-from heard@pobox.com)
Received: by mail-io1-f51.google.com with SMTP id s19so27620042ioc.3 for <tsvwg@ietf.org>; Sun, 13 Jun 2021 12:28:37 -0700 (PDT)
X-Gm-Message-State: AOAM530SIOBubZXEjCDBGZLaXgxYu7Ge21LUmwicbBQ5T4/epbRjbJqI O5oCLRoP0IKpn1CaGSCQNRAR2vScNM02u0MFmhA=
X-Google-Smtp-Source: ABdhPJxVKeQDfGmA8eoo60ai6CMFgDepde17Si0BUh720ELfTzeoUne7ELb7f+yeuoXJ/dqWeqxqybyyNBrw64rnku4=
X-Received: by 2002:a05:6638:3298:: with SMTP id f24mr13532583jav.25.1623612516798; Sun, 13 Jun 2021 12:28:36 -0700 (PDT)
MIME-Version: 1.0
References: <CACL_3VGb_9P5SfPGRJtf1ZBvEhgywc2ZEGr-qbgNOMXV20rFeA@mail.gmail.com> <CACL_3VHyoRr5ju8203DiLTUo-658DCj7ud+1dQE2o0hUPVhF0A@mail.gmail.com> <7D766992-AEEB-434F-BB1D-3817EE07DE61@strayalpha.com> <11037_1623411791_60C34C4F_11037_1_3_787AE7BB302AE849A7480A190F8B9330353A9C56@OPEXCAUBMA2.corporate.adroot.infra.ftgroup> <7aaa39d3-0431-e4b0-36bd-1db0686b24dc@erg.abdn.ac.uk> <1FF4F896-0CB8-4AC6-93A4-EAA716BB21A6@strayalpha.com>
In-Reply-To: <1FF4F896-0CB8-4AC6-93A4-EAA716BB21A6@strayalpha.com>
From: "C. M. Heard" <heard@pobox.com>
Date: Sun, 13 Jun 2021 12:28:39 -0700
X-Gmail-Original-Message-ID: <CACL_3VFSoHzHdrps_9X2er+Z3S+_r5z9BstE6cJ0f7k8hgyfSA@mail.gmail.com>
Message-ID: <CACL_3VFSoHzHdrps_9X2er+Z3S+_r5z9BstE6cJ0f7k8hgyfSA@mail.gmail.com>
To: Joseph Touch <touch@strayalpha.com>, Gorry Fairhurst <gorry@erg.abdn.ac.uk>, mohamed.boucadair@orange.com
Cc: TSVWG <tsvwg@ietf.org>
Content-Type: multipart/alternative; boundary="00000000000051159f05c4aabf65"
X-Pobox-Relay-ID: 8D03BED8-CC7D-11EB-A69C-8B3BC6D8090B-06080547!pb-smtp1.pobox.com
Archived-At: <https://mailarchive.ietf.org/arch/msg/tsvwg/PgxGr7bxiLGP_3nRNXedgwaOWg0>
Subject: Re: [tsvwg] A review of draft-ietf-tsvwg-udp-options-12
X-BeenThere: tsvwg@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Transport Area Working Group <tsvwg.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/tsvwg>, <mailto:tsvwg-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/tsvwg/>
List-Post: <mailto:tsvwg@ietf.org>
List-Help: <mailto:tsvwg-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/tsvwg>, <mailto:tsvwg-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sun, 13 Jun 2021 19:28:46 -0000

On Fri, Jun 11, 2021 at 4:43 AM  Mohamed Boucadair wrote:

> Hi Joe, all,
>
> Regarding the FRAG option, I'm not sure there was a consensus this is a
> MUST to implement/support.
>
> Unless I'm mistaken, I didn't even remember a conclusion for one of the
> main threads when FRAG and other "design assumptions" were discussed back
> in 07/2019.
>
> As indicated in
> https://mailarchive.ietf.org/arch/msg/tsvwg/rfh1wBYzlIHIzeVQruT5BVd8BRA/,
> I do still think that we would better focus on key foundations and build
> over them. FRAG can be defined properly in a separate document. It can be
> tagged as unsafe but it does not need to be mandatory to implement.


>
Indeed, as far as I can tell, that discussion never did achieve consensus
on the matter of whether fragmentation is a requirement. So let's discuss.
Here's my position:

While I agree that it is not appropriate to require every implementation of
UDP options to support reassembly of fragments, I do believe that the FRAG
mechanism needs to be in the base specification of UDP options if we are
going to have it at all. It interacts with other options, and thus should
not be deferred to a future document.

On Fri, Jun 11, 2021 at 7:37 AM Gorry Fairhurst wrote:

> On the one hand: I can ses it would be nice to have many things in the
> common standard and immediately available to use.
>
> On the other hand: There seems to me to be singificantly more complexity
> and choice in managing reassembly than in the other aspects of UDP
> options- I can see how this could vary depending on usage: how much
> memory to use for reassembly, and what size is considered acceptable. To
> me, that makes it seems reasonable to ask whether a minimal implemention
> needs to offer this.
>
> I know when someone in Aberdeen University implemented an earlier rev.
> of UDP-Options, this was the part that wasn't done.
>
>
I believe that the references are:
https://datatracker.ietf.org/meeting/101/materials/slides-101-tsvwg-sessa-53-tom-jones-udp-options-implementation-02
https://datatracker.ietf.org/meeting/101/materials/minutes-101-tsvwg-02

On Fri, Jun 11, 2021 at 9:40 AM Joseph Touch wrote:

> I agree with everyone that FRAG support shouldn’t be open-ended. Maybe we
> can say MUST implement at least 2-fragment reassembly, SHOULD implement up
> to 9K (that’s the upper bound on most MTUs that aren’t 64K AFAICT).
>
> I understand it’s the last thing to be implemented because it’s hard, but
> that alone isn’t a reason to make it optional. Maybe we should just skip
> RDMA support as unnecessary; RDMA perhaps should tune to MTU rather than
> rely on long streams of UDP fragments.


>
As I stated in the review, I believe that all implementations of UDP
options should be required to recognize the FRAG option, but I believe that
it is a bridge too far to require actual reassembly of fragments. It would
IMO be fair to require implementations of UDP options to be able to process
and accept a datagram that consists of a single fragment that is both an
initial fragment and a terminal fragment. That is needed to support UNSAFE
options.  It is also straightforward and stateless; actual reassembly of
fragments is neither.

I also advocate that sending a MRSS (Maximum Reassembled Segment Size)
option be an unambiguous indication that an implementation supports
reassembly of fragments. My take is that the number of fragments that can
be accepted is an implementation-defined limit and thus a Quality of
Implementation matter and does not need to be standardized. A sender that
has received both the MSS and MRSS options from a particular destination
will have a very strong hint on when and how to fragment a datagram sent to
that destination.

FWIW, I think that the MRSS option is a valuable addition to the spec. I
wish I'd thought of it!

Thanks and regards,

Mike Heard