Re: [nfsv4] 4.0 trunking
"J. Bruce Fields" <bfields@fieldses.org> Thu, 22 September 2016 16:04 UTC
Return-Path: <bfields@fieldses.org>
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 6FEA612BCAF for <nfsv4@ietfa.amsl.com>; Thu, 22 Sep 2016 09:04:49 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.218
X-Spam-Level:
X-Spam-Status: No, score=-4.218 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RP_MATCHES_RCVD=-2.316, SPF_HELO_PASS=-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 ehLpA0uJlXTK for <nfsv4@ietfa.amsl.com>; Thu, 22 Sep 2016 09:04:48 -0700 (PDT)
Received: from fieldses.org (fieldses.org [IPv6:2600:3c00::f03c:91ff:fe50:41d6]) by ietfa.amsl.com (Postfix) with ESMTP id EAD7012B363 for <nfsv4@ietf.org>; Thu, 22 Sep 2016 09:04:47 -0700 (PDT)
Received: by fieldses.org (Postfix, from userid 2815) id BBC982447; Thu, 22 Sep 2016 12:04:45 -0400 (EDT)
Date: Thu, 22 Sep 2016 12:04:45 -0400
From: "J. Bruce Fields" <bfields@fieldses.org>
To: David Noveck <davenoveck@gmail.com>
Message-ID: <20160922160445.GD30401@fieldses.org>
References: <BBB2EBDC-6F05-44C1-B45A-C84C24A9AD7F@netapp.com> <20160920213931.GC12789@fieldses.org> <CADaq8jeqr9WPeBeV0ruxwy+5omfgHhJFjAR=tCGL3N-Yjt0PuQ@mail.gmail.com> <20160921024531.GA17232@fieldses.org> <CADaq8jdUJG7zBwn7f2xtLO3gf4nvwjM2H00E6N2oTGP2b9Nzww@mail.gmail.com> <20160921141409.GA20963@fieldses.org> <20160921195339.GC24084@fieldses.org> <CADaq8jfHUr_A=90UTPG7M5+7to3bM1DiYc6sAyYWYOXQTGeTiA@mail.gmail.com> <20160922125145.GA30013@fieldses.org> <CADaq8jdW4NwFV-Lf8fjjcq48Xc+ZJnc-Gn+bOwqXLm6zH9AOUw@mail.gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <CADaq8jdW4NwFV-Lf8fjjcq48Xc+ZJnc-Gn+bOwqXLm6zH9AOUw@mail.gmail.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
Archived-At: <https://mailarchive.ietf.org/arch/msg/nfsv4/U0lcmd5UVJHlQnS4lntexke-kAA>
Cc: "Adamson, Andy" <William.Adamson@netapp.com>, "nfsv4@ietf.org" <nfsv4@ietf.org>
Subject: Re: [nfsv4] 4.0 trunking
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: Thu, 22 Sep 2016 16:04:49 -0000
On Thu, Sep 22, 2016 at 10:46:35AM -0400, David Noveck wrote: > > > As it now appears that the Linux client had > > > implemented something different than that, the correctness of > > the > algorithm > > > in section 5.8 has to be considered an open question. > > > It has the same problem; > > Please explain what the problem is. If we don't agree on what the problem > is, it is hard to come up with a solution. OK, my attempt, from scratch: > One way to do this would be to give a case where a > client implementing section 5.8 might interact with two servers and could > arrive at the wrong result, assuming the servers meet the requirements of > RFC7530, which are, as you pointed out, considerably weaker than those in > the VS paragraph in section 5.8. I'll stick a variation on the shorthands I've been using but I beleive I'm following section 5.8 otherwise: 1. A previous SETCLIENTID to X1 returned (clientid, verifier) (C, V1). It was confirmed and kept renewed since. 2. A new SETCLIENTID to X2 returns (C, V2). 3. Confirm it with a SETCLIENTID_CONFIRM(C, V2) to X2. 4. Send a callback-updating SETCLIENTID(C) to X1, which returns (C, V1'). 5. Send a SETCLIENTID_CONFIRM(C, V1') to X2. Then consider X1 and X2 the same server iff 5 succeeds. This can incorrectly identify X1 and X2 as the same if V1' happens to equal V2. In that case X2 will see the SETCLIENTID_CONFIRM as a replay of the one in step 3. The RFC is aware of the possibility but expects it to be rare because clientids and confirm verifiers are both 64-bit values, and if they were each chosen uniformly at random from that space, the chance of both colliding would be insignificant. In practice they may be chosen in a predictable fashion from a limited part of the 64-bit space. And the birthday paradox compounds this problem in the presence of multiple servers. Do we agree on the problem? --b.
- [nfsv4] 4.0 trunking J. Bruce Fields
- Re: [nfsv4] 4.0 trunking David Noveck
- Re: [nfsv4] 4.0 trunking J. Bruce Fields
- Re: [nfsv4] 4.0 trunking David Noveck
- Re: [nfsv4] 4.0 trunking J. Bruce Fields
- Re: [nfsv4] 4.0 trunking Adamson, Andy
- Re: [nfsv4] 4.0 trunking J. Bruce Fields
- Re: [nfsv4] 4.0 trunking J. Bruce Fields
- Re: [nfsv4] 4.0 trunking J. Bruce Fields
- Re: [nfsv4] 4.0 trunking David Noveck
- Re: [nfsv4] 4.0 trunking J. Bruce Fields
- Re: [nfsv4] 4.0 trunking David Noveck
- Re: [nfsv4] 4.0 trunking J. Bruce Fields
- Re: [nfsv4] 4.0 trunking J. Bruce Fields
- Re: [nfsv4] 4.0 trunking David Noveck
- Re: [nfsv4] 4.0 trunking J. Bruce Fields
- Re: [nfsv4] 4.0 trunking David Noveck
- Re: [nfsv4] 4.0 trunking J. Bruce Fields
- Re: [nfsv4] 4.0 trunking David Noveck
- Re: [nfsv4] 4.0 trunking J. Bruce Fields
- Re: [nfsv4] 4.0 trunking Andy Adamson
- Re: [nfsv4] 4.0 trunking J. Bruce Fields
- Re: [nfsv4] 4.0 trunking Chuck Lever
- Re: [nfsv4] 4.0 trunking J. Bruce Fields