Re: [tsvwg] Review of draft-ietf-tsvwg-udp-options-32
Martin Duke <martin.h.duke@gmail.com> Fri, 05 April 2024 16:49 UTC
Return-Path: <martin.h.duke@gmail.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 A962AC15155E; Fri, 5 Apr 2024 09:49:36 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.094
X-Spam-Level:
X-Spam-Status: No, score=-2.094 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, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=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 (2048-bit key) header.d=gmail.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 dnSuW6Gz2Wai; Fri, 5 Apr 2024 09:49:32 -0700 (PDT)
Received: from mail-ua1-x932.google.com (mail-ua1-x932.google.com [IPv6:2607:f8b0:4864:20::932]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id BA69AC151553; Fri, 5 Apr 2024 09:49:32 -0700 (PDT)
Received: by mail-ua1-x932.google.com with SMTP id a1e0cc1a2514c-7e376672375so1068656241.2; Fri, 05 Apr 2024 09:49:32 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1712335772; x=1712940572; darn=ietf.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=HQmJxG+6OqsYHCxRnj+yxrbkWjdaSUII4/9YhJxNd5w=; b=B4JeKb9mKlmj63LVE+xh9w42nC4supHHGU5RVlXfBmy9ivr6VZNJzCtnV6JbnU6N1M 3DYP6yZ2VcNvMa3wKNIFj/wtE/W7o0MLRIUN6CDkKoGDEQT3A1EmBbRXKJnwF3m2GRoY 9LFrgqce/8IfgYC+HJJp/Ciipursr/V4/scB75Ds3p35cJ1HGx+kuJOvux8jEzyH2XKQ Liq6h+vnRhwQO/Cwo8g9+wBpbC9AL9jp1veAFRiOc+FzbINyQ0648c0Anzal99OncFng hEJ5CuqgWGa20W9au342VTlW/Q5KS++m2jeQFKUdQGcUv9vDou6lNyOrMILP+5iG1IJi WkIg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1712335772; x=1712940572; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=HQmJxG+6OqsYHCxRnj+yxrbkWjdaSUII4/9YhJxNd5w=; b=VcZwIN38fyQoYu9zLhvpTecbjhgZKoW17OUD8uY0DT8Ct/9GBl8E/w7doItG+HImcw WXtLDpPj6JMTOxvLv1xLNzzddbU7dq9F8Ioc+YVCPnJdbdNErj6xN5u+y8d1JEpqFssV gWSGaTfvF1zdSg+LMxYOfzD48wuRgFOXRSjPYhGfHbJGEVCfMWaZX/B/JfDk/dERwdKb ITQVDYsMgMLRmVYJVJhGBro6L1UeQXnZ54SFqdO+Ar54P95zyOL0fr8mhpO7ea9mAiKO h3KTGEDEXQxXhuPv0Re3hwCTEbUR8hIQT6PWNei7FNP4ncFHxwBV2CQ8LvZZ66Z8GONA S4XQ==
X-Forwarded-Encrypted: i=1; AJvYcCWNe462+2gbzhIN7mqLPavN4zx0iRZOmllHBskQ3lhHaLob21JCoMcrrpTOGLaXztvZSCDwekkjICoHkjXIZBftxPezw77gExPWnJnlXo/ODbNd8V3SQBMyOw==
X-Gm-Message-State: AOJu0YwCIh7Tgk/XeSQFvm1YLZCmmYB2r3WWZRHk6yX//mV08DukH5i8 8FRgC9ZYyCb2Q3/Y9A6UNmVkE59JawZwWCM+eMvBMQox00JVdilRbpEwwBy43evELbB6pGlVpiL crk1SDDI9ryyonqdbejnN1ySPPgk=
X-Google-Smtp-Source: AGHT+IH7ot1IRzY7EI1w6O/Yt8g4/GBTO2x1bF6qZ4rhKKYKRM5YxNglE8v7jzCEL01yLzhjcL22us7fgo/AiP/u8wE=
X-Received: by 2002:a05:6102:390a:b0:479:e27e:16a0 with SMTP id e10-20020a056102390a00b00479e27e16a0mr1313061vsu.5.1712335771612; Fri, 05 Apr 2024 09:49:31 -0700 (PDT)
MIME-Version: 1.0
References: <CAM4esxSpwRF5E3Xc_hotgvCSdKVe4BY_zRUKAzHvW48JEtWqTA@mail.gmail.com> <CACL_3VGOLkJU1m7pqSXRRouCKwdQ6yrbmaPwoa22Jr-N3FZNzA@mail.gmail.com>
In-Reply-To: <CACL_3VGOLkJU1m7pqSXRRouCKwdQ6yrbmaPwoa22Jr-N3FZNzA@mail.gmail.com>
From: Martin Duke <martin.h.duke@gmail.com>
Date: Fri, 05 Apr 2024 09:49:19 -0700
Message-ID: <CAM4esxSY6uTrE=ta2_rWwvDNmiocu_MVGArvCkecwWwmX4wLjg@mail.gmail.com>
To: "C. M. Heard" <heard@pobox.com>
Cc: tsvwg <tsvwg@ietf.org>, draft-ietf-tsvwg-udp-options.all@ietf.org
Content-Type: multipart/alternative; boundary="0000000000006747c806155c3df7"
Archived-At: <https://mailarchive.ietf.org/arch/msg/tsvwg/yvjU69glx1QctQiaEGukXABcPfs>
Subject: Re: [tsvwg] Review of draft-ietf-tsvwg-udp-options-32
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: Fri, 05 Apr 2024 16:49:36 -0000
Hi Mike, On Thu, Apr 4, 2024 at 2:22 PM C. M. Heard <heard@pobox.com> wrote: > TSVWG went over this ground, to some extent at least, during the initial > discussions of the initial versions of draft-reddy-tsvwg-explcit-signal > (now expired) and draft-kaippallimalil-tsvwg-media-hdr-wireless (still > active). After several threads in which the merits of using UDP options for > host-to-network signaling was discussed (see, e.g., Challenges for host > to network signaling via UDP Options > <https://mailarchive.ietf.org/arch/msg/tsvwg/SpcVd6EB1Zi6FUhhyn2-o6nxuq4/> and > other messages in that thread), I think most in the WG came around to the > position of *not* wanting to see UDP options used for host-to-network > signaling, The chairs are, or course, the folks who can make authoritative > statements, but that was my impression, at least. The current version of > draft-kaippallimalil-tsvwg-media-hdr-wireless does propose to use UDP > options for signaling, but as part of a tunnel encapsulation arrangement, > which does not conflict with the desired E2E nature of UDP options. > Thanks for the pointer. I'm glad that the WG has already done what I've asked. > Some minor points: >> (11.4) It might be worth clarifying at the start that fragmentation is >> purely E2E, not something that routers can do. >> > > Is that not made clear enough by 16 > <https://datatracker.ietf.org/doc/html/draft-ietf-tsvwg-udp-options#section-16>. > UDP Options are for Transport, Not Transit? > It certainly is. But people don't always read the whole document and when I hear "fragmentation" I automatically think about IP. This is definitely just a nit, but if you think it prevents confusion, add it. > (11.4) What if Frag. Start is inconsistent with the location of EOL? >> > > Do you mean when Frag. Start points past the end of the packet? It was > clear enough to me that this would be considered malformed and discarded, > but maybe that's just me being too familiar with the intent, and not > actually scrutinizing the text. > "End of the packet" is a pretty ambiguous phrasing at this point :-). What I mean is, what if the datagram contains zero payload, a FRAG option, a series of other options, EOL, some random bytes, and then the frag start? Is that legal? I gathered that the intent would be that Frag Start was immediately after EOL, but then there are alignment issues, etc. What's legal and what's malformed? > > >> (11.4) 2 fragments/3000 bytes as a minimum will work, of course, but it >> seems like an odd number. This seems to be related to the canonical 1500B >> MTU, but that would imply that 2 fragments would be 2926 for IPv4 and 2886 >> in IPv6, if my math is correct. (To be clear, I can live with 3000) >> > > I had a similar clarification request about what the value of MRDS size > (11.6) means. My assumption is that parameter means the size of the > Original UDP Datagram (or equivalently, the size of the reassembled > datagram) as shown in Figure 12. If that is the case, we would be referring > to the size of the reassembled datagram EXCLUDING the IPv4 or IPV6 headers > but INCLUDING the UDP header and UDP options transmitted over the wire in > the surplus area. The exact numbers are not that important, but a clear > definition is. It may be appropriate to open a Github issue covering these > points. > I agree that the MRDS definition is vague but I don't think MDS is ambiguous at all. It's just that 3000 is a weird number for a minimum because it's 2-point-something datagrams assuming a 1500B MTU. > (11.4) "the OCS value of the original packet SHOULD be zero if each >> fragment will have a non-zero OCS value" >> >> I don't understand the purpose of this. First, it complicates packet >> processing because the full datagram has to use a different OCS >> verification path if it's reassembled. Second, if the fragment OCSes are >> sufficient, why not simply say that the original packet MUST NOT have an >> OCS option? >> > > Actually, the idea was that reassembly could be implemented as a "bump in > the stack" and that the handling of reassembled datagrams would not vary > much from how it's done for datagrams that are not received as fragments. > IPv4 (and under certain circumstances IPv6) allow zero UDP checksum. The > OCS is mandatory when UDP checksum is non-zero and recommended (but not > required) when the UDP checksum is non-zero. So an implementation already > has to deal with datagrams that have UDP CS == 0 but OCS != 0. Given that, > it seems (to me at least) fair to keep this as a SHOULD, as it does not > require any mechanisms that are not otherwise required. > I'm concerned about the opposite: if UDP CS != 0, then the normal processing path is to expect OCS != 0, but the recommendation in (11.4) means that OCS will be zero! So there's a special path if the packet is reassembled. Am I mixing this up? > (11.7) Is the token generated by the UDP implementation or the upper >> layer? Is there any guidance on how to choose the token (should it be >> random or monotonically increasing? Is any method OK as long as they don't >> repeat? Given that UDP is connectionless, what would it even mean that it >> doesn't repeat?) >> > > It was my understanding -- and maybe I am simply too close to the spec -- > that the upper layer, or a library acting on its behalf, chooses the token > value in a REQ option. I see text that says "Both the REQ and RES are > under the control of these upper layers." Is this not sufficiently clear, > especially after reading the normative reference [Fa24]? > I took that text to mean that sending and receiving this option were under control of the upper layer. I can see that [Fa24] has some useful guidance here, and maybe it answers my question that it's an upper layer thing, not a UDP kernel function. But does anything belong in this draft? Are there any questions to answer about token selection in general like the ones I proposed? Can there be collisions where an application uses a DPLPTMUD library and then does its own REQ/RESP that happens to use the same token? Do we need a UDP API to say "you used this token recently"?
- [tsvwg] Review of draft-ietf-tsvwg-udp-options-32 Martin Duke
- Re: [tsvwg] Review of draft-ietf-tsvwg-udp-option… C. M. Heard
- Re: [tsvwg] Review of draft-ietf-tsvwg-udp-option… C. M. Heard
- Re: [tsvwg] Review of draft-ietf-tsvwg-udp-option… touch@strayalpha.com
- Re: [tsvwg] Review of draft-ietf-tsvwg-udp-option… Christian Huitema
- Re: [tsvwg] Review of draft-ietf-tsvwg-udp-option… Martin Duke
- Re: [tsvwg] Review of draft-ietf-tsvwg-udp-option… Martin Duke
- Re: [tsvwg] Review of draft-ietf-tsvwg-udp-option… Zaheduzzaman Sarker
- Re: [tsvwg] Review of draft-ietf-tsvwg-udp-option… Gorry (erg)
- Re: [tsvwg] Review of draft-ietf-tsvwg-udp-option… Zaheduzzaman Sarker
- Re: [tsvwg] Review of draft-ietf-tsvwg-udp-option… Christian Huitema
- Re: [tsvwg] Review of draft-ietf-tsvwg-udp-option… Tom Herbert
- Re: [tsvwg] Review of draft-ietf-tsvwg-udp-option… Christian Huitema
- Re: [tsvwg] Review of draft-ietf-tsvwg-udp-option… Tom Herbert
- Re: [tsvwg] Review of draft-ietf-tsvwg-udp-option… Christian Huitema
- Re: [tsvwg] Review of draft-ietf-tsvwg-udp-option… Joe Touch
- Re: [tsvwg] Review of draft-ietf-tsvwg-udp-option… touch@strayalpha.com
- Re: [tsvwg] Review of draft-ietf-tsvwg-udp-option… Sebastian Moeller
- Re: [tsvwg] Review of draft-ietf-tsvwg-udp-option… touch@strayalpha.com
- Re: [tsvwg] Review of draft-ietf-tsvwg-udp-option… Zaheduzzaman Sarker
- Re: [tsvwg] Review of draft-ietf-tsvwg-udp-option… Zaheduzzaman Sarker
- Re: [tsvwg] Review of draft-ietf-tsvwg-udp-option… C. M. Heard
- Re: [tsvwg] Review of draft-ietf-tsvwg-udp-option… C. M. Heard
- Re: [tsvwg] Review of draft-ietf-tsvwg-udp-option… touch@strayalpha.com
- Re: [tsvwg] Review of draft-ietf-tsvwg-udp-option… Martin Duke
- Re: [tsvwg] Review of draft-ietf-tsvwg-udp-option… C. M. Heard
- Re: [tsvwg] Review of draft-ietf-tsvwg-udp-option… C. M. Heard
- Re: [tsvwg] Review of draft-ietf-tsvwg-udp-option… Christian Huitema
- Re: [tsvwg] Review of draft-ietf-tsvwg-udp-option… Christian Huitema
- Re: [tsvwg] Review of draft-ietf-tsvwg-udp-option… C. M. Heard
- Re: [tsvwg] Review of draft-ietf-tsvwg-udp-option… Erik Auerswald
- [tsvwg] Discarding the UDP surplus area when prot… C. M. Heard
- Re: [tsvwg] Review of draft-ietf-tsvwg-udp-option… C. M. Heard
- Re: [tsvwg] Discarding the UDP surplus area when … Tom Herbert
- [tsvwg] github issue long term archiving[ wa… Sebastian Moeller
- Re: [tsvwg] Discarding the UDP surplus area when … Gorry Fairhurst
- Re: [tsvwg] Review of draft-ietf-tsvwg-udp-option… Zaheduzzaman Sarker