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

karen deitke <karen.deitke@oracle.com> Wed, 03 May 2017 14:32 UTC

Return-Path: <karen.deitke@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 00D6B129B47 for <nfsv4@ietfa.amsl.com>; Wed, 3 May 2017 07:32:50 -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, HTML_MESSAGE=0.001, 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] 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 q31KJrMFLCyG for <nfsv4@ietfa.amsl.com>; Wed, 3 May 2017 07:32:48 -0700 (PDT)
Received: from userp1040.oracle.com (userp1040.oracle.com [156.151.31.81]) (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 4FC1E129479 for <nfsv4@ietf.org>; Wed, 3 May 2017 07:30:37 -0700 (PDT)
Received: from aserv0021.oracle.com (aserv0021.oracle.com [141.146.126.233]) by userp1040.oracle.com (Sentrion-MTA-4.3.2/Sentrion-MTA-4.3.2) with ESMTP id v43EUavO018080 (version=TLSv1 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for <nfsv4@ietf.org>; Wed, 3 May 2017 14:30:36 GMT
Received: from userv0122.oracle.com (userv0122.oracle.com [156.151.31.75]) by aserv0021.oracle.com (8.13.8/8.14.4) with ESMTP id v43EUZaW019946 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for <nfsv4@ietf.org>; Wed, 3 May 2017 14:30:35 GMT
Received: from abhmp0010.oracle.com (abhmp0010.oracle.com [141.146.116.16]) by userv0122.oracle.com (8.14.4/8.14.4) with ESMTP id v43EUYJH012317 for <nfsv4@ietf.org>; Wed, 3 May 2017 14:30:35 GMT
Received: from [10.0.0.73] (/67.190.1.120) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Wed, 03 May 2017 07:30:34 -0700
To: nfsv4@ietf.org
References: <CADaq8jdkGgL+H-yoO-+bTNbSYiE_1us9cN5SXY8QV0gfYfK0Ng@mail.gmail.com> <BB65A737-BDBD-4A23-9CEE-2EA153293842@oracle.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> <BN6PR03MB2449B8D6FEE4975D78858456A0160@BN6PR03MB2449.namprd03.prod.outlook.com>
From: karen deitke <karen.deitke@oracle.com>
Organization: Oracle Corporation
Message-ID: <9eeef741-2ada-0d17-cdb4-ea13f3c55fc8@oracle.com>
Date: Wed, 03 May 2017 08:31:03 -0600
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.8.0
MIME-Version: 1.0
In-Reply-To: <BN6PR03MB2449B8D6FEE4975D78858456A0160@BN6PR03MB2449.namprd03.prod.outlook.com>
Content-Type: multipart/alternative; boundary="------------31C409F5D1A4647E34FC301A"
X-Source-IP: aserv0021.oracle.com [141.146.126.233]
Archived-At: <https://mailarchive.ietf.org/arch/msg/nfsv4/Nn3jSs-3xkqSwufOMwQLdTLIJ1s>
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: Wed, 03 May 2017 14:32:50 -0000


On 5/3/2017 12:00 AM, Tom Talpey wrote:
>> 5.4.2.  Complexity Considerations
>>
>>     The RPC-over-RDMA Version One protocol does not place any limit on
>>     the number of chunks or segments that may appear in the Read or Write
>>     lists.  However, for various reasons NFS version 4 server
>>     implementations often have practical limits on the number of chunks
>>     or segments they are prepared to process in one message.
>>
>>     These implementation limits are especially important when Kerberos
>>     integrity or privacy is in use [RFC7861].  GSS services increase the
>>     size of credential material in RPC headers, forcing more frequent use
> GSS payloads don't always force this, I'd suggest "potentially requiring" or similar
> softened text.
>
>>     of Position-Zero Read chunks and Reply chunks.  This can increase the
>>     complexity of chunk lists independent of the NFS version 4 COMPOUND
>>     being conveyed.
>>
>>     To avoid encountering server chunk list complexity limits, NFS
>>     version 4 clients SHOULD restrict their RPC-over-RDMA Version One
>>     messages to simple combinations of chunks:
> Again, "restrict" may be too strong. If the client is certain that a certain chunk list
> is acceptable, it's perfectly OK for it to send it. Suggest the following rules being
> cast as "safe" or at least "following the Internet Principles" as "conservative in
> what you send".
>
>>     o  The Read list contains no more than one Position-Zero Read chunk
>>        and one Read chunk with a non-zero Position.
>>
>>     o  The Write list contains no more than one chunk.
>>
>>     o  The inline threshold restricts the number of segments that may
>>        appear in either list.
>>
>>     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 peer.
> Good.
>
>>     An NFS Version 4 server has some flexibility in how it indicates that
>>     an RPC-over-RDMA Version One message constructed by an NFS Version 4
>>     client is valid but cannot be processed.  Examples include:
>>
>>     o  A problem is detected at the transport layer (i.e., during
>>        transport header processing).  The server returns an RDMA_ERROR
>>        message with the err field set to ERR_CHUNK.
>>
>>     o  A problem is detected during XDR decoding of the request (e.g.,
>>        during re-assembly of the RPC Call message by the RPC layer).  The
>>        server returns an RPC reply with its "reply_stat" field set to
>>        MSG_ACCEPTED and its "accept_stat" field set to GARBAGE_ARGS.
>>
>>     o  A problem is detected in the Upper Layer (i.e., by the NFS version
>>        4 implementation).  The server sends an NFS reply with a status of
> The two previous bullets used "returns" while this uses "sends". Intentional?
>
>>        NFS4ERR_RESOURCE.
>>
>>     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.
> Now this is interesting. ERR_CHUNK and GARBAGE_ARGS are clear, but I
> thought NFS4ERR_RESOURCE is generally retryable. So, how does the client
> determine this error is actually from the RDMA encoding, and not retry?
> This protocol should not require another protocol to change existing behavior.
>
> Tom.
>
>
Good point about the NFS4ERR_RESOURCE error.  Other than that, I like 
this change.
Karen