Re: [tsvwg] I-D Action: draft-ietf-tsvwg-udp-options-13.txt

Joseph Touch <touch@strayalpha.com> Sat, 10 July 2021 00:15 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 0EE833A0FDF for <tsvwg@ietfa.amsl.com>; Fri, 9 Jul 2021 17:15:13 -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, RCVD_IN_DNSWL_BLOCKED=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 5FAuN3_RfBtM for <tsvwg@ietfa.amsl.com>; Fri, 9 Jul 2021 17:15:08 -0700 (PDT)
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 F09B83A0FDD for <tsvwg@ietf.org>; Fri, 9 Jul 2021 17:15:07 -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: Content-Transfer-Encoding:Cc:Date:In-Reply-To:From:Subject:Mime-Version: Content-Type:Sender:Reply-To: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=n+AlMEzfUgO/+Vr1uNc7frcTkrCH+ZnKYOVdIvfDxfA=; b=wueQb+N49Apf9UdClaBT66g6bf HcGhaCZ2w9hjcUdkri4FmdnJ7bimsoxvlHV+9alyEMflrIpjVUdEivXgxCVeZQrdYmyaoexWbaURV A2BYhD7r0/9Xl8Li8vFxWrkF9yQ4dPbjuUdmiq/dFudoOR5de+e3WWxydM3zaYzgoa+BjnT4EHNEv K6IQAJx/7BlsGwfhOJfTF5UixKB0Sn8fy4Fj6iD/QeWybAZDVYmmuA2hSlQUaL088psSU13a8HwD9 l0xFdLu7o+N8ItLa6CpVhmAzdGmvlFsd5xN9jxE4e/ogKuq1YTeab0Mz8eV3yZ9XRCDME2e5DUKiF GDdUOytQ==;
Received: from cpe-172-250-225-198.socal.res.rr.com ([172.250.225.198]:50237 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 1m20e6-00206M-Bt; Fri, 09 Jul 2021 20:15:06 -0400
Content-Type: text/plain; charset="utf-8"
Mime-Version: 1.0 (Mac OS X Mail 14.0 \(3654.100.0.2.22\))
From: Joseph Touch <touch@strayalpha.com>
In-Reply-To: <CALx6S352p8rboxD9k3bebLvep0rwk37y5avxbqFaFCsuQ_Nt2w@mail.gmail.com>
Date: Fri, 09 Jul 2021 17:15:01 -0700
Cc: TSVWG <tsvwg@ietf.org>
Content-Transfer-Encoding: quoted-printable
Message-Id: <FE7B082E-B684-4D0A-B0F7-3761EBC25720@strayalpha.com>
References: <162408795080.21706.5548660195641640175@ietfa.amsl.com> <C2C396E7-B728-496E-841B-D9F64004D3E3@strayalpha.com> <CACL_3VHC55cdu96=5OuNKmaaXrvDY5wkYid9a+j6=VtQrvJhZg@mail.gmail.com> <5086F1C2-55C9-4BD4-BB80-9C247E379204@strayalpha.com> <CALx6S373DmsGAncT8j2rGdpSfQ8q6pZi7iTVw4geZuxQdbA-sA@mail.gmail.com> <6E26E6BD-9AC0-46FF-8BA5-EDA016F840CE@strayalpha.com> <CALx6S352p8rboxD9k3bebLvep0rwk37y5avxbqFaFCsuQ_Nt2w@mail.gmail.com>
To: Tom Herbert <tom@herbertland.com>
X-Mailer: Apple Mail (2.3654.100.0.2.22)
X-OutGoing-Spam-Status: No, score=-1.0
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/Fey2vs1TC8l6BdehYQ3mBN0temI>
Subject: Re: [tsvwg] I-D Action: draft-ietf-tsvwg-udp-options-13.txt
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, 10 Jul 2021 00:15:13 -0000

Hi, Tom,

> On Jul 9, 2021, at 3:21 PM, Tom Herbert <tom@herbertland.com> wrote:
> ...
> I don't know if it's a bad design, but I do know that IPv4 and TCP
> have had a fixed checksum field that covers options for over forty
> years.

The field location is irrelevant; the issue for offload *calculation* is the location of the area being covered. For OCS, it’s the entire surplus area, which does not require TLV parsing to determine.

Note, though, that IP may be in a fixed place, but covers only the IP header. The more relevant example is TCP, which is NOT fixed relative to the IP header (because there could be IP options).

> Not unsurprisingly, implementators have long since figured out
> how to optimize checksum calculation. Checksum offload is ubiquitous
> and CPUs have add-with-carry instructions of 32-bit, 64-bit, or vector
> instructions to optimize checksum calculation.

Note: the OCS checksum start is just as well known as it is for TCP - once the UDP offset is known, the OCS always covers exactly the same area between the UDP Length and the end of the IP packet. It’s only the *check* of the OCS validation that can’t be offloaded as easily, but that’s not always offloaded either. Offload calculates the checksum; there’s not a big win in doing the check there unless bad packets are the norm.

> Also, because of the
> way checksum offload works both senders and receivers of UDP options
> are likely to compute the checksum over the surplus area regardless of
> whether the checksum field is present-- even today, a legacy receiver
> will compute the checksum of surplus area in order to offset the
> checksum received from the device in checksum offload. AFAICT, no
> users are complaining about Internet checksum performance.

Sure, but that doesn’t change here either - as noted. Wherever OCS is placed, the checksum always covers the whole “surplus” area.

> In contrast to checksum calculation, walking TLV lists is still
> considered a major problem for performance.

And that’s still required for TCP and IP. We’re no different. That has no impact on checksum offload for UDP, only in option processing.

> The algorithm is an
> inherently serialized loop that requires a number of conditionals

And we have lived with that for years with TCP. The only difference here happens *outside* of offload optimization.

Any device that offloads the rest of transport processing already walks TCP TLVs and can walk UDP ones just as quickly (or slowly).

Joe