Re: [tsvwg] A counterproposal to Section 5.5 of draft-ietf-tsvwg-udp-options-12

Joseph Touch <touch@strayalpha.com> Fri, 11 June 2021 04:43 UTC

Return-Path: <touch@strayalpha.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 6F1693A2805 for <tsvwg@ietfa.amsl.com>; Thu, 10 Jun 2021 21:43:03 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.319
X-Spam-Level:
X-Spam-Status: No, score=-1.319 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, SPF_HELO_NONE=0.001, SPF_NEUTRAL=0.779, URIBL_BLOCKED=0.001] autolearn=no autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=strayalpha.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 FmXyr0ivh0UZ for <tsvwg@ietfa.amsl.com>; Thu, 10 Jun 2021 21:42:59 -0700 (PDT)
Received: from server217-4.web-hosting.com (server217-4.web-hosting.com [198.54.116.98]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id F069D3A2804 for <tsvwg@ietf.org>; Thu, 10 Jun 2021 21:42:58 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=strayalpha.com; s=default; h=To:References:Message-Id: Content-Transfer-Encoding:Cc:Date:In-Reply-To:From:Subject:Mime-Version: Content-Type:Sender:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id: List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=cvo4GVn9fKD12vq85S6QOreEJLhluDWZOTOUy7Glirg=; b=ZpMW6w1IpqXqMBwLiLNOAWqw/q kf2LyVv26cm66VZHG1kbifo4s+0SgMp3THUDSiXaoHELzASsBsG6upygUCgqRUgJ4+LkzKmvPPdOn RjKlk0wG73dA0fYOvpGMU/+eOFR6+02rp82T0WrYT7HMY1h0OqXXzreAhKy7IXgVcmZai/BiMFZy1 pEw3DIXCBDDo2R8/U+rxoqAsoLzgHzAkONxYCdMkfpLQ5Fz8yKW1V4nI7xBfRt+eHEfAyNw/A98X+ Apgh53fkUpQ0UxsOcHsoTt/YBlzCVZiEGk9rIa46G4rvMw5qT/q98MKZvRCyzUi10IzfRuVQn5344 NuaQVtcw==;
Received: from cpe-172-250-225-198.socal.res.rr.com ([172.250.225.198]:64925 helo=[192.168.1.14]) by server217.web-hosting.com with esmtpsa (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from <touch@strayalpha.com>) id 1lrZ0P-002jkH-1h; Fri, 11 Jun 2021 00:42:57 -0400
Content-Type: text/plain; charset="utf-8"
Mime-Version: 1.0 (Mac OS X Mail 14.0 \(3654.60.0.2.21\))
From: Joseph Touch <touch@strayalpha.com>
In-Reply-To: <CACL_3VFE4TjKvmkfZjvNpWo6vVfKjz5w85=Q+yqnYZKcwbYLmQ@mail.gmail.com>
Date: Thu, 10 Jun 2021 21:42:51 -0700
Cc: TSVWG <tsvwg@ietf.org>
Content-Transfer-Encoding: quoted-printable
Message-Id: <63FFC34B-2179-47F1-B325-21CAC3D1543A@strayalpha.com>
References: <CACL_3VEyLdQZ-3hvzXxyA8ehtWs2hXESZ2OqyAx+BeSg85+-cA@mail.gmail.com> <CACL_3VFE4TjKvmkfZjvNpWo6vVfKjz5w85=Q+yqnYZKcwbYLmQ@mail.gmail.com>
To: "C. M. Heard" <heard@pobox.com>
X-Mailer: Apple Mail (2.3654.60.0.2.21)
X-OutGoing-Spam-Status: No, score=-0.5
X-AntiAbuse: This header was added to track abuse, please include it with any abuse report
X-AntiAbuse: Primary Hostname - server217.web-hosting.com
X-AntiAbuse: Original Domain - ietf.org
X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12]
X-AntiAbuse: Sender Address Domain - strayalpha.com
X-Get-Message-Sender-Via: server217.web-hosting.com: authenticated_id: touch@strayalpha.com
X-Authenticated-Sender: server217.web-hosting.com: touch@strayalpha.com
X-Source:
X-Source-Args:
X-Source-Dir:
X-From-Rewrite: unmodified, already matched
Archived-At: <https://mailarchive.ietf.org/arch/msg/tsvwg/mOLwX0WtVqABJ50dDJe5vRUYNZg>
Subject: Re: [tsvwg] A counterproposal to Section 5.5 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: Fri, 11 Jun 2021 04:43:04 -0000

Hi, Mike, 

> On Jun 3, 2021, at 7:22 PM, C. M. Heard <heard@pobox.com> wrote:
> 
> TSVWG,
> 
> In a previous message, I made some rather unkind comments about he FRAG option as proposed in Section 5.5 of draft-ietf-tsvwg-udp-options-12. In this missive I wish to present proposed relacement text for the entire section. 

Your proposal focuses on making the  FRAG option last in non-terminal fragments.

FIRST, note that “offset” in the FRAG option should really be named “”frag length”; it’s there so there can be options after the frags and (at least originally) helped the FRAG/LITE combination support RDMA.

I appreciate that this was garbled/lost in the conversion from FRAG/LITE to just FRAG; I’ll be fixing that.

Overall, I think this proposal does raise two issues indirectly:
a. Do we need to support RDMA for fragments
b. Do we need a post-reassembly checksum

See below for details. Until we answer those, we don’t quite know how to proceed.

Joe

—

So regarding a new format, I think the only real question is whether we keep RDMA support. Here’s why:

Regarding non-terminal FRAG be last:
- we could require options before the non-terminal frags
- however, that also means that we need to consider whether not having FRAG as early as possible would impact RDMA
	right now, we recommend moving it early to make RDMA move fewer bytes to ‘adjust’

Regarding the formats: 
- I prefer uniform TLV format even for options whose length doesn’t change (yes, even changing OCS to do this; only NOP and EOL should be exceptions)
- we still need options after the terminal fragment, e.g., if someone wants to perform AE on the reassembled packet but not the individual fragments (which could improve performance and reduce overhead), or if there are other behaviors (time, echo, etc.) intended on the reassembled packet but not any individual fragment (such as echo only when the whole packet gets there, not just the terminal one).

The question of whether we need a MF bit (or byte) depends on whether we want to retain the post-reassembly required checksum or not. Yes, it’s possible this might not be needed, but it was added by what I understood to be consensus. If we don’t need that, we can drop it.

So at that point, we really have only a few decisions:

- do we want/need RDMA support?
	if not, we ditch the frag length in non-terminal frags

- do we want to ditch the required post-reassembly checksum?
	if so, we ditch that field in the terminal frag

THEN we compare the answers to decide how to handle the MF issue:
	- if we still end up with different length options, length indicates MF
	- if not, we might be better off burning two codepoints on FRAG/TERMFRAG than a byte
	(a single byte throws off our fields as odd-length AND needs to be checked for values not 0 or 1)

Joe