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

Joseph Touch <touch@strayalpha.com> Mon, 14 June 2021 18:51 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 C0F003A2E92 for <tsvwg@ietfa.amsl.com>; Mon, 14 Jun 2021 11:51:11 -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, HTML_MESSAGE=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 Qwot1kT2G1Ff for <tsvwg@ietfa.amsl.com>; Mon, 14 Jun 2021 11:51:06 -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 A81C23A2E66 for <tsvwg@ietf.org>; Mon, 14 Jun 2021 11:51:02 -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:Cc:Date:In-Reply-To: From:Subject:Mime-Version:Content-Type:Sender:Reply-To: Content-Transfer-Encoding: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=yvSA2Gt0HakbUS6n5TUKI++gtAilrA631vZC4eo7cCI=; b=HFptN9YyNmtoqILdr7z2SNIByW 2GdZYlWFzSq5eqjCqmuGSv/rrRMbzu7TY+ogGG8hSlsZfNNSCIfFGZ98G5yzbsTRJDM59pdLr7weh nWO2aiBEV6bJ7Rxsaf3cIeJwGT1NREsuDqU5xyk7KUzMWVqjAeVob2XOTJHCTtI1cLsQXzLQWFi3I CLsfW4ZL1atHf8JOJaN8vBAOHJs6yCnU+lSOqmUykzfirmzNu2ihKk/bNuEbl9teBuGmxq+7YBYc+ ygdQ3P1kxtyUu8FltIG8dSsfQd4uWXC3VrIWxkNy7ineVpjY5yNq8+l6XIktiucnqlAqccgNEYDbS grltowWg==;
Received: from cpe-172-250-225-198.socal.res.rr.com ([172.250.225.198]:50847 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 1lsrfk-003ciy-17; Mon, 14 Jun 2021 14:51:00 -0400
Content-Type: multipart/alternative; boundary="Apple-Mail=_16AD581B-9F8A-474B-A945-02AFD2D0BAC3"
Mime-Version: 1.0 (Mac OS X Mail 14.0 \(3654.100.0.2.22\))
From: Joseph Touch <touch@strayalpha.com>
In-Reply-To: <CACL_3VHCdvkCf-zqbLvsmBZ+964ecUhBuJEiJZi7MFS2dxDMww@mail.gmail.com>
Date: Mon, 14 Jun 2021 11:50:50 -0700
Cc: Gorry Fairhurst <gorry@erg.abdn.ac.uk>, Tom Herbert <tom@herbertland.com>, TSVWG <tsvwg@ietf.org>
Message-Id: <47F0F088-F252-4DB9-AC20-2A1B0D4AE6FF@strayalpha.com>
References: <CACL_3VG9w3xsoOFqit_YHB5gTztWMQrcYo6km2cRtWmwGjHAjg@mail.gmail.com> <60AAD6ED-4506-4C06-BA2D-A918C8197CFB@strayalpha.com> <CACL_3VHCdvkCf-zqbLvsmBZ+964ecUhBuJEiJZi7MFS2dxDMww@mail.gmail.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/fUCqf8g7ZNZFp-82yqJokEhsrMs>
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 18:51:17 -0000


> On Jun 14, 2021, at 11:14 AM, C. M. Heard <heard@pobox.com> wrote:
> 
> On Mon, Jun 14, 2021 at 10:17 AM Joe Touch <touch@strayalpha.com <mailto:touch@strayalpha.com>> wrote:
> Yes, but we still need the fraglen field in the last frag too.
> 
> No, it is not necessary, if every option precedes the FRAG header.
> 
> See the format I posted this am. 
> 
> I did read it. If I correctly understand what you wrote, there is an underlying ASSUMPTION that options that apply per-fragment need to precede the FRAG header and those that apply to the reassembled datagram have to appear afterward.

Yes, it was explicit that this is the distinction. That’s because, ultimately, we don’t know how people will define future options or apply them.

> To be clear, I do not dispute that such a design will work; it will. What I dispute is that it is necessary.
> 
> In the design that I presented earlier, I also made an implicit assumption that whether an option applies to an individual fragment or to the reassembled datagram can be determined from the Option Kind (or UKind or ExID). Going down the list:

First, you can’t go down a list that includes options to be defined, unless we further fracture the option space into pre/post reassembly.

Second, many of the examples you give as “known” are not:
	NOP can be needed for padding in either place.
	UNSAFE can’t be known in advance
	TIME can be per frag (for path RTT) or per segment (aggregate delay)
	REQ/RES can be either as well.
	AE for sure - it’s a trade between per-fragment safety and per-datagram efficiency

Regarding zero copy, none of this matters if we put the FRAG header up front as I just proposed. What was missing was the pointer to where the FRAG option was; instead, I put the option up front and point to the data in the option. Same number of fields, simpler offload processing.

Joe