Re: [tsvwg] RDMA Support by UDP FRAG Option

Joe Touch <touch@strayalpha.com> Fri, 18 June 2021 20:22 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 7B79A3A0AD4 for <tsvwg@ietfa.amsl.com>; Fri, 18 Jun 2021 13:22:18 -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 iErZKY5N3VVa for <tsvwg@ietfa.amsl.com>; Fri, 18 Jun 2021 13:22:13 -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 CC8603A0AD1 for <tsvwg@ietf.org>; Fri, 18 Jun 2021 13:22:13 -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:Cc:Date:In-Reply-To: From:Subject:Mime-Version:Content-Transfer-Encoding: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=Wk1VkUN2Bp0KzQcnsneP7yCuxNPI77Gdq3iGttGjki8=; b=KwfuInxbf74hcvZvNQynZdUqUL itkkElXguSnS2fWmGV0x/PQDrQXwU/kL7L4C0IpFycM1zPkFvlnBgmG28uL47RxvWhupatt/5rN/Z VxgU1djv93DTIi10sqjN+oTCwLaHlf3cAzrCyX6yQCp90FxBoeHxLTF4Nj7cIs8Qam28jHLHnOhgE LLkuOYg63kx9g4Y8Dc7lv0bjQ3NwEgNs8rzwRVz2Vww5WSV1jKyAInAorTDYlGNSyvAbbcLbrrShA KmyLx5DpiTzXFUBmtdxwKPSf/yiLZrhrkGqpfLkdtF7O5cRDsFBDqw9yhi18n3axeO+3xkc6KwgeW 0tg4j3cg==;
Received: from [172.58.27.43] (port=24695 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 1luL0B-000M8S-Lv; Fri, 18 Jun 2021 16:22:12 -0400
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
Mime-Version: 1.0 (1.0)
From: Joe Touch <touch@strayalpha.com>
In-Reply-To: <CALx6S364dzBYRxWYTVHOHwdTzmHRN_jeZx=_ASk9EYsqrcK_2A@mail.gmail.com>
Date: Fri, 18 Jun 2021 13:22:05 -0700
Cc: Gorry Fairhurst <gorry@erg.abdn.ac.uk>, TSVWG <tsvwg@ietf.org>
Message-Id: <7D8F6A92-2316-4C8D-AC5A-84961CD4F855@strayalpha.com>
References: <CALx6S364dzBYRxWYTVHOHwdTzmHRN_jeZx=_ASk9EYsqrcK_2A@mail.gmail.com>
To: Tom Herbert <tom@herbertland.com>
X-Mailer: iPhone Mail (18F72)
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/Rci2x8XV8zLIp7Pq-IlaQqEUwAY>
Subject: Re: [tsvwg] RDMA Support by UDP FRAG Option
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: Fri, 18 Jun 2021 20:22:19 -0000


> On Jun 18, 2021, at 10:22 AM, Tom Herbert <tom@herbertland.com> wrote:
> 
> On Fri, Jun 18, 2021 at 8:11 AM Joseph Touch <touch@strayalpha.com> wrote:
>> 
>> 
>> 
>> On Jun 18, 2021, at 2:36 AM, Gorry Fairhurst <gorry@erg.abdn.ac.uk> wrote:
>> 
>> Please look at draft-herbert-udp-space-hdr-01 for my proposal as to
>> how the UDP surplus space should be formatted. If there is interest, I
>> could update draft to include considerations for UDP options
>> fragmentation and reassembly offload as well as header/data split
>> which is needed for zero-copy receive (i.e. packet headers are DMA'ed
>> into one set of buffers to be processed by the stack, payload is
>> DMA'ed to another set of buffers to be processed by the application).
>> 
>> Tom
>> 
>> ...
>> I think it would be good for the WG to focus on how to finish draft-ietf-tsvwg-udp-options, but I do seem some opportunities to use some of these ideas for making the fragment header - because that also places all data in the "option”.
>> 
>> 
>> The difference between this draft and where we are (and have been before that draft):
>> 1. it adds an option area length field
>> 2. it requires length on all packets with options
>> 3. It requires OCS on all packets with options
>> 
>> (1) repeats TCP's mistake of limiting the options space (see draft-ietf-tcpm-tcp-edo)
> 
> Allowing an unlimited size and number of options repeats the same
> mistake in RFC8200, the only use case for unlimited options is Denial
> of Service attack.

Receivers can always decide to drop packets with whatever they deem as too large an option area.  We don’t need to bake a fixed number in the option definition. 

>> (1) undermines the use of FRAGs where fragments are larger than 1K (not to mention being smaller for per-frag options)
> 
> I don't know what that means.

Please read the draft. 

>> (2) adds a field that is not needed in packets that are not FRAGs
> 
> Not sure to which fields you are referring.

The length field. 

>> (3) requires checks that are redundant on packets already protected, undermining the flexibility that continues to be available via UDP CS=0
>> 
> UDP checksum is required to be non-zero for IPv6,

Please recheck 8200 and 6936. Zero is still allowed for tunneled packets. 

> which means this
> point is being rendered moot as IPv6 deployment continues. Besides
> that, as I've mentioned several times now, if the checksum is in a TLV
> then the checksum cannot protect against it's type field being
> corrupted and also the checksum serves to validate that the surplus
> space is indeed UDP options and not some random bits some hosts
> decided to put in there.
> 
>> I don’t understand “places all the data in the ‘option’”. It doesn’t appear to do that unless used with FRAG, which we already do in the WG doc.
>> 
>> Joe
>