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

Joseph Touch <touch@strayalpha.com> Sat, 31 July 2021 03:40 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 D38C93A0DB5 for <tsvwg@ietfa.amsl.com>; Fri, 30 Jul 2021 20:40:21 -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 fUavzEXaNdYo for <tsvwg@ietfa.amsl.com>; Fri, 30 Jul 2021 20:40:17 -0700 (PDT)
Received: from server217-4.web-hosting.com (server217-4.web-hosting.com [198.54.116.98]) (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 553A73A0DB4 for <tsvwg@ietf.org>; Fri, 30 Jul 2021 20:40:17 -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=ys2hvDbR1D906tRLtdQibJOSpPHjODN5x0VHKxTEN28=; b=6ypODyemSj8UXLvbqhMfBkfLn1 ZukZJ/BBUgyK9vGW+DER/6tfwECVdz9K5/CG3LLXU7L+PzjzcTSecQd4i8mNK5Hq8Nq4tUxRQ6kR5 5O0/3453WKib8dVkwBZcRlpYClKVesFHbpqK3hKNmC46fzmh4O+LGNmW772Nzd6PzXY0q72EW6pdU /wEmT26FWKddrHZsdxugWL8fPN0bEirlhvbFVYcBxuWiPomb+jgA4eyOm8ZV4yvke19e1hibIhWM1 ZknabVfCqFhQA7vsN1nC/tkwetwIBWrJ4xqFyEprE8lfL39RsXfenbP0uipch/50wSId5N22X/RXu Ud7vTjkw==;
Received: from cpe-172-114-237-88.socal.res.rr.com ([172.114.237.88]:59063 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 1m9fr8-002QcF-JZ; Fri, 30 Jul 2021 23:40:16 -0400
Content-Type: text/plain; charset="utf-8"
Mime-Version: 1.0 (Mac OS X Mail 14.0 \(3654.120.0.1.13\))
From: Joseph Touch <touch@strayalpha.com>
In-Reply-To: <CACL_3VH0EO1kFabNrzKFcBPb=pis7YDw3ROV-AjFUZ2iiwNu3Q@mail.gmail.com>
Date: Fri, 30 Jul 2021 20:40:08 -0700
Cc: Paul Vixie <paul@redbarn.org>, Tom Herbert <tom@herbertland.com>, Tsvwg <tsvwg@ietf.org>
Content-Transfer-Encoding: quoted-printable
Message-Id: <EE865F2B-32B1-4CEA-8259-2BEA969DEECA@strayalpha.com>
References: <CALx6S36F6dVnbxSfNXwQVvbi+mOuedTbn+jLM5-Q87hjxFM+qw@mail.gmail.com> <05A8BF71-5362-484E-A71A-546C052BDFAB@strayalpha.com> <CALx6S36LOE9eRn6Q2FLoPyf1yVt+c9ekJ5k0wjGOFDx9kn_pMQ@mail.gmail.com> <05371cb4-cc9b-4673-bf43-895e415e2397@pauls-iPhone> <CACL_3VH0EO1kFabNrzKFcBPb=pis7YDw3ROV-AjFUZ2iiwNu3Q@mail.gmail.com>
To: "C. M. Heard" <heard@pobox.com>
X-Mailer: Apple Mail (2.3654.120.0.1.13)
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/ZcAldnZ2FTHVXGG46czf9A7oZk8>
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 03:40:22 -0000

Hi, Mike,

Trailers make a reassembled packet look *exactly* like one that isn’t reassembled. That has to be handled, regardless.

Having two *different* places for per-packet options, depending on whether they’re reassembled or not, would be the unnecessary complexity.

Besides, we’ve moved the FRAG option to the front of the list so hardware can find it without processing too much of a TLV chain. Your alternative, i.e., of using FRAG to split per-fragment vs post-fragment options, would mean that the FRAG option would *float* into the TLV chain further, complicating and slowing down reassembly.

I think we need to come to terms with the fact that UDP options means trailers. Once you accept that as a given, putting per-packet options at the end is the obvious place.

Joe

> On Jul 30, 2021, at 8:11 PM, C. M. Heard <heard@pobox.com> wrote:
> 
> On Thu, Jul 15, 2021 at 2:51 PM Tom Herbert wrote:
> > On Thu, Jul 15, 2021 at 2:32 PM Joseph Touch wrote:
> > > And there is no way to avoid trailers for non-fragmented packets.
> > >
> > Right trailers are only needed in that case. In the case of fragment
> > using both headers and trailers simultaneously is unnecessary
> > complexity that provides no benefit. If just headers are used then the
> > system doesn't need to support trailers for that case and header-data
> > split continues to work as expected.
> 
> On Fri, Jul 16, 2021 at 12:12 AM Paul Vixie replied:
> > +1.
> 
> Let me add my voice to this. The specification of FRAG in -13 is 
> unnecessarily complex. We do not need both headers (for per-frag 
> options) and trailers (for per-datagram options). That format, as 
> Tom correctly notes, is an impediment to checksum offload for 
> encapsulated protocols. The generality of allowing any option to 
> be encoded as per-datagram or per-fragment is a level of flexibility 
> that is comparable to the flexibility offered by independently 
> steerable front wheels: it is neither necessary nor safe, as very 
> few options can serve in both capacities, and there are other ways to 
> deal with those.
> 
> Mike Heard