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

Joseph Touch <touch@strayalpha.com> Sun, 18 July 2021 02:56 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 77C1C3A0A1E for <tsvwg@ietfa.amsl.com>; Sat, 17 Jul 2021 19:56:05 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.319
X-Spam-Level:
X-Spam-Status: No, score=-1.319 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, 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 5yOeGP8kOctQ for <tsvwg@ietfa.amsl.com>; Sat, 17 Jul 2021 19:56:00 -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 DD5123A0A1D for <tsvwg@ietf.org>; Sat, 17 Jul 2021 19:56:00 -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=WBwQ7yxWP6oESkO3Y1khgiS+sEDuzyo3Wizz3LKvly4=; b=aPAtmRY/HhcaIbjYIT6/tNMgko 6JJcKi6bLdq/Iqe5S1RDvRJ/EN3F7bmSHGdBqfH/UJY2ND5YiFk6SyLn+nvG8bsXpHHAhhv5O1/jQ 1SebZEChTVAv8HcOfLZizqt2qLejNurcfdrtKeIphPwEUcedVt89HHcPVWbvt3CQs/RiDHr8TMTj4 aElvcXM6nRQFiiTqJQkHVk4yG2WLb7rgjiTI0tY6hrD4DLSdMjTa6FjJQYGteVZwgc63Wyb3u3jew HI8leuzcoKm5FWdj9s6GzyFMNvFigeO4jzJxBGLkH71hy8WEOJetnwsdIS6Qv1ATzgG1NPsH1Sy7A WBEewo5A==;
Received: from cpe-172-114-237-88.socal.res.rr.com ([172.114.237.88]:62716 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 1m4wyB-004Kmc-FJ; Sat, 17 Jul 2021 22:55:59 -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: <CALx6S37H6wAt4FyGqwm038R=GeiOY0Wt-YY1Hb+XDjGX4Cw_QQ@mail.gmail.com>
Date: Sat, 17 Jul 2021 19:55:54 -0700
Cc: tsvwg <tsvwg@ietf.org>
Content-Transfer-Encoding: quoted-printable
Message-Id: <6ADBCB38-9C0B-4A43-8877-4177F162D001@strayalpha.com>
References: <CALx6S34WtGABWJEL_CBJAhSFb9JpR97Dr9emX-K0PxUGZ3VvnQ@mail.gmail.com> <927E12B2-D77E-4810-BABC-18D090F0A022@strayalpha.com> <CALx6S37H6wAt4FyGqwm038R=GeiOY0Wt-YY1Hb+XDjGX4Cw_QQ@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/fiPG8br2WkDMNeU8Unzf549zrRU>
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: Sun, 18 Jul 2021 02:56:06 -0000


> On Jul 17, 2021, at 6:05 PM, Tom Herbert <tom@herbertland.com> wrote:
> 
> On Sat, Jul 17, 2021 at 4:06 PM Joe Touch <touch@strayalpha.com> wrote:
>> 
>> 
>> 
>>> On Jul 17, 2021, at 2:58 PM, Tom Herbert <tom@herbertland.com> wrote:
>>> 
>>> If I'm reading the draft correctly, it is possible that UDP options
>>> could appear both in the headers and trailers of a packet. If that is
>>> correct, then that means an implementation needs to be able to handle
>>> both headers and trailers within the *same* packet.
>> 
>> That is always the case for non-fragmented packets - the only mode that supports transparent use of options that don’t change the payload data with legacy receivers.
> 
> Perhaps I'm not reading it correctly, but it seems like in legacy mode
> all options are in trailers in the surplus area. In the last fragment
> case, the packet may look like
> UDP-header/UDP-options-per-packet/Frag-data-UDP-options-for-reassembled-packets.
> So in that case, there are UDP options in both headers and trailers in
> the same packet.

Again, that happens for legacy packets too - the existing UDP header is in the front and options are in the trailer.

> If that's true, then a device that can't handle
> protocol headers can't handle the case where there are trailing
> options in the last fragment.

I can’t parse this in a way that makes sense. A device that can’t handle protocol headers can’t do UDP’s existing header. A device that can’t ALSO handle trailers can’t process UDP options for non-fragment packets.

> If those options were in the headers
> instead, then it could handle that case. Or maybe the idea is that a
> receiver can ignore options after the last fragment data since they
> are in trailers like legacy mode?

The idea is that, after reassembly, UDP processing *continues exactly as it would for a non-reassembled packet.

Those trailing options apply to the WHOLE reassembled packet, not just the final fragment.

Joe