Re: [nfsv4] draft-ietf-nfsv4-rpcrdma-bidirection-03 review

Chuck Lever <chuck.lever@oracle.com> Fri, 27 May 2016 14:01 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 EBAA012D98B for <nfsv4@ietfa.amsl.com>; Fri, 27 May 2016 07:01:08 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -5.646
X-Spam-Level:
X-Spam-Status: No, score=-5.646 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=-1.426, 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 FLOLWGOF88rQ for <nfsv4@ietfa.amsl.com>; Fri, 27 May 2016 07:01:07 -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 38DC412D0CA for <nfsv4@ietf.org>; Fri, 27 May 2016 07:01:07 -0700 (PDT)
Received: from aserv0021.oracle.com (aserv0021.oracle.com [141.146.126.233]) by aserp1040.oracle.com (Sentrion-MTA-4.3.2/Sentrion-MTA-4.3.2) with ESMTP id u4RE15LH008108 (version=TLSv1 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Fri, 27 May 2016 14:01:05 GMT
Received: from userv0121.oracle.com (userv0121.oracle.com [156.151.31.72]) by aserv0021.oracle.com (8.13.8/8.13.8) with ESMTP id u4RE14Gc018857 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Fri, 27 May 2016 14:01:05 GMT
Received: from abhmp0014.oracle.com (abhmp0014.oracle.com [141.146.116.20]) by userv0121.oracle.com (8.13.8/8.13.8) with ESMTP id u4RE12jT015657; Fri, 27 May 2016 14:01:03 GMT
Received: from anon-dhcp-171.1015granger.net (/68.46.169.226) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Fri, 27 May 2016 07:01:02 -0700
Content-Type: text/plain; charset="utf-8"
Mime-Version: 1.0 (Mac OS X Mail 9.3 \(3124\))
From: Chuck Lever <chuck.lever@oracle.com>
In-Reply-To: <CADaq8jcHk4PzxhGLtsK7mBEuh0J3T54Bn3PFd==X5cdoB9pGSQ@mail.gmail.com>
Date: Fri, 27 May 2016 10:01:01 -0400
Content-Transfer-Encoding: quoted-printable
Message-Id: <46B6E3E0-4598-4A54-A091-D590BF084B7F@oracle.com>
References: <6da90b6b-bb58-d241-0d74-dc421358c97c@oracle.com> <9ECFBBD5-9359-46AB-B1CC-7FCBF06C40A8@oracle.com> <f609eba3-4294-37ae-3bb8-c7df8f648bb0@oracle.com> <0E79D0E4-9D53-4ED4-8D17-2D806C56648F@oracle.com> <567848d1-d854-ef70-8fba-33708e7e0601@oracle.com> <E2B31EDF-74D6-4CC8-8F6C-674C85498B56@oracle.com> <E0C18ECC-7D15-447F-9DA7-654E1EBF6C3B@oracle.com> <CADaq8jcgW316nLwA3LnCAmL7nAY3o6XjeQLCkV-S_Sps9g+LJw@mail.gmail.com> <4E8C421F-1A22-413C-AA2E-833C71AC6F71@oracle.com> <CADaq8jdVjt6x0MNgc7g0HCvQ9tR6yC01AdSPCiqHmEn8CMPscw@mail.gmail.com> <CADaq8jcHk4PzxhGLtsK7mBEuh0J3T54Bn3PFd==X5cdoB9pGSQ@mail.gmail.com>
To: David Noveck <davenoveck@gmail.com>
X-Mailer: Apple Mail (2.3124)
X-Source-IP: aserv0021.oracle.com [141.146.126.233]
Archived-At: <http://mailarchive.ietf.org/arch/msg/nfsv4/wEtVJc9vs44elYb29gl9bE_NLy0>
Cc: NFSv4 <nfsv4@ietf.org>
Subject: Re: [nfsv4] draft-ietf-nfsv4-rpcrdma-bidirection-03 review
X-BeenThere: nfsv4@ietf.org
X-Mailman-Version: 2.1.17
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: Fri, 27 May 2016 14:01:09 -0000

> On May 27, 2016, at 8:24 AM, David Noveck <davenoveck@gmail.com> wrote:
> 
> I wrote:
> > but I have a problem with writing the spec as if 
> > such situations don't exist.
> 
> I've been thinking more about this.  I think the problem lies in what I mean by 
> "the spec".  If that means "rfc566bis", then such situations cannot exist.
> rfc566bis seems to only deal with forward direction operation.  In such an environment, 
> if you are a client and you receive a message, it has to be a reply.  Similarly, if you are 
> server and you receive a message, it has to be a request.  So there is no occasion for the
> kind of ambiguity I'm concerned about.
> 
> On the other hand, if "the spec" means "the specification of RPC-over-RDMA Version One",
> in which multiple directions of operation can be supported, the ambiguity is unavoidable. If 
> you (client or server) receive a message you do not know a priori, whether it is a request or 
> a reply and there are situations in which the receiver cannot determine, given a malformed 
> message, whether it has received a malformed request or reply.

I left the existing language in rpcrdma-bidirection.
So Section 4.1 still has:

>    When message direction is not fully determined by context or by an
>    accompanying RPC message with a call direction field, it is not
>    possible to tell whether the header credit value is a request or
>    grant, or whether the value applies to the forward direction or
>    backward direction.  In such cases, the receiver MUST NOT use the
>    header’s credit value.


Adding the "RDMA_ERROR is responder-to-requester only"
to rfc5666bis, plus this from Section 5.1:

>    The rdma_vers field MUST contain the same value in backward and
>    forward direction Call messages on the same connection.


And this from Section 6:

>    Therefore, an Upper Layer Protocol consumer MUST NOT perform backward
>    direction ONC RPC operations unless the peer consumer has indicated
>    it is prepared to handle them.


All serve to close the largest windows of ambiguity we
know about. But true enough, there may be others.


--
Chuck Lever