Re: [tsvwg] Remaining issues for draft-ietf-tsvwg-udp-options-22
"C. M. Heard" <heard@pobox.com> Thu, 29 June 2023 21:44 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 A9133C14CE5F for <tsvwg@ietfa.amsl.com>; Thu, 29 Jun 2023 14:44:44 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.796
X-Spam-Level:
X-Spam-Status: No, score=-2.796 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, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=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 ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id uSP6wIjIm2qF for <tsvwg@ietfa.amsl.com>; Thu, 29 Jun 2023 14:44:40 -0700 (PDT)
Received: from pb-smtp2.pobox.com (pb-smtp2.pobox.com [64.147.108.71]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id DDD5AC14CEF9 for <tsvwg@ietf.org>; Thu, 29 Jun 2023 14:44:39 -0700 (PDT)
Received: from pb-smtp2.pobox.com (unknown [127.0.0.1]) by pb-smtp2.pobox.com (Postfix) with ESMTP id C9D6219C5D9 for <tsvwg@ietf.org>; Thu, 29 Jun 2023 17:44:38 -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=ozkARudBqRKN7mwBvhcTcqvZzODhYMxx JWRVueW/pvk=; b=va/+smphRTzeve+xw1oYXuS3Sl3xFBCbmu1M1WQnRHvd8llt u3zGkh8tZU/iALTT7Jyx3LkBYtakAuzAp2aZyet+Na7AhGqAE7GRdPEhLQ0DGWau /5h0vkmAX0dz/cbp66oyNCzYU57jjUP/XmPWuGiM4k14ICdQsjYoNWp9fgE=
Received: from pb-smtp2.nyi.icgroup.com (unknown [127.0.0.1]) by pb-smtp2.pobox.com (Postfix) with ESMTP id C0F3119C5D8 for <tsvwg@ietf.org>; Thu, 29 Jun 2023 17:44:38 -0400 (EDT) (envelope-from heard@pobox.com)
Received: from mail-wm1-f53.google.com (unknown [209.85.128.53]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by pb-smtp2.pobox.com (Postfix) with ESMTPSA id 2CED019C5D6 for <tsvwg@ietf.org>; Thu, 29 Jun 2023 17:44:38 -0400 (EDT) (envelope-from heard@pobox.com)
Received: by mail-wm1-f53.google.com with SMTP id 5b1f17b1804b1-3fba5a8af2cso11897465e9.3 for <tsvwg@ietf.org>; Thu, 29 Jun 2023 14:44:38 -0700 (PDT)
X-Gm-Message-State: AC+VfDySEo0sD/LmxEO6NU6pg8XhsMbR9TzuxSHsB9dnCYgWa4JB+Z5b HnAxIaOMTPPSFGr2F1JcDiOOBshDj2a7WvsLrU0=
X-Google-Smtp-Source: ACHHUZ7ssSeox5hHeeDnwi6cJSS2s724MJDIC/4XZ7bJfk5902b6qkkH6X1tG+W1S7V4PjF/Rr/vOKIlxnXcqk9qEZw=
X-Received: by 2002:a05:600c:cf:b0:3fb:a102:6d7a with SMTP id u15-20020a05600c00cf00b003fba1026d7amr388557wmm.28.1688075077224; Thu, 29 Jun 2023 14:44:37 -0700 (PDT)
MIME-Version: 1.0
References: <0BE474C0-9227-4E20-8E88-E56C8769A2A5@strayalpha.com> <79CA7F65-335D-4A93-8BBE-9E4FAFCC6D2C@gmx.de> <FA4064D9-D37D-4590-BB77-2F2C37421BDC@strayalpha.com> <6E04EE05-2E36-4B3A-ABB4-A4E22B233B50@gmx.de> <CACL_3VFNHVLc89BO_n12gKid6p0Y2tJ+-ThB0x_wGkMCMnSESA@mail.gmail.com> <14F6EC62-311B-46B3-8B80-7263345BCB80@gmx.de> <CACL_3VH4Zw_vVudO5WiFrD7AC5JhHXiSWfhW5Wu5O7W_rBYfMA@mail.gmail.com> <026B4018-4F96-49B4-B73A-E7F33FEE8A15@gmx.de> <CACL_3VEw4koyJSX3xA3UJ1Vikg+F9PPw1G030jQPHhZdoOETSA@mail.gmail.com> <d34aa821-207d-78eb-ead2-e2d918939dcf@erg.abdn.ac.uk> <20230629162807.GA8600@unix-ag.uni-kl.de>
In-Reply-To: <20230629162807.GA8600@unix-ag.uni-kl.de>
From: "C. M. Heard" <heard@pobox.com>
Date: Thu, 29 Jun 2023 14:44:24 -0700
X-Gmail-Original-Message-ID: <CACL_3VGzx56CTdWJeEvLL5yEWUjLT9wTsXBTDEpWTdaxE7T23w@mail.gmail.com>
Message-ID: <CACL_3VGzx56CTdWJeEvLL5yEWUjLT9wTsXBTDEpWTdaxE7T23w@mail.gmail.com>
To: Erik Auerswald <auerswal@unix-ag.uni-kl.de>
Cc: Gorry Fairhurst <gorry@erg.abdn.ac.uk>, Joe Touch <touch@strayalpha.com>, TSVWG <tsvwg@ietf.org>
Content-Type: multipart/alternative; boundary="00000000000055102b05ff4b9bb8"
X-Pobox-Relay-ID: 25688174-16C6-11EE-8A41-307A8E0A682E-06080547!pb-smtp2.pobox.com
Archived-At: <https://mailarchive.ietf.org/arch/msg/tsvwg/vjan7AswCKaaeDF12oc9JlMHEk0>
Subject: Re: [tsvwg] Remaining issues for draft-ietf-tsvwg-udp-options-22
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: Thu, 29 Jun 2023 21:44:44 -0000
On Thu, Jun 29, 2023 at 9:28 AM Erik Auerswald wrote: > > > * Section 9.4: Agreed text for the (simplest) way to handle options > > in fragments of a datagram. > > I have to admit that I am utterly confused by section 9.4. > > I do not understand how both "[n]on-terminal fragments never have > options after the fragment" and "The RDOS field enables the FRAG option > to precede other options in every fragment" can be true at the same time. It cannot. This is a serious bug in the spec that I have been objecting to for over a year. If you have not done so already, please review https://mailarchive.ietf.org/arch/msg/tsvwg/D99trU_nsq4rRGT24gNeeDnkfoE/ > Then "Frag. Start" seems to only be defined for the non-terminal FRAG > option format, but it is also part of the terminal FRAG option format. That is not true. "Frag. Start" and "Frag. Offset" are defined in both terminal and non-terminal fragments (look carefully at Figure 10 and Figure 11). "Frag. Start" is measured relative to the beginning of the on-the-wire UDP packet containing the fragment (this includes the UDP header, but not any lower layer headers). "Frag. Offset" is measured relative to the beginning of the UDP header of the original UDP datagram, before fragmentation or after reassembly. Reassembled Datagram Option Start (RDOS) is present only in terminal fragments. Like Frag. Offset, it is measured relative to the beginning of the UDP header of the original UDP datagram, before fragmentation or after reassembly. > The RDOS description uses an IMHO surprising order to describe checks > regarding its value: > > - Case 1: RDOS > Frag. Start of the first fragment (offset=8) > > - Case 2: RDOS == end of the original IP packet > > - Case 3: RDOS < Frag. Start of the first fragment > > It seems to me as if case 2 is a subset of case 1, i.e., I'd say that it > might be easier to comprehend the logic if case 1 would be tightened to: > > Frag. Start of the first fragment (offset=8) < RDOS < end of the > original IP packet > > It might also be helpful to specify how to treat RDOS == Frag. Start of > the first fragment. Comparing RDOS with Frag. Start is just plain nonsense. The fundamental problem is that RDOS and Frag. Start are referenced to different entities (reassembled datagram for one, on-the-wire fragment for the other), and thus are incommensurable (not comparable). The two are not related. In theory, RDOS and Frag. Start COULD be made inter-related, at least in atomic fragments, but only at the expense of a poorly-motivated complication to an already complicated specification, The expense would be special-case processing of atomic fragments, which would surely complicate offload of fragmentation and reassembly. > I would like to suggest considering a complete rewrite of the FRAG > description. I don't think that is necessary. I think if the following text is removed from Section 9.4, the rest of the section will make sense. --cut here-- If RDOS is larger than Frag. Start of the first fragment (offset=8), then all the per-packet options occur before the user data as it is reassembled. If RDOS points to the end of the original IP packet, then there are no per-packet options. If RDOS is smaller than Frag. Start of the first fragment, then it indicates the end of the per- fragment options (of the first fragment) and the start of per-packet options (of the reassembled user data). The RDOS field enables the FRAG option to precede other options in every fragment and to enable all packet options to precede user data, enabling easier support for reassembly offload via DMA and to support limited router option processing hardware. --end-- --cut here-- Note: per packet options can occur either at the end of the original user data or be placed after the FRAG option of the first segment, with the Reassembled Datagram Option Start (RDOS) in the terminal FRAG option set accordingly. This includes its use in atomic fragments, where the terminal option is the initial and only fragment. --end-- It would also help to rework the paragraph under Figure 10 as follows: OLD In the non-terminal FRAG option format, Frag. Start indicates the location of the beginning of the fragment data, measured from the beginning of the UDP header of the fragment. The fragment data follows the remainder of the UDP options and continues to the end of the IP datagram (i.e., the end of the surplus area). Those options are applied to this UDP fragment. Non-terminal fragments never have options after the fragment. NEW Frag. Start indicates the location of the beginning of the fragment data, measured from the beginning of the UDP header of the fragment. The fragment data follows the remainder of the UDP options and continues to the end of the IP datagram (i.e., the end of the surplus area). Those options are applied to this UDP fragment. Granted, with those changes systems that can only process a limited distance into a packet will be limited to per-fragment options. But IMO we should not be complicating the design to accommodate such systems. Mike Heard
- [tsvwg] Comments on draft-ietf-tsvwg-udp-options-… C. M. Heard
- Re: [tsvwg] Comments on draft-ietf-tsvwg-udp-opti… C. M. Heard
- Re: [tsvwg] Comments on draft-ietf-tsvwg-udp-opti… touch@strayalpha.com
- Re: [tsvwg] Comments on draft-ietf-tsvwg-udp-opti… touch@strayalpha.com
- [tsvwg] Comments on draft-ietf-tsvwg-udp-options-… C. M. Heard
- Re: [tsvwg] Comments on draft-ietf-tsvwg-udp-opti… touch@strayalpha.com
- Re: [tsvwg] Comments on draft-ietf-tsvwg-udp-opti… C. M. Heard
- Re: [tsvwg] Comments on draft-ietf-tsvwg-udp-opti… Tom Herbert
- Re: [tsvwg] Comments on draft-ietf-tsvwg-udp-opti… touch@strayalpha.com
- Re: [tsvwg] Comments on draft-ietf-tsvwg-udp-opti… Sebastian Moeller
- Re: [tsvwg] Comments on draft-ietf-tsvwg-udp-opti… touch@strayalpha.com
- Re: [tsvwg] Comments on draft-ietf-tsvwg-udp-opti… Sebastian Moeller
- Re: [tsvwg] Comments on draft-ietf-tsvwg-udp-opti… touch@strayalpha.com
- Re: [tsvwg] Comments on draft-ietf-tsvwg-udp-opti… Sebastian Moeller
- Re: [tsvwg] Comments on draft-ietf-tsvwg-udp-opti… C. M. Heard
- Re: [tsvwg] Comments on draft-ietf-tsvwg-udp-opti… Sebastian Moeller
- Re: [tsvwg] Comments on draft-ietf-tsvwg-udp-opti… C. M. Heard
- Re: [tsvwg] Comments on draft-ietf-tsvwg-udp-opti… Sebastian Moeller
- Re: [tsvwg] Comments on draft-ietf-tsvwg-udp-opti… C. M. Heard
- [tsvwg] Remaining issues for draft-ietf-tsvwg-udp… Gorry Fairhurst
- Re: [tsvwg] Remaining issues for draft-ietf-tsvwg… Sebastian Moeller
- Re: [tsvwg] Remaining issues for draft-ietf-tsvwg… Gorry Fairhurst
- Re: [tsvwg] Remaining issues for draft-ietf-tsvwg… C. M. Heard
- Re: [tsvwg] Remaining issues for draft-ietf-tsvwg… Tom Herbert
- Re: [tsvwg] Remaining issues for draft-ietf-tsvwg… Gorry Fairhurst
- Re: [tsvwg] Remaining issues for draft-ietf-tsvwg… C. M. Heard
- Re: [tsvwg] Remaining issues for draft-ietf-tsvwg… Tom Herbert
- Re: [tsvwg] Remaining issues for draft-ietf-tsvwg… C. M. Heard
- Re: [tsvwg] Remaining issues for draft-ietf-tsvwg… Tom Herbert
- Re: [tsvwg] Remaining issues for draft-ietf-tsvwg… Gorry Fairhurst
- Re: [tsvwg] Remaining issues for draft-ietf-tsvwg… Tom Herbert
- Re: [tsvwg] Remaining issues for draft-ietf-tsvwg… Gorry Fairhurst
- Re: [tsvwg] Remaining issues for draft-ietf-tsvwg… Tom Herbert
- Re: [tsvwg] Remaining issues for draft-ietf-tsvwg… Gorry Fairhurst
- Re: [tsvwg] Remaining issues for draft-ietf-tsvwg… Tom Herbert
- Re: [tsvwg] Remaining issues for draft-ietf-tsvwg… Gorry Fairhurst
- Re: [tsvwg] Remaining issues for draft-ietf-tsvwg… C. M. Heard
- Re: [tsvwg] Remaining issues for draft-ietf-tsvwg… Tom Herbert
- Re: [tsvwg] Remaining issues for draft-ietf-tsvwg… C. M. Heard
- Re: [tsvwg] Remaining issues for draft-ietf-tsvwg… Tom Herbert
- Re: [tsvwg] Remaining issues for draft-ietf-tsvwg… C. M. Heard
- Re: [tsvwg] Remaining issues for draft-ietf-tsvwg… Erik Auerswald
- Re: [tsvwg] Remaining issues for draft-ietf-tsvwg… C. M. Heard
- Re: [tsvwg] Remaining issues for draft-ietf-tsvwg… Erik Auerswald
- Re: [tsvwg] Remaining issues for draft-ietf-tsvwg… Erik Auerswald
- Re: [tsvwg] Remaining issues for draft-ietf-tsvwg… C. M. Heard
- Re: [tsvwg] Remaining issues for draft-ietf-tsvwg… Gorry Fairhurst
- Re: [tsvwg] Remaining issues for draft-ietf-tsvwg… Erik Auerswald
- Re: [tsvwg] Remaining issues for draft-ietf-tsvwg… Sebastian Moeller
- Re: [tsvwg] Remaining issues for draft-ietf-tsvwg… Christian Huitema
- Re: [tsvwg] Remaining issues for draft-ietf-tsvwg… Gorry Fairhurst
- Re: [tsvwg] Remaining issues for draft-ietf-tsvwg… Erik Auerswald
- Re: [tsvwg] Remaining issues for draft-ietf-tsvwg… Erik Auerswald
- Re: [tsvwg] Comments on draft-ietf-tsvwg-udp-opti… Gorry Fairhurst
- Re: [tsvwg] Comments on draft-ietf-tsvwg-udp-opti… Tom Herbert
- Re: [tsvwg] Comments on draft-ietf-tsvwg-udp-opti… Gorry Fairhurst
- Re: [tsvwg] Comments on draft-ietf-tsvwg-udp-opti… C. M. Heard
- Re: [tsvwg] Comments on draft-ietf-tsvwg-udp-opti… touch@strayalpha.com
- Re: [tsvwg] Comments on draft-ietf-tsvwg-udp-opti… Tom Herbert
- Re: [tsvwg] Comments on draft-ietf-tsvwg-udp-opti… C. M. Heard
- Re: [tsvwg] Comments on draft-ietf-tsvwg-udp-opti… Tom Herbert