Re: [nfsv4] Review of draft-ietf-nfsv4-rfc5667bis-09

Chuck Lever <chuck.lever@oracle.com> Mon, 08 May 2017 13:58 UTC

Return-Path: <chuck.lever@oracle.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 4E6CE1293FF for <nfsv4@ietfa.amsl.com>; Mon, 8 May 2017 06:58:47 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.221
X-Spam-Level:
X-Spam-Status: No, score=-4.221 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RP_MATCHES_RCVD=-0.001, SPF_PASS=-0.001, UNPARSEABLE_RELAY=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 seUdKmC8N0dR for <nfsv4@ietfa.amsl.com>; Mon, 8 May 2017 06:58:45 -0700 (PDT)
Received: from aserp1040.oracle.com (aserp1040.oracle.com [141.146.126.69]) (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 C319D127444 for <nfsv4@ietf.org>; Mon, 8 May 2017 06:58:45 -0700 (PDT)
Received: from userv0022.oracle.com (userv0022.oracle.com [156.151.31.74]) by aserp1040.oracle.com (Sentrion-MTA-4.3.2/Sentrion-MTA-4.3.2) with ESMTP id v48DwiiG021552 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 8 May 2017 13:58:44 GMT
Received: from aserv0122.oracle.com (aserv0122.oracle.com [141.146.126.236]) by userv0022.oracle.com (8.14.4/8.14.4) with ESMTP id v48DwhrP016926 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 8 May 2017 13:58:44 GMT
Received: from abhmp0002.oracle.com (abhmp0002.oracle.com [141.146.116.8]) by aserv0122.oracle.com (8.14.4/8.14.4) with ESMTP id v48Dwh6S016222; Mon, 8 May 2017 13:58:43 GMT
Received: from anon-dhcp-171.1015granger.net (/68.46.169.226) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Mon, 08 May 2017 06:58:43 -0700
Content-Type: text/plain; charset="us-ascii"
Mime-Version: 1.0 (Mac OS X Mail 9.3 \(3124\))
From: Chuck Lever <chuck.lever@oracle.com>
In-Reply-To: <2e9d0b61-26f6-cecb-9f75-717ac48f3b88@talpey.com>
Date: Mon, 08 May 2017 09:58:42 -0400
Content-Transfer-Encoding: 7bit
Message-Id: <EECCB2E9-7BC3-4D29-A95D-BAC42F78AFAF@oracle.com>
References: <CADaq8jdkGgL+H-yoO-+bTNbSYiE_1us9cN5SXY8QV0gfYfK0Ng@mail.gmail.com> <33468014-6695-a2da-1af8-f1f355fbe986@talpey.com> <CADaq8jcJJQ3TiVX6fFURg22YgNg=Cd7ezNQewjt6fgNK4LrPVg@mail.gmail.com> <F417EA11-D49F-420D-A64F-AE6A382B920C@oracle.com> <7213a956-6157-d0a6-432d-1da8d555d8e9@talpey.com> <A7BB8A22-53E3-4910-A6DE-C6103343D309@oracle.com> <6974E7E7-051B-4F28-A61A-DF6F841B248B@oracle.com> <af6ed8c5-6a7d-08ed-590b-1774f34e05f2@talpey.com> <F842F8E7-B576-4781-A845-F13317593F88@oracle.com> <1451a113-115b-5c43-5cfe-f0c5e21b59d6@talpey.com> <C91AC1D8-C884-490B-8738-7279DEC0F372@oracle.com> <CADaq8jc6X6y5WXuptVevhNopG9Nbfca8FUV6zYCBTADs5ohvag@mail.gmail.com> <F7941956-149D-4B4C-B793-444FC61A9517@oracle.com> <e7ff236f-29e4-06d8-86c9-486f95f9db14@oracle.com> <505CD860-4167-49FB-8162-B5FE6083E7AF@oracle.com> <BN6PR03MB2449B8D6FE! E4975D78858456A0160@BN6PR03MB2449.namprd03.prod.outlook.com> <263A2988-0B52-4706-B00F-41D121F7DA42@oracle.com> <2e9d0b61-26f6-cecb-9f75-717ac48f3b88! @talpey.com>
To: NFSv4 <nfsv4@ietf.org>
X-Mailer: Apple Mail (2.3124)
X-Source-IP: userv0022.oracle.com [156.151.31.74]
Archived-At: <https://mailarchive.ietf.org/arch/msg/nfsv4/H712ULKTEgdWL6EVCSObsSVZxZM>
Subject: Re: [nfsv4] Review of draft-ietf-nfsv4-rfc5667bis-09
X-BeenThere: nfsv4@ietf.org
X-Mailman-Version: 2.1.22
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, 08 May 2017 13:58:47 -0000

> On May 8, 2017, at 8:35 AM, Tom Talpey <tom@talpey.com> wrote:
> 
> On 5/4/2017 11:00 AM, Chuck Lever wrote:
>> I've tried to address your concerns, and I changed the segment count
>> limit to document what we know about the current Solaris implementations.
>> I liked the "be conservative in what you send" idea, but I couldn't find
>> a way to work it in that was not awkward.
>> 
>> If this text is OK, I'll submit a fresh I-D revision after WGLC ends on
>> Friday.
> 
> Well that wasn't enough time for me to respond since I was traveling
> from SambaXP in Germany, but the text does look better. The statement
> below makes no requirement on the server.
> 
>> 5.4.2.  Chunk List Complexity
>> ...
>>   To avoid encountering server chunk list complexity limits, NFS
>>   version 4 clients SHOULD follow the below prescriptions when
>>   constructing transport headers:
>> 
>>   o  The Read list can contain either a Position-Zero Read chunk, one
>>      Read chunk with a non-zero Position, or both.
>> 
>>   o  The Write list can contain no more than one Write chunk.
>> 
>>   o  Any chunk can contain up to sixteen RDMA segments.
> 
> I would suggest the following modifications to the above.
> 
>  "In accordance with chunk list processing limits of existing
>   server implementations, NFS Version 4 clients SHOULD maximally
>   follow the below prescriptions when constructing requests to
>   be transported by RPC-over-RDMA. Additionally, NFS Version 4
>   servers SHOULD minimally be prepared to accept and process such
>   requests."

Actually I think "servers MUST be prepared" is appropriate here,
although IMO "clients should follow the below" implies the server
side requirements already. But no harm in making it explicit.


>>   NFS version 4 clients wishing to send more complex chunk lists can
>>   provide configuration interfaces to bound the complexity of NFS
>>   version 4 COMPOUNDs, limit the number of elements in scatter-gather
>>   operations, and avoid other sources of RPC-over-RDMA chunk overruns
>>   at the receiving peer.
>> 
>>   An NFS Version 4 server has some flexibility in how it indicates that
>>   an RPC-over-RDMA Version One message received from an NFS Version 4
>>   client is valid but cannot be processed.  Examples include:
> 
> 
> Strongly suggest deleting the words "has some flexibility" and "Examples
> include". We've already had this discussion, so I will just suggest the
> following.
> 
>  "An NFS Version 4 server SHOULD return one of the following responses
>   to a client which has sent a request containing RPC-over-RDMA chunks
>   which cannot be processed due to exceeding server implementation
>   limits"

Both look fine to me. Spencer, if you're willing, I can replace -10
with a revision that includes these changes.


> Tom.
> 
> 
>>   o  A problem is detected by the transport layer while parsing the
>>      transport header in an RPC Call message.  The server responds with
>>      an RDMA_ERROR message with the err field set to ERR_CHUNK.
>> 
>>   o  A problem is detected during XDR decoding of the RPC Call message
>>      while the RPC layer reassembles the call's XDR stream.  The server
>>      responds with an RPC reply with its "reply_stat" field set to
>>      MSG_ACCEPTED and its "accept_stat" field set to GARBAGE_ARGS.
>> 
>>   After receiving one of these errors, an NFS version 4 client SHOULD
>>   NOT retransmit the failing request, as the result would be the same
>>   error.  It SHOULD immediately terminate the RPC transaction
>>   associated with the XID in the reply.
> 
> 
> _______________________________________________
> nfsv4 mailing list
> nfsv4@ietf.org
> https://www.ietf.org/mailman/listinfo/nfsv4

--
Chuck Lever