Re: [tsvwg] I-D Action: draft-ietf-tsvwg-udp-options-26.txt
"touch@strayalpha.com" <touch@strayalpha.com> Tue, 14 November 2023 22:23 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 70BB1C14F747 for <tsvwg@ietfa.amsl.com>; Tue, 14 Nov 2023 14:23:21 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.326
X-Spam-Level:
X-Spam-Status: No, score=-1.326 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_MSPIKE_H2=-0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_NEUTRAL=0.779, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=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 ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id ZyoInZqrK2kT for <tsvwg@ietfa.amsl.com>; Tue, 14 Nov 2023 14:23:17 -0800 (PST)
Received: from server217-3.web-hosting.com (server217-3.web-hosting.com [198.54.115.226]) (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 515D9C14F73E for <tsvwg@ietf.org>; Tue, 14 Nov 2023 14:23:17 -0800 (PST)
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=xhxih4UOy8iUZvffY5ESWlRK8N7xrX63OpCBCSONcJI=; b=lVKR73KBySAtK3FRvUEWSnZ4gy VSx7NRvJMiO8SHO88Qxt2sDy1tjACURzCXI9xBdoC/IMpliwpBJex9CzJHODt3rNd8EChwdlUS0Gn mjfiI5GMWtpnE83DB/XoZsgur9A2aGq6sDn+/uCvBjl219sZAIk6WcRVTdbSY3KuHettcqDh98Non Jtk5hESdeSVf4qri/rgv+YSoG7f0sjoYcuWFt7BoBS14Jbtg1xl6B1m3UyhB6nkf03Wl+DXtdSo44 HLGmKvjw26Gv0jauwbvlYXsrPNmKfwI8CuWHMMJS1cyIIzhcn0XpFt5DcD9QUORmx+R7c1m4aNnRP 6/WNfO3w==;
Received: from [172.58.208.253] (port=1514 helo=smtpclient.apple) by server217.web-hosting.com with esmtpsa (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96.1) (envelope-from <touch@strayalpha.com>) id 1r31oN-004m6E-03; Tue, 14 Nov 2023 17:23:16 -0500
Content-Type: multipart/alternative; boundary="Apple-Mail=_C5E790C0-F6B5-4A12-A8D9-4415FF959636"
Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3774.100.2.1.4\))
From: "touch@strayalpha.com" <touch@strayalpha.com>
In-Reply-To: <CALx6S35muW64=4u5TxL8pJNp+O22rgCfYFFBQBe-yCKyrvk_Nw@mail.gmail.com>
Date: Tue, 14 Nov 2023 14:22:58 -0800
Cc: Tom Herbert <tom=40herbertland.com@dmarc.ietf.org>, tsvwg@ietf.org
Message-Id: <75F94F15-2010-4203-B190-3EB9E1C45F32@strayalpha.com>
References: <169984876885.35483.2297882415479823305@ietfa.amsl.com> <CALx6S35qFHhQw+286ecU=utk-iLVgZVWDFrx0k-nhSXyjMscSA@mail.gmail.com> <CACL_3VGqVHW+v5zNNfz52G6LVbhM4xYcXSsHjEvqqmWg1TcGJw@mail.gmail.com> <CALx6S3775Vc166ZkOZo4kdv1hvVYoOQ6BQ4j21rOLSoqwB-e9g@mail.gmail.com> <AE32F036-5A9A-4C96-A2F0-BEB319AC5007@strayalpha.com> <CALx6S35muW64=4u5TxL8pJNp+O22rgCfYFFBQBe-yCKyrvk_Nw@mail.gmail.com>
To: Tom Herbert <tom@herbertland.com>
X-Mailer: Apple Mail (2.3774.100.2.1.4)
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/F00BbrvivadFpiFtAVUkMv-kj7A>
Subject: Re: [tsvwg] I-D Action: draft-ietf-tsvwg-udp-options-26.txt
X-BeenThere: tsvwg@ietf.org
X-Mailman-Version: 2.1.39
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: Tue, 14 Nov 2023 22:23:21 -0000
See below... — Dr. Joe Touch, temporal epistemologist www.strayalpha.com > On Nov 14, 2023, at 2:18 PM, Tom Herbert <tom@herbertland.com> wrote: > > On Tue, Nov 14, 2023 at 2:02 PM touch@strayalpha.com > <touch@strayalpha.com> wrote: >> >> See below... >> >>> On Nov 14, 2023, at 1:19 PM, Tom Herbert <tom=40herbertland.com@dmarc.ietf.org> wrote: >>> >>> On Tue, Nov 14, 2023 at 12:01 PM C. M. Heard <heard@pobox.com> wrote: >>>> >>>> IMO, very few currently defined options that are passed to the user are actually useful as per-fragment options, >>>> >>>> In general, options that are transmitted from the upper layer at one end to the upper layer at the other end without processing by UDP options layer other than packaging are ill-suited to being per-fragment options because they cannot be used to provide per-fragment effects. MDS, MRDS, REQ, RES, anf TIME are all in this category. >>>> >>>> APC does require substantive processing by UDP options (specifically, a checksum calculation), but it cannot not do anything useful as a per-fragment option. By definition, it covers the UDP payload in the packet where it appears, and there is no UDP payload on a fragment. >>> >>> Mike, >>> >>> I don't see in the draft where it says that. The wording in the draft >>> is: "It [APC] is an "alternate" to the UDP checksum that covers the >>> user data". A fragment contains user data >> >> Fragments do not contain “user data”, i.e., there is no UDP user payload. The UDP length is 8. >> > > The term "user data" is ambiguous.I read this as any data created by > the user which would include the data in fragments. If you mean this > covers the UDP payload of a reassembled packet then why not just say > that explicitly? We do when describing APC. That’s the P in APC. This thread has been ambiguous in comparison. > >> It’s not so much that you can’t use APC, it’s that it would only protect the pseudoheader. In fragments, the user data is in the surplus area. > > But you just said above, "Fragments do not contain “user data” :-). > Please use unambiguous terminology. Fragments contain no UDP payload; APC operates over *only* the UDP payload. And to be clear, APC does NOT protect the pseudo header; doing so would make it useless when traversing a NAT. My mistake there. Joe > > Tom > >> >> Joe >> >>> and I don't see any >>> requirement that states it's not allowed to be used with fragments. So >>> by my reading it is valid where the CRC is performed over the user >>> data in each packet. I believe it's also useful as doing CRC per >>> fragment makes it a lot easier to offload the CRC computation to >>> hardware, and it's more accurate over smaller amounts of data. >>> >>> Tom >>> >>>> Hence in a fragment a value of all-ones will give a correct CRC32c, and anything else would give an incorrect CRC32c, independently of whatever else is in the fragment or reassembled datagram. >>>> >>>> In principle, AUTH and UENC could be useful as per-fragment options by providing coverage for the fragment header as well as the payload. I will note, however, that the IPsec AH does NOT protect the IP fragmentation fields: "If required, IP fragmentation occurs after AH processing within an IPsec implementation. Thus, transport mode AH is applied only to whole IP datagrams (not to IP fragments)." >>>> >>>> Having to process options during the fragmentation and reassembly processes is clearly a burden on the implementation, and if it's one that does not result in anything clearly useful, we may want to consider dropping it. >>>> The one place where I have seen a clear use case would be in network options, and I believe that the consensus of the WG is that we would not be going there, at least for now. If we wish to future-proof the spec by including the possibility of per-fragment options either before or after the FRAG header as we do now, maybe that's acceptable, but if we do, I think that an implementation should be allowed to ignore per-fragment options that are really only meaningful as per-datagram options, and the option specifications should say as much. My preference, which I stated long ago, would be to have no per-fragment options and require the FRAG header to appear immediately after the UDP header, as I believe that this will lead to a more unambiguous spec and cleaner and simpler implementations. That being said, I am willing to acquiesce to what we have, for the sake of getting a spec shipped, as long as there is clarity for each and every option in what roles (per-fragment or per-datagram) it can be used. >>>> >>>> Thanks >>>> >>>> Mie Heard >>>> >>>> >>>> On Mon, Nov 13, 2023 at 8:00 AM Tom Herbert <tom=40herbertland.com@dmarc.ietf.org> wrote: >>>>> >>>>>> From the new draft: >>>>> >>>>>>> Options and their processing status (success/fail) MUST be provided to the user, except for FRAG, NOP, and EOL; those three options are handled within UDP option processing only. >>>>> >>>>> How does this work for per fragment options? Are options for each >>>>> fragment passed to the user in a list with the reassembled packet? How >>>>> would something like APC work if it's set in a per fragment option? >>>>> >>>>> Tom >>>>> >>>>> On Sun, Nov 12, 2023 at 8:13 PM <internet-drafts@ietf.org> wrote: >>>>>> >>>>>> Internet-Draft draft-ietf-tsvwg-udp-options-26.txt is now available. It is a >>>>>> work item of the Transport and Services Working Group (TSVWG) WG of the IETF. >>>>>> >>>>>> Title: Transport Options for UDP >>>>>> Author: Joe Touch >>>>>> Name: draft-ietf-tsvwg-udp-options-26.txt >>>>>> Pages: 51 >>>>>> Dates: 2023-11-12 >>>>>> >>>>>> Abstract: >>>>>> >>>>>> Transport protocols are extended through the use of transport header >>>>>> options. This document extends UDP by indicating the location, >>>>>> syntax, and semantics for UDP transport layer options. >>>>>> >>>>>> The IETF datatracker status page for this Internet-Draft is: >>>>>> https://datatracker.ietf.org/doc/draft-ietf-tsvwg-udp-options/ >>>>>> >>>>>> There is also an HTMLized version available at: >>>>>> https://datatracker.ietf.org/doc/html/draft-ietf-tsvwg-udp-options-26 >>>>>> >>>>>> A diff from the previous version is available at: >>>>>> https://author-tools.ietf.org/iddiff?url2=draft-ietf-tsvwg-udp-options-26 >>>>>> >>>>>> Internet-Drafts are also available by rsync at: >>>>>> rsync.ietf.org::internet-drafts >>>>>> >>>>>> >>>>> >>> >>
- [tsvwg] I-D Action: draft-ietf-tsvwg-udp-options-… internet-drafts
- Re: [tsvwg] I-D Action: draft-ietf-tsvwg-udp-opti… touch@strayalpha.com
- Re: [tsvwg] I-D Action: draft-ietf-tsvwg-udp-opti… Erik Auerswald
- Re: [tsvwg] I-D Action: draft-ietf-tsvwg-udp-opti… touch@strayalpha.com
- Re: [tsvwg] I-D Action: draft-ietf-tsvwg-udp-opti… touch@strayalpha.com
- Re: [tsvwg] I-D Action: draft-ietf-tsvwg-udp-opti… Tom Herbert
- Re: [tsvwg] I-D Action: draft-ietf-tsvwg-udp-opti… Tom Herbert
- Re: [tsvwg] I-D Action: draft-ietf-tsvwg-udp-opti… touch@strayalpha.com
- Re: [tsvwg] I-D Action: draft-ietf-tsvwg-udp-opti… touch@strayalpha.com
- Re: [tsvwg] I-D Action: draft-ietf-tsvwg-udp-opti… touch@strayalpha.com
- Re: [tsvwg] I-D Action: draft-ietf-tsvwg-udp-opti… touch@strayalpha.com
- Re: [tsvwg] I-D Action: draft-ietf-tsvwg-udp-opti… Tom Herbert
- Re: [tsvwg] I-D Action: draft-ietf-tsvwg-udp-opti… C. M. Heard
- Re: [tsvwg] I-D Action: draft-ietf-tsvwg-udp-opti… C. M. Heard
- Re: [tsvwg] I-D Action: draft-ietf-tsvwg-udp-opti… Joe Touch
- Re: [tsvwg] I-D Action: draft-ietf-tsvwg-udp-opti… C. M. Heard
- Re: [tsvwg] I-D Action: draft-ietf-tsvwg-udp-opti… touch@strayalpha.com
- Re: [tsvwg] I-D Action: draft-ietf-tsvwg-udp-opti… C. M. Heard
- Re: [tsvwg] I-D Action: draft-ietf-tsvwg-udp-opti… touch@strayalpha.com
- Re: [tsvwg] I-D Action: draft-ietf-tsvwg-udp-opti… touch@strayalpha.com
- Re: [tsvwg] I-D Action: draft-ietf-tsvwg-udp-opti… Erik Auerswald
- Re: [tsvwg] I-D Action: draft-ietf-tsvwg-udp-opti… C. M. Heard
- Re: [tsvwg] I-D Action: draft-ietf-tsvwg-udp-opti… Tom Herbert
- Re: [tsvwg] I-D Action: draft-ietf-tsvwg-udp-opti… touch@strayalpha.com
- Re: [tsvwg] I-D Action: draft-ietf-tsvwg-udp-opti… Christian Huitema
- Re: [tsvwg] I-D Action: draft-ietf-tsvwg-udp-opti… Tom Herbert
- Re: [tsvwg] I-D Action: draft-ietf-tsvwg-udp-opti… Tom Herbert
- Re: [tsvwg] I-D Action: draft-ietf-tsvwg-udp-opti… Gorry Fairhurst
- Re: [tsvwg] I-D Action: draft-ietf-tsvwg-udp-opti… Gorry Fairhurst
- Re: [tsvwg] I-D Action: draft-ietf-tsvwg-udp-opti… touch@strayalpha.com
- Re: [tsvwg] I-D Action: draft-ietf-tsvwg-udp-opti… touch@strayalpha.com
- [tsvwg] API specification error introduced in dra… C. M. Heard
- [tsvwg] Ambiguities, potential security issues, a… C. M. Heard
- Re: [tsvwg] Ambiguities, potential security issue… Tom Herbert