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

Joseph Touch <touch@strayalpha.com> Mon, 14 June 2021 02:12 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 92C9F3A07C4 for <tsvwg@ietfa.amsl.com>; Sun, 13 Jun 2021 19:12:55 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.318
X-Spam-Level:
X-Spam-Status: No, score=-1.318 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, RCVD_IN_DNSWL_BLOCKED=0.001, 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 YVG2IFnTXfSz for <tsvwg@ietfa.amsl.com>; Sun, 13 Jun 2021 19:12:51 -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 40CE53A07BA for <tsvwg@ietf.org>; Sun, 13 Jun 2021 19:12:50 -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=1CAmVuakfyJYixItZyZKthXz3sqqsKVwl01644D6mNg=; b=iRDhAbRBmnn85T5a0hEZAJSNeB 57x21W35J/I8G7rrl8VhALE2NM+19CHw2bywk6QPzb/QW9AopduMgZ79N13Y3vW697g6p3RwczASB P4rYEK4i9MR/dqh3Jrmoop0kCJTCuPgdfoQ5OQCUeFdS/TwqpC4OCFmDJvHZThz+vmISgCPWKy6VC NfyeEBx3Ik9/n/Dem4IGvmL7N+nRs6f2G9v/uzr9RxThbnGfQZezlspyLJ1U1FseMLuIVLelIhMqb n5f5XgGB1hteEVW1vcbpFDVa3KdU39TQU+d6RkvnHF1AvWoYRWKHFGIO5oSd6+vBKMWyQJ+sFH1bi OhZOaA5Q==;
Received: from cpe-172-250-225-198.socal.res.rr.com ([172.250.225.198]:55874 helo=smtpclient.apple) 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 1lsc5l-000apV-Cr; Sun, 13 Jun 2021 22:12:49 -0400
Content-Type: text/plain; charset="utf-8"
Mime-Version: 1.0 (Mac OS X Mail 14.0 \(3654.100.0.2.22\))
From: Joseph Touch <touch@strayalpha.com>
In-Reply-To: <7D766992-AEEB-434F-BB1D-3817EE07DE61@strayalpha.com>
Date: Sun, 13 Jun 2021 19:12:44 -0700
Cc: TSVWG <tsvwg@ietf.org>
Content-Transfer-Encoding: quoted-printable
Message-Id: <1BBDBD80-3A53-4700-A79F-9A3AE4876F2B@strayalpha.com>
References: <CACL_3VGb_9P5SfPGRJtf1ZBvEhgywc2ZEGr-qbgNOMXV20rFeA@mail.gmail.com> <CACL_3VHyoRr5ju8203DiLTUo-658DCj7ud+1dQE2o0hUPVhF0A@mail.gmail.com> <7D766992-AEEB-434F-BB1D-3817EE07DE61@strayalpha.com>
To: "C. M. Heard" <heard@pobox.com>
X-Mailer: Apple Mail (2.3654.100.0.2.22)
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/wuc5rMq2vMjw_ejUJeuX2ZMUGTI>
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: Mon, 14 Jun 2021 02:12:56 -0000

So, for everyone, getting back to the list and in summary, AFAICT (please let me know if I miss anything):

> On Jun 10, 2021, at 9:07 PM, Joseph Touch <touch@strayalpha.com> wrote:
> 
> - regarding fragment/reassembly as being required

Mike and I (at least) appear to agree that FRAG is required and at least single-frag messages MUST be supported.

I hope we can at least require reassembly of at least 2, if not 4 fragments.

> - regarding removing EOL

I think we agree to keep EOL and:
	- transmitter MUST set everything post EOL as zero
	- receiver MAY check those zeros
	- those zeroes MUST be covered by OCS

> - regarding increasing NOPs

I think we still want a limit, but it MUST NOT be smaller than 7 in a row.

IMO, checks for excessive use of NOPs as DOS should be optional.

> - regarding UNSAFE option format

I think it is probably sufficient to reserve a block of option values for this purpose, BUT not a single bit that would imply options could be “unsafe or not, depending on the flag”. I’ll look at the number space to see what might work (probably at most 25%)

> - regarding AE being safe

Revise so that:
- when used as AUTH, it is safe and can be used wherever
- when used as ENCRYPT (modifying payload data), it MUST be used only as post-FRAG to be safe

Finally, regarding FRAG:
- we need to decide whether we want to support zero-copy (probably a better way of putting it than RDMA)
	if so, then we should also consider whether to allow options after non-terminal fragments
	that would operate on the fragment only (this would help reduce the amount of data that needs to be moved
	to allow zero copy)

- either way
	- non-terminal fragments MUST use FRAG last
	- terminal fragments include post-FRAG options that operate on the entire reassembled fragment

If we DO NOT support zero-copy, the format would be:

	Nonterminal format, where OPTLEN = 8
		KIND/8, OPTLEN/8, FRAGOFFSET/16
		FRAGID/32

	Terminal format, where OPTLEN = 10
		KIND/8, OPTLEN/8, FRAGOFFSET/16
		FRAGID/32
		THISFRAGLEN/16

	FRAGOFFSET = where to place the fragment in the reassembled user data 
	THISFRAGLEN = length of the terminal fragment, i.e., indicating where the post-frag options resume

	(note - this is what we have in the current draft, version -12, except it swaps FRAGOFFSET and THISFRAGLEN
	and omits it from non-terminal fragments)

If we DO support zero-copy and thus want to allow non-terminal fragments to have post-fragoption options that operate on each fragment, then we would add THISFRAGLEN to the nonterminal format and issue different KIND numbers to nonterminal/terminal fragment.

---