Re: [tsvwg] RDMA Support by UDP FRAG Option
Tom Herbert <tom@herbertland.com> Mon, 21 June 2021 16:46 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 247BF3A10CD for <tsvwg@ietfa.amsl.com>; Mon, 21 Jun 2021 09:46:40 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.004
X-Spam-Level:
X-Spam-Status: No, score=0.004 tagged_above=-999 required=5 tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, 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 1_GLONP_l4nW for <tsvwg@ietfa.amsl.com>; Mon, 21 Jun 2021 09:46:35 -0700 (PDT)
Received: from mail-ed1-x530.google.com (mail-ed1-x530.google.com [IPv6:2a00:1450:4864:20::530]) (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 2BCE43A10D0 for <tsvwg@ietf.org>; Mon, 21 Jun 2021 09:46:35 -0700 (PDT)
Received: by mail-ed1-x530.google.com with SMTP id s6so19835611edu.10 for <tsvwg@ietf.org>; Mon, 21 Jun 2021 09:46:34 -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; bh=5lLTHbifxfNMNHkIM9so1Wxkv9OPmdPP3ZCg/3IrX/A=; b=cnctxR6ZufLJDMcf3+gglPNWSNccOeVP4cY3DvRPY1bHKy38+n1Orx4Zy07DlO6rEU aAHPb0f4tmLQLKPghGxUiVNqPn/b2HjFZza3VV5g5AiOdll4VvC7xN2zDTLpHiWYBmMq fpZp26BiHx4RcfDx0Yd68VJeshm0dQMiYrSlfLKb3wr7O+zxhXQbTECLefaPfe+pPyyw qKGyx86ymMT0CQQRLt7oYfj6nxKMY8L6Jn+3rl8M6h5bDmbYXvq/gQr7YI20rU76PtHk 4dDw8HyQGuhxh9MUMkP8fr98gVq46n112xihlWWfCJDzZbKZlk/fOAuH4/ividXmuQnb igig==
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; bh=5lLTHbifxfNMNHkIM9so1Wxkv9OPmdPP3ZCg/3IrX/A=; b=NgAkwp/DjX50Jj/ciQyE/GBUsLmDbp0R0zdLVV+Qto0m6TuqYZefijqyiAlMSJPDBp velc+Iq7Gdrz9eyTuiHj6iXZA/2mZb/VPQOWZbfacZX1ibtRIdaVn+3BRK0QYIxBqxDT rbuITVjD9QQW/yU9151JzDNrvc0wP9rHa9qtb3OIdPFu28iU2q8e4neYG32+WFMHSi9+ e06dxqOC4Tr9fVtYIG+4dFXzNaU9Vuu36TNNTFSP9BmMJiMC2uCnqXnkw6DXhAOmUsf4 Gj1o7MKIKZOCfbnYPexID1FOFCJz6p+3zHSZf77hBNayVApn0PX4YdNhrRM/NmsWuTvf EYdg==
X-Gm-Message-State: AOAM532cySocqkh5ecP/i66SAEsrzLOWqiueLglKwWHZo8qRRJVlfvkg VgJatB+ouJQCHe0VKFuPCT3SoTRip3i/H9KZsCCjkA==
X-Google-Smtp-Source: ABdhPJzZunVMvSGQIFr21lNlaEmaO0rTsaSTcCl/gn8b0OVi3C9eHPVOORA+2Ou1VwSm26H/RdgibIPLgeVVRQL4aRs=
X-Received: by 2002:a05:6402:26c7:: with SMTP id x7mr1679225edd.383.1624293992186; Mon, 21 Jun 2021 09:46:32 -0700 (PDT)
MIME-Version: 1.0
References: <CACL_3VEyLdQZ-3hvzXxyA8ehtWs2hXESZ2OqyAx+BeSg85+-cA@mail.gmail.com> <CACL_3VFE4TjKvmkfZjvNpWo6vVfKjz5w85=Q+yqnYZKcwbYLmQ@mail.gmail.com> <63FFC34B-2179-47F1-B325-21CAC3D1543A@strayalpha.com> <CACL_3VHTfxWaBj7TFEmBXBqovrrAj7XuFEZFUag_iBHr3Hx09g@mail.gmail.com> <0EBFC9B0-591A-4860-B327-6E617B83F4D1@strayalpha.com> <CALx6S34pT81TbfQDk2vKF8wBrXL312As79K=rEzUQ3Lmg7UvpA@mail.gmail.com> <7C51D926-9DBB-41F5-93B2-10F716F672B1@strayalpha.com> <CALx6S37uN8TsXQZ3cv5jmxwxSyBRjK=-GQ_MsWxPWSs21XoGHw@mail.gmail.com> <CACL_3VEx7+VnLz7OLdXyhZU41e+-oBz3dc8JdMV_7pLMfic6=w@mail.gmail.com> <fcc8762f-c042-7999-d2e4-f28384950a19@erg.abdn.ac.uk> <CALx6S36sWGcZmFpAhF4DfOMyf6Z0w5F9bemNfeM1yWV-r0M+BA@mail.gmail.com> <8af3abf9-943f-13c1-e239-5efca27cf68c@erg.abdn.ac.uk> <CACL_3VHdyLAmzMbWsTVfJD+4tTzsMvcTzKS1B1CAdZ3k5U957g@mail.gmail.com> <CALx6S34DUrUBYd94LPPg4Hgh0FnZYZjZ4eKEYuaxb-7zbzb=pQ@mail.gmail.com> <CACL_3VEq9R=HmWXGbu_zcrgWfG0=q0z+HWM3cQ9Vh68hTCUR-w@mail.gmail.com> <CALx6S35bdGwY8FagGn8x5CaO4O3zW3U+NnB5ejC7bB6BHsXtJg@mail.gmail.com> <CACL_3VFwUJzT7uiXh33gBffboqqb51uFWJAEh290SsD0=aAzaQ@mail.gmail.com> <CALx6S34Lai=YS8i1VTC1zKHqsCTt_XUeKfwob7Qe_BA49bHC3A@mail.gmail.com> <CACL_3VFZphux8uCqh6seVgTEjyjOhCjGd-jHtdGc0fR9opKWUg@mail.gmail.com> <CALx6S34Yrph523yd0vx9EsCscwrjJY2ek6VrEj+7zCDGTLyuPA@mail.gmail.com> <48E7C759-957B-4E96-8A55-581AC40E5B28@strayalpha.com> <CALx6S36diVj2cd3JKBhvhA7xv3X5Wne9YO+v2sThX9jD-5tbEQ@mail.gmail.com> <F3DA8FA4-D335-42D2-B5F4-7DFDC866A2CA@strayalpha.com> <CALx6S35GJC_fq8wnehGSHY7WTW7YU7NA4wOSNoEGUF5w+pNx6g@mail.gmail.com> <4BA67B6B-E60F-474B-AD78-1FED2C3A58AD@strayalpha.com> <CALx6S36QNH9EvFB-mSHJMokFxHUFqv=16FMbAT=y1h7oGb7JEg@mail.gmail.com> <CACL_3VHSFCv-wNFZJQAdvjHK1RkDPsy019S_=rVDxNboCy5Rsw@mail.gmail.com>
In-Reply-To: <CACL_3VHSFCv-wNFZJQAdvjHK1RkDPsy019S_=rVDxNboCy5Rsw@mail.gmail.com>
From: Tom Herbert <tom@herbertland.com>
Date: Mon, 21 Jun 2021 09:46:20 -0700
Message-ID: <CALx6S37P4OksrGbMtp5n2mM_hQSnaAH9=W5PVhbgbjdA5GsWrg@mail.gmail.com>
To: "C. M. Heard" <heard@pobox.com>
Cc: Joseph Touch <touch@strayalpha.com>, Gorry Fairhurst <gorry@erg.abdn.ac.uk>, TSVWG <tsvwg@ietf.org>
Content-Type: multipart/alternative; boundary="0000000000006a555405c5496a1e"
Archived-At: <https://mailarchive.ietf.org/arch/msg/tsvwg/ahnfEvZh-EoJo17U7GP1MUY4XA8>
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: Mon, 21 Jun 2021 16:46:40 -0000
On Mon, Jun 21, 2021, 9:31 AM C. M. Heard <heard@pobox.com> wrote: > On Mon, Jun 21, 2021 at 7:34 AM Tom Herbert wrote: > >> In my opinion, the best chance for UDP options to be deployable and >> successful is to require that the surplus area always sums to zero. >> > > Tom, > > Had that statement been "the best chance for UDP options to be deployable > and successful is to require that the surplus area always sums to the > ones-complement of the surplus area length." But the statement above, taken > literally, is NOT TRUE. > > You may remember the lengthy discussion that centered around the discovery > by the Aberdeen group (Fairhurst, Jones, and Zullo) that a significant > proportion of paths across the Internet BLOCK packets with a surplus area, > even if the UDP checksum is correct, unless it has been arranged that the > checksum ALSO comes to (ones complement) zero when computed over the IP > payload length and with the IP payload length substituted for the UDP > length in the pseudo-header. > > See > https://datatracker.ietf.org/meeting/103/materials/slides-103-maprg-a-tale-of-two-checksums-tom-jones > > I'm pretty sure that you knew of this, but forgot, because I saw messages > in the archive wherein you discussed this matter with Raffaele Zullo. > Yes, I am aware of that. That is in fact a bug (middle boxes also shouldn't be looking at UDP checksum in the first). The fix in the draft will workaround that particular bug, but that would conflict with devices that include the surplus area in their computation but use the correct length in the pseudo header. Unfortunately these are conflicting requirements, so 100% correctness across all currently deployed devices may be impossible. On the host side we at least have some control, for instance we could disable TX checksum offload if we don't if the device can do it correctly. RX offload would simply fail if the device doesn't do it right and host would do checksum in CPU. The software stack can reworked to deal with any use case and protocol agnostic offloads can work, but as I said the simplest solution to that end would be surplus area summing to zero. Tom > The root cause appears to be a BUG in middlebox implementations that > substitute IP payload for UDP payload length in the UDP checksum > computation. See pages 5 and 6 of the presentation. Note that the BUG was > corrected in Freebsd. > > Making UDP options viable across a large proportion of real-world paths in > the Internet is a vital step in making it successful, and that is why the > WG (seems to have) converged on computing OCS so that it has the same > effect as the checksum compensation option (CCO, see > draft-ietf-fairhurst-udp-options-cco). > > If the Linux stack pervasively takes the shortcut of substituting IP > payload length for UDP length, or making a similar substitution in > encapsulations, that is a BUG of the very same kind that CCO was invented > to work around. I have to agree with Joe on this point. > > Having said that, I do still agree that if it is possible without undue > burden, it is desirable for the UDP options spec to play well with the > generic hardware checksum offload that you described in > draft-herbert-udp-space-hdr-01 that sum to the end of the packet. It is NOT > a bug for the device to offer the offload capability in that form (though > it would be a bug if the host software or the NIC firmware did not use that > capability correctly). > > Happily, generic checksum offload works just fine for the usual case > (non-encapsulated data), as I think I proved conclusively in > https://mailarchive.ietf.org/arch/msg/tsvwg/RZULHOKRgrSYIvsI-5Hg7sNtSS8/. > I think that the version of FRAG in -13 of the current draft may have some > problems with encapsulations, as I stated in > https://mailarchive.ietf.org/arch/msg/tsvwg/thc0mIjU6CcyppULA1L0aV3Mk7M/, > and I will offer specific comments on that. What I am not going to do is go > down any more ratholes where I pose a question to you about what is wrong > and then get in return a non-response that simply asserts that what we are > doing won't work with Linux. You have not made your case, and I will not > respond further until you do. Life is too short. > > I have, of course, not made the case about protocol-specific checksum > offload hardware, but I do not think that it's reasonable to expect a > priori that a modification to UDP can be expected to work with them. If you > will provide pointers to specs for (or clear descriptions of) some common > ones I'll look when I have time. > > Mike >
- [tsvwg] A counterproposal to Section 5.5 of draft… C. M. Heard
- Re: [tsvwg] A counterproposal to Section 5.5 of d… Joseph Touch
- Re: [tsvwg] A counterproposal to Section 5.5 of d… C. M. Heard
- [tsvwg] RDMA Support by UDP FRAG Option C. M. Heard
- Re: [tsvwg] RDMA Support by UDP FRAG Option Joseph Touch
- Re: [tsvwg] RDMA Support by UDP FRAG Option Tom Herbert
- Re: [tsvwg] RDMA Support by UDP FRAG Option Joseph Touch
- Re: [tsvwg] RDMA Support by UDP FRAG Option Tom Herbert
- Re: [tsvwg] RDMA Support by UDP FRAG Option C. M. Heard
- Re: [tsvwg] RDMA Support by UDP FRAG Option Gorry Fairhurst
- Re: [tsvwg] RDMA Support by UDP FRAG Option Tom Herbert
- Re: [tsvwg] RDMA Support by UDP FRAG Option Gorry Fairhurst
- Re: [tsvwg] RDMA Support by UDP FRAG Option Joseph Touch
- Re: [tsvwg] RDMA Support by UDP FRAG Option Tom Herbert
- Re: [tsvwg] RDMA Support by UDP FRAG Option Joe Touch
- Re: [tsvwg] RDMA Support by UDP FRAG Option Tom Herbert
- Re: [tsvwg] RDMA Support by UDP FRAG Option C. M. Heard
- Re: [tsvwg] RDMA Support by UDP FRAG Option Joe Touch
- Re: [tsvwg] RDMA Support by UDP FRAG Option Tom Herbert
- Re: [tsvwg] RDMA Support by UDP FRAG Option C. M. Heard
- Re: [tsvwg] RDMA Support by UDP FRAG Option Tom Herbert
- Re: [tsvwg] RDMA Support by UDP FRAG Option Joseph Touch
- Re: [tsvwg] RDMA Support by UDP FRAG Option Tom Herbert
- Re: [tsvwg] RDMA Support by UDP FRAG Option Joseph Touch
- Re: [tsvwg] RDMA Support by UDP FRAG Option Tom Herbert
- Re: [tsvwg] RDMA Support by UDP FRAG Option C. M. Heard
- Re: [tsvwg] RDMA Support by UDP FRAG Option Tom Herbert
- Re: [tsvwg] RDMA Support by UDP FRAG Option Joseph Touch
- [tsvwg] incorrectly coalesce packets [was: Re: RD… Rodney W. Grimes
- Re: [tsvwg] RDMA Support by UDP FRAG Option Rodney W. Grimes
- Re: [tsvwg] RDMA Support by UDP FRAG Option Tom Herbert
- Re: [tsvwg] RDMA Support by UDP FRAG Option Joseph Touch
- Re: [tsvwg] RDMA Support by UDP FRAG Option Tom Herbert
- Re: [tsvwg] RDMA Support by UDP FRAG Option Joseph Touch
- Re: [tsvwg] RDMA Support by UDP FRAG Option C. M. Heard
- Re: [tsvwg] incorrectly coalesce packets [was: Re… Joseph Touch
- Re: [tsvwg] RDMA Support by UDP FRAG Option Tom Herbert
- Re: [tsvwg] RDMA Support by UDP FRAG Option Joseph Touch
- Re: [tsvwg] RDMA Support by UDP FRAG Option Tom Herbert
- Re: [tsvwg] RDMA Support by UDP FRAG Option Joseph Touch
- Re: [tsvwg] RDMA Support by UDP FRAG Option Tom Herbert
- Re: [tsvwg] RDMA Support by UDP FRAG Option Joseph Touch
- Re: [tsvwg] RDMA Support by UDP FRAG Option Tom Herbert
- Re: [tsvwg] RDMA Support by UDP FRAG Option Joseph Touch
- Re: [tsvwg] RDMA Support by UDP FRAG Option Tom Herbert
- Re: [tsvwg] RDMA Support by UDP FRAG Option C. M. Heard
- Re: [tsvwg] RDMA Support by UDP FRAG Option C. M. Heard
- Re: [tsvwg] RDMA Support by UDP FRAG Option Tom Herbert
- Re: [tsvwg] RDMA Support by UDP FRAG Option C. M. Heard
- Re: [tsvwg] RDMA Support by UDP FRAG Option Joe Touch
- Re: [tsvwg] RDMA Support by UDP FRAG Option Joe Touch
- Re: [tsvwg] RDMA Support by UDP FRAG Option Tom Herbert
- Re: [tsvwg] RDMA Support by UDP FRAG Option C. M. Heard
- Re: [tsvwg] RDMA Support by UDP FRAG Option Joe Touch
- Re: [tsvwg] RDMA Support by UDP FRAG Option Joseph Touch
- Re: [tsvwg] RDMA Support by UDP FRAG Option C. M. Heard
- Re: [tsvwg] RDMA Support by UDP FRAG Option Joseph Touch