Re: [nfsv4] Proposed updates to draft-ietf-nfsv4-rpcrdma-cm-pvt-data

Tom Talpey <tom@talpey.com> Mon, 16 December 2019 14:36 UTC

Return-Path: <tom@talpey.com>
X-Original-To: nfsv4@ietfa.amsl.com
Delivered-To: nfsv4@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 5B2271200D6 for <nfsv4@ietfa.amsl.com>; Mon, 16 Dec 2019 06:36:22 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.896
X-Spam-Level:
X-Spam-Status: No, score=-1.896 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_NONE=0.001] autolearn=ham autolearn_force=no
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 zzO4jJlH1i0M for <nfsv4@ietfa.amsl.com>; Mon, 16 Dec 2019 06:36:21 -0800 (PST)
Received: from p3plsmtpa07-08.prod.phx3.secureserver.net (p3plsmtpa07-08.prod.phx3.secureserver.net [173.201.192.237]) (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 395A61200B1 for <nfsv4@ietf.org>; Mon, 16 Dec 2019 06:36:21 -0800 (PST)
Received: from [192.168.0.56] ([24.218.182.144]) by :SMTPAUTH: with ESMTPSA id grTuiCQtbVUXwgrTvisOrJ; Mon, 16 Dec 2019 07:36:20 -0700
To: nfsv4@ietf.org
References: <863D1C52-3FCB-47EF-9DEA-4BE8CEF51D6C@oracle.com>
From: Tom Talpey <tom@talpey.com>
Message-ID: <14e44b2a-f6ed-9b7b-2e28-fb4016be173b@talpey.com>
Date: Mon, 16 Dec 2019 09:36:17 -0500
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:60.0) Gecko/20100101 Thunderbird/60.9.1
MIME-Version: 1.0
In-Reply-To: <863D1C52-3FCB-47EF-9DEA-4BE8CEF51D6C@oracle.com>
Content-Type: text/plain; charset="utf-8"; format="flowed"
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-CMAE-Envelope: MS4wfKWaqZuRBu72Q06XGzpQoIy2JFrAEqe+GsOWLQBqKM+IwxubU08BnRjEWnUOx7YN3XqQ4GF2PyF/QNosgbRbA401nYBM78KjCRSrff0zHGPXEt9Y2ZeM fIDmYBceQmLR+Nu0SjaKBbABS2dzIAiCIZfVPFD+sDHcY6b4LupI3Mcb
Archived-At: <https://mailarchive.ietf.org/arch/msg/nfsv4/ROk4NKRwXyW40oO47s6NvJbc0yY>
Subject: Re: [nfsv4] Proposed updates to draft-ietf-nfsv4-rpcrdma-cm-pvt-data
X-BeenThere: nfsv4@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NFSv4 Working Group <nfsv4.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/nfsv4>, <mailto:nfsv4-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/nfsv4/>
List-Post: <mailto:nfsv4@ietf.org>
List-Help: <mailto:nfsv4-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/nfsv4>, <mailto:nfsv4-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 16 Dec 2019 14:36:22 -0000

On 12/15/2019 3:48 PM, Chuck Lever wrote:
> As a result of expert review, changes are needed to Section 4.1.2
> to clarify the purpose and implementation guidance of the Format
> Identifier field.
> 
> I propose that the new Section read (in its entirety):
> 
> 
> 4.1.2.  Amongst Implementations of Other Upper-Layer Protocols

That first word is a very odd one in a section title. Would
"Interoperability With" be more meaningful?

>     The Format Identifier field in the message format defined in this
>     document is provided to enable implementations to distinguish RPC-
>     over-RDMA version 1 Private Data from private data inserted at layers
>     below RPC-over-RDMA version 1.  An example of a layer below RPC-over-

"Below" is problematic here. The RFC6581 MPA enhanced connection
processing can insert private data at the start of the field, and
it is "below" RPC in the stack, but the peer's RFC6581 processing
strips it off. Therefore, of RPC is the "lowest upper layer" in
such a stack, there is no issue.

However, there might well be other lower layers, with different
behaviors, injecting their own private data payloads. Or indeed,
upper layers. And these payloads may choose to append, or prepend
to the buffer.

>     RDMA version 1 that makes use of CM Private Data is iWARP, via the
>     MPA enhancement described in [RFC6581].
> 
>     During connection establishment, an implementation of the extension
>     described in this document checks the Format Identifier field before
>     decoding subsequent fields.  If the RPC-over-RDMA version 1 CM
>     Private Data Format Identifier is not present as the first 4 octets,

So, just to be clear - this introduces a new requirement on other
layers over the same connection. They MUST NOT inject private data
at the beginning of the buffer, or if they do, they MUST strip it
off.

>     an RPC-over-RDMA version 1 receiver MUST ignore the CM Private Data,
>     behaving as if no RPC-over-RDMA version 1 Private Data has been
>     provided (see above).

And, if the prior requirement is not made, then the RPC layer needs
to scan the prvate data rather carefully to see if the identifier,
and the payload associated with it, is present somewhere in the
private data.

>     Because the Format Identifier field is newer than some other
>     potential users of private data (such as iWARP), there is a risk that
>     a lower layer might inject its own private data with a payload
>     somehow containing the identifier of RPC-over-RDMA version 1.  It is

Well, *and* not strip it off. This could happen if the peer implemented
a lower layer that wasn't recognized by the receiver, and the data
simply passed up. See previous paragraph.

>     recommended that RPC-over-RDMA version 1 implementations perform
>     additional checks on the content of received CM private data before
>     making use of it.

"Additional checks" is pretty vague. Are there any specific requirements?

Tom.