Re: [tsvwg] UDP options and header-data split (zero copy)

Tom Herbert <tom@herbertland.com> Sat, 31 July 2021 17:17 UTC

Return-Path: <tom@herbertland.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 667A73A0FDA for <tsvwg@ietfa.amsl.com>; Sat, 31 Jul 2021 10:17:19 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.897
X-Spam-Level:
X-Spam-Status: No, score=-1.897 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, SPF_HELO_NONE=0.001, SPF_NONE=0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=herbertland-com.20150623.gappssmtp.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 NNbR22rDpU7F for <tsvwg@ietfa.amsl.com>; Sat, 31 Jul 2021 10:17:14 -0700 (PDT)
Received: from mail-ed1-x529.google.com (mail-ed1-x529.google.com [IPv6:2a00:1450:4864:20::529]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id B28023A0FD7 for <tsvwg@ietf.org>; Sat, 31 Jul 2021 10:17:13 -0700 (PDT)
Received: by mail-ed1-x529.google.com with SMTP id b7so18176524edu.3 for <tsvwg@ietf.org>; Sat, 31 Jul 2021 10:17:13 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=herbertland-com.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=pZyefN7K8GQsfmq7Aw2WWp4SR2Iztdm0A8N3v37pPmE=; b=vM1CoIf60rvMnMTwXBgfxs1iWhg9aDtPY/EmvJ8feti95fbeJNPWMcWJYKuBJpZgAR 1Yu5RR+iPwcC3KbPNn81vag1+QVLOukLYWNstEDsGpmv/e26QYHAzNygYFNRxTw/741E DJ0IiIYTkY5iANRJjcJIarRXwIfCKSG3Y2Usz7pTOMrKAC+oX/FKOTAc3cgdqiPAVyLH x3ivNwAahWgElYz4nw0YWblSgGW+qh/LL0quZkw4DzKzV3WbPeOHzcyiNbggJvLlodpG QnpR8+Qayt6qkI9HKfwYeRE6IY4o9n9ZnABf8g4kWt1SnFkrVt6o/a9OXfSWsW9MrG1T 4OzQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=pZyefN7K8GQsfmq7Aw2WWp4SR2Iztdm0A8N3v37pPmE=; b=f2RghQE4FNVBOyO8Mju/G7q4DZmfH73mZvRa/B962xh0Sj9sRA33tj/YbzYwAXZWR9 xIA8s4NgKLEDuaauc365AAy/6EAED7d0Hgpkwv99nRWpBWUybdspzZakBKSRBBBSBMZ+ 25E9SiO76+Gx/et2GeDTtuFeychduU0HZ3JNolsBx0tft76aOeuwdp4K3rodK30J0rsc ls43cwTelwy/uB9I3iyO5/r1v0Xqhlv+N72BcqWJsL2ArGZY1HXtwYAZApZmuNBWcDcT CbzrvJy3obGtvvXww9tmUDkFMDCKROFyjNNld0t5Su8FPg93m0OM3OGuULrqQqUXuIZa f+Bw==
X-Gm-Message-State: AOAM5331wDmF4YG806L2pGX9Op4iTCYV7DpBc9ZCLa1V5UhglQuH9toj k86Xhbh4wEmpuYQoe7f278vONzXMxM9vuFaMOZ0DZQ==
X-Google-Smtp-Source: ABdhPJz7LtFG8EtwnqHGx3/6H80Gwi3YDeGRDxb/Brt+MFyQpE2cRTXdQBDdVyHJBSxO1ar3FJ+1dlrEdV75U/Xlzjs=
X-Received: by 2002:a05:6402:550:: with SMTP id i16mr9980091edx.177.1627751831531; Sat, 31 Jul 2021 10:17:11 -0700 (PDT)
MIME-Version: 1.0
References: <CALx6S37zzaZaWNygGt=YaZSAo1e5fTgqmi0ftK4q+puCfbXWGg@mail.gmail.com> <6073AC0D-C32A-4033-BC92-F828BA50BDF7@strayalpha.com> <CALx6S37Nf4U=6aGf7ov_7+UULzuD-DPP+gJzLyJ0vKxRELtLCQ@mail.gmail.com> <3CCB787D-CD9F-4380-9544-F5FEAFAF3E27@strayalpha.com> <CALx6S36pRhJFHnhh58tUabeoc8ScajfUYV1HOg=tPJvic8bJ9Q@mail.gmail.com> <CF65CA93-768D-4070-818F-8DA2D08F5BC3@strayalpha.com>
In-Reply-To: <CF65CA93-768D-4070-818F-8DA2D08F5BC3@strayalpha.com>
From: Tom Herbert <tom@herbertland.com>
Date: Sat, 31 Jul 2021 10:17:00 -0700
Message-ID: <CALx6S36o8RR3v29A4fEp94O6qwpwU6PUAAAEgVMZidbQS3RvLw@mail.gmail.com>
To: Joseph Touch <touch@strayalpha.com>
Cc: tsvwg <tsvwg@ietf.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Archived-At: <https://mailarchive.ietf.org/arch/msg/tsvwg/p57RGlTAJcEzVNgqqe6bxPSgbGg>
Subject: Re: [tsvwg] UDP options and header-data split (zero copy)
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: Sat, 31 Jul 2021 17:17:20 -0000

On Sat, Jul 31, 2021 at 9:18 AM Joseph Touch <touch@strayalpha.com> wrote:
>
> Hi, Tom,
>
> On Jul 31, 2021, at 7:53 AM, Tom Herbert <tom@herbertland.com> wrote:
>
> On Fri, Jul 30, 2021 at 8:35 PM Joseph Touch <touch@strayalpha.com> wrote:
>
>
> Hi, Tom,
>
> On Jul 20, 2021, at 7:49 AM, Tom Herbert <tom@herbertland.com> wrote:
> ...
> Limiting use to fragment mode is not what I am suggesting.
>
>  ...If trailers are required in all use
> cases, then devices that don't support them can't use UDP options even
> if they're only interested in non-legacy mode uses
>
> ….
>
>
> I don’t follow this line of logic.
>
> You claim that you’re not limiting use to frag-only, but then talk about “if trailers are required”.
>
> There’s no IF. They are.
>
>
> Joe,
>
> That is an opinion, not an established fact.
>
>
> Trailers have been shown to be the only way to support legacy mode use of UDP options. Nobody else has ever suggested or accepted that legacy mode is an optional part of this spec.
>
> If you want to convince
> us that trailers are a requirement in all use cases, specifically
> non-legacy mode, then please provide at least one example of options
> that could not be correctly conveyed in protocol headers.
>
>
> Legacy mode.
>
> Given that
> we have many examples of successful protocols that have protocol
> options in headers, IP options, TCP options, and IPv6 which provides
> the example of how per fragment options and options for the
> reassembled packet, I am dubious the need for trailers can be proven.
>
>
> We’ve already done so for legacy mode.
>
But not for non-legacy mode.

> If you’re looking for a successful version of trailers, perhaps Ethernet will convince you? How about HTTP since 1.1? HLDC and PPP?
>
No, it's not convincing. HTTP is an application layer protocol.
Ethernet, HDLC, and PPP are layer 2 protocols that have headers and
use trailers for only FCS and CRC for the benefit of hardware
implementation. You could also add ESP to this list which again
primarily uses a header and puts authentication data. These are not
comparable to UDP options which is an open ended list of TLVs which is
more likely to be processed in software. For network layer and
transport layer protocols, protocol headers are the longstanding
convention. Implementations have assumed this convention, and
introducing a protocol that goes against this convention will have
adverse effects. The effects could be loss of performance or
functionality, or outright complete inability to support the protocol.

>
> If an implementation can’t deal with trailers, it can’t support UDP options - the core set is “all or none”, not “pick what you want”.
>
>
> If an implementation can't deal with trailers, then that means that
> users of those implementations can't use UDP options.
>
>
> Again, that IS the point.

I don't see how that isn't arbitrarily and knowingly eliminating the
number of users and use cases for the protocol.

>
> If users can[’t] use
> the protocol we're defining then what is the point of bringing it to
> IETF?
>
>
> (I’m presuming you meant “can’t” above)
>
> We have two types of legacy users:
> - legacy UDP endpoints in general
> - updatable endpoints with legacy UDP acceleration hardware
>
What does "updatable" mean. If there is some piece of hardware that
doesn't support protocol trailers, it's not like we can just call up
the vendor and they'll fix it in a month. Fixing hardware takes years,
and that assumes the vendors see any business value to invest in the
fix which only exists if UDP options use becomes prevalent and support
is being demanded by customers.

> Your claim is that we can’t support both groups, especially if they interact.Even if we were to accept your claim, we would always choose to support legacy endpoints in general. If we have to sacrifice, we should sacrifice performance to maintain interoperability.
>
To the contrary, my claim is that we need to support as many users as
possible. Avoiding a requirement for protocol trailers aligns with
that goal, requiring protocol trailers opposes that goal and limits
the number of users that can use the protocol.

Tom

> That decision is not unique to UDP or UDP options; it is the approach used throughout the IETF.
>
> Joe
>