Re: [tsvwg] RDMA Support by UDP FRAG Option

"C. M. Heard" <heard@pobox.com> Mon, 21 June 2021 16:32 UTC

Return-Path: <heard@pobox.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 8E78E3A0EA0 for <tsvwg@ietfa.amsl.com>; Mon, 21 Jun 2021 09:32:03 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.198
X-Spam-Level:
X-Spam-Status: No, score=-0.198 tagged_above=-999 required=5 tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=pobox.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 eCNHgOLGR5rz for <tsvwg@ietfa.amsl.com>; Mon, 21 Jun 2021 09:31:58 -0700 (PDT)
Received: from pb-smtp21.pobox.com (pb-smtp21.pobox.com [173.228.157.53]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id B038F3A0E9C for <tsvwg@ietf.org>; Mon, 21 Jun 2021 09:31:58 -0700 (PDT)
Received: from pb-smtp21.pobox.com (unknown [127.0.0.1]) by pb-smtp21.pobox.com (Postfix) with ESMTP id 134451282E3 for <tsvwg@ietf.org>; Mon, 21 Jun 2021 12:31:56 -0400 (EDT) (envelope-from heard@pobox.com)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed; d=pobox.com; h= mime-version:references:in-reply-to:from:date:message-id:subject :to:cc:content-type; s=sasl; bh=VD49GP48KwXAJ7Dw+2mIpUsYNhGjj9G2 gK6JO598afY=; b=jJIymrqFeScV5zjrK7vBwI8eoP5X/6YkrFXN0PWdIA658UvW QRxqQqbavtCMFMtMsIggoD5GH8Bm+oUCH/ngDqFIwFGo0Yj/2xWsGtmuJRFjkep7 0TbdmvDF8VquNVr5gop/2Kf24AU+VmNpL2pTZX/YBV33yMfTPvTcvOkoA/s=
Received: from pb-smtp21.sea.icgroup.com (unknown [127.0.0.1]) by pb-smtp21.pobox.com (Postfix) with ESMTP id 0B51F1282E2 for <tsvwg@ietf.org>; Mon, 21 Jun 2021 12:31:56 -0400 (EDT) (envelope-from heard@pobox.com)
Received: from mail-io1-f47.google.com (unknown [209.85.166.47]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by pb-smtp21.pobox.com (Postfix) with ESMTPSA id A2EAB1282DF for <tsvwg@ietf.org>; Mon, 21 Jun 2021 12:31:53 -0400 (EDT) (envelope-from heard@pobox.com)
Received: by mail-io1-f47.google.com with SMTP id d9so7669853ioo.2 for <tsvwg@ietf.org>; Mon, 21 Jun 2021 09:31:53 -0700 (PDT)
X-Gm-Message-State: AOAM533TR3AoQ/QzcNLZBC8/sK3xeGWvd1W4dYOGJ6/H/rcNt0yLdW5L lkvibP+RBnH9QHvcxuRVujrjmy/7vyGcCI+KFiE=
X-Google-Smtp-Source: ABdhPJwA8/NedBTVfT0jNXuluqfxkSAhM8qzr7DTCvb8mlsd5mddW/wI8HiMOKa6g+edXzorOkpnsnc0wUmvEz/Oawg=
X-Received: by 2002:a05:6638:3298:: with SMTP id f24mr18154278jav.25.1624293112327; Mon, 21 Jun 2021 09:31:52 -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>
In-Reply-To: <CALx6S36QNH9EvFB-mSHJMokFxHUFqv=16FMbAT=y1h7oGb7JEg@mail.gmail.com>
From: "C. M. Heard" <heard@pobox.com>
Date: Mon, 21 Jun 2021 09:31:40 -0700
X-Gmail-Original-Message-ID: <CACL_3VHSFCv-wNFZJQAdvjHK1RkDPsy019S_=rVDxNboCy5Rsw@mail.gmail.com>
Message-ID: <CACL_3VHSFCv-wNFZJQAdvjHK1RkDPsy019S_=rVDxNboCy5Rsw@mail.gmail.com>
To: Tom Herbert <tom@herbertland.com>
Cc: Joseph Touch <touch@strayalpha.com>, Gorry Fairhurst <gorry@erg.abdn.ac.uk>, TSVWG <tsvwg@ietf.org>
Content-Type: multipart/alternative; boundary="000000000000f8b31005c54935b5"
X-Pobox-Relay-ID: 300669C4-D2AE-11EB-BD80-FA9E2DDBB1FC-06080547!pb-smtp21.pobox.com
Archived-At: <https://mailarchive.ietf.org/arch/msg/tsvwg/4DRMdGWlKtM-SUTnT4r_qR9VPp4>
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:32:04 -0000

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.

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