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

David Noveck <davenoveck@gmail.com> Fri, 03 June 2016 14:33 UTC

Return-Path: <davenoveck@gmail.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 8280912D6AD for <nfsv4@ietfa.amsl.com>; Fri, 3 Jun 2016 07:33:24 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.699
X-Spam-Level:
X-Spam-Status: No, score=-2.699 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.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 Hm-C5djzqnjW for <nfsv4@ietfa.amsl.com>; Fri, 3 Jun 2016 07:33:22 -0700 (PDT)
Received: from mail-oi0-x232.google.com (mail-oi0-x232.google.com [IPv6:2607:f8b0:4003:c06::232]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 9043912D6C5 for <nfsv4@ietf.org>; Fri, 3 Jun 2016 07:33:21 -0700 (PDT)
Received: by mail-oi0-x232.google.com with SMTP id j1so129209028oih.3 for <nfsv4@ietf.org>; Fri, 03 Jun 2016 07:33:21 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=e9lk7Rb5j2U5sUIqpWgjGzuBo2FOXHN01PcJqUh1gWI=; b=CuLcwEucDGSbYY1WvLv7KjYHcqh5p788Yj8sABufGk+1JKws0yNmLtwSA+pJdvSlc0 B3RD/dOqzqKrfmYYh5R3ZYmWkBHjpPz39VsyEaGrzSzZ4PlJIHU1nBuhy8jSICasytk7 ZKtlScFdn7AjIC2OMACTAvKAsEig+bkG+n/1x8ctZ2Eb7oaTgtb6biUF4sOT4oofKb4I HGdN8PfQbnCriLF26b+xzSxYCMFWcxZZLEreL/R4Z2PjAS0UnKRcIyXaatdkHjf4FH3i iabaOk6R46bjyp0dSLPaN4r67CZ3oB1wfDQZRe2vQ9DYZwjkuBItI1Uat9hI5H67Ps3Z bBsw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=e9lk7Rb5j2U5sUIqpWgjGzuBo2FOXHN01PcJqUh1gWI=; b=bbG/0jIhfPkeL43NI5bCNPMUO80SRTq/GdDcGjur4IyfKIt7bOAbnXT0C2IbYLGsoc y2sGQpzZXSyOMDLkCV3V7zMm3Bq0wTT5X+h+qlCvMCEveNPFQz7x81VWOZGmrY30CODK xzqGeSq6UPd1a2Ggy4CdubBVuvI8HUBbVImwTdK+wOqXAYdvnuvTfDCW+/Nd+GKBYU/8 qlIG1fPgft+l+iudR6D7c8GLLU+V5Vg5b3sqe64nrzFm4kVgbSxXLE/wHPrPrtywsdq3 Q07M9BcCCR0cqEgT4Kg94gMs+rapLRz/S0PBdFQUHmCJgA0GLZmAu2QryhBlyGKGnMEP /C9A==
X-Gm-Message-State: ALyK8tJuXDeyKJ2eeOJdRRSvhk9ZQnkbbRXezEjGG4vn+i3EwhDcbyqYSFIgxiMkQPOYzWRghZuKIuQUdLGutg==
X-Received: by 10.157.48.89 with SMTP id w25mr1925570otd.32.1464964400844; Fri, 03 Jun 2016 07:33:20 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.182.29.166 with HTTP; Fri, 3 Jun 2016 07:33:17 -0700 (PDT)
In-Reply-To: <CADaq8jeBFLT4QB9=jY0OywbDDon0eUSrafz3nDVxcORNvwpDbg@mail.gmail.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> <46B6E3E0-4598-4A54-A091-D590BF084B7F@oracle.com> <CADaq8jeBFLT4QB9=jY0OywbDDon0eUSrafz3nDVxcORNvwpDbg@mail.gmail.com>
From: David Noveck <davenoveck@gmail.com>
Date: Fri, 03 Jun 2016 10:33:17 -0400
Message-ID: <CADaq8jc2hEg+sk7ADPoaFKmvCQ_xWjAkP1amWz9PJDHRSnCvHw@mail.gmail.com>
To: Chuck Lever <chuck.lever@oracle.com>
Content-Type: multipart/alternative; boundary="001a11414ce0b896da0534609a96"
Archived-At: <http://mailarchive.ietf.org/arch/msg/nfsv4/rG8mOZ4HDBPz8Si9K4JSHY-aDDE>
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, 03 Jun 2016 14:33:24 -0000

A week ago I wrote:
> The problem is that, in a multi-direction context, a given implementation
only knows whether it is a client or
> a server.  It only knows if it is a requester or a responder based on the
message it is processing at any given
> instant and if it can't figure that out, it is unsure whether it is a
requester or responder and may be neither at
> particular times.

It's now been at least two weeks since last call was supposed to end for
the Version One RDMA documents
and a week since Chuck posted any necessary updates.  I'm not sure why the
documents are still listed as in
WGLC, but I wanted to make it clear that my comments above should not be
holding these up.

Those comments refer to a problem that is inherent in Version One  and
cannot be fixed within the constraints
of a Version One no-XDR-change update.  Since the Working group has decided
to do a Version One no-XDR-change
update, the three existing RDMA documents should now go forward.  I don;t
believe there is any disagreement on
that point.

On Fri, May 27, 2016 at 1:33 PM, David Noveck <davenoveck@gmail.com> wrote:

> > But true enough, there may be others.
>
> There are others but I'm coming to the conclusion that it would be too
> disruptive to try to address them in Version One :-(
>
> Fortunately, we don't have to since these are very unusual situations :-)
>
> For example, "RDMA_ERROR is responder-to-requester only" does not admit
> an ambiguity in a one-direction-only context.
>
> The problem is that, in a multi-direction context, a given implementation
> only knows whether it is a client or
> a server.  It only knows if it is a requester or a responder based on the
> message it is processing at any given
> instant and if it can't figure that out, it is unsure whether it is a
> requester or responder and may be neither at
> particular times.
>
> Sigh!
>
>
> On Fri, May 27, 2016 at 10:01 AM, Chuck Lever <chuck.lever@oracle.com>
> wrote:
>
>>
>> > 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
>>
>>
>>
>>
>