Re: [nfsv4] FedFS: Comment about fedfsFslPort

James Lentini <jlentini@netapp.com> Thu, 20 October 2011 14:17 UTC

Return-Path: <jlentini@netapp.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 DBB2F21F8B5D for <nfsv4@ietfa.amsl.com>; Thu, 20 Oct 2011 07:17:24 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -10.599
X-Spam-Level:
X-Spam-Status: No, score=-10.599 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, RCVD_IN_DNSWL_HI=-8]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id LQC5mhVfKo21 for <nfsv4@ietfa.amsl.com>; Thu, 20 Oct 2011 07:17:24 -0700 (PDT)
Received: from mx2.netapp.com (mx2.netapp.com [216.240.18.37]) by ietfa.amsl.com (Postfix) with ESMTP id 4C02E21F8AF6 for <nfsv4@ietf.org>; Thu, 20 Oct 2011 07:17:24 -0700 (PDT)
X-IronPort-AV: E=Sophos;i="4.69,379,1315206000"; d="scan'208";a="590683218"
Received: from smtp2.corp.netapp.com ([10.57.159.114]) by mx2-out.netapp.com with ESMTP; 20 Oct 2011 07:17:24 -0700
Received: from jlentini-linux.nane.netapp.com (jlentini-linux.nane.netapp.com [10.97.52.58]) by smtp2.corp.netapp.com (8.13.1/8.13.1/NTAP-1.6) with ESMTP id p9KEHNrP011952; Thu, 20 Oct 2011 07:17:23 -0700 (PDT)
Date: Thu, 20 Oct 2011 10:17:04 -0400
From: James Lentini <jlentini@netapp.com>
X-X-Sender: jlentini@jlentini-linux.nane.netapp.com
To: Chuck Lever <chuck.lever@oracle.com>
In-Reply-To: <474D25B5-42E3-4AA4-BC1C-789F88EA3593@oracle.com>
Message-ID: <alpine.LFD.2.02.1110201010350.13132@jlentini-linux.nane.netapp.com>
References: <F2ECCB79-4742-4420-95F6-58ED2957A06F@oracle.com> <DA13BB29-39B4-436E-B7B5-F3C66C7F5808@netapp.com> <DDAF2679-A76D-459F-8B96-582576851D29@oracle.com> <A05BB310-57C0-4567-B6C3-82CAC4E5C50A@oracle.com> <4E9617AC.1080905@oracle.com> <alpine.LFD.2.02.1110191444250.13132@jlentini-linux.nane.netapp.com> <A2C68E1E-DE96-499B-9BDC-F5E527F4B11A@oracle.com> <474D25B5-42E3-4AA4-BC1C-789F88EA3593@oracle.com>
User-Agent: Alpine 2.02 (LFD 1266 2009-07-14)
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset="US-ASCII"
Cc: Robert Thurlow <Robert.Thurlow@oracle.com>, nfsv4@ietf.org
Subject: Re: [nfsv4] FedFS: Comment about fedfsFslPort
X-BeenThere: nfsv4@ietf.org
X-Mailman-Version: 2.1.12
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: <http://www.ietf.org/mail-archive/web/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, 20 Oct 2011 14:17:25 -0000

On Wed, 19 Oct 2011, Chuck Lever wrote:

> 
> On Oct 19, 2011, at 12:10 PM, Chuck Lever wrote:
> 
> > 
> > On Oct 19, 2011, at 11:54 AM, James Lentini wrote:
> > 
> >> 
> >> 
> >> On Wed, 12 Oct 2011, Robert Thurlow wrote:
> >> 
> >>> Chuck Lever wrote:
> >>> 
> >>>> Thus there's no need for a separate FSL field to express a port value for
> >>>> NFS referrals.  Regardless of whether 3530bis is changed as proposed, I
> >>>> think we should remove the fedfsFslPort field, and leave that detail to the
> >>>> subclasses of fedfsFsl where it is meaningful.
> >>> 
> >>> Agreed.
> >> 
> >> Removing the optional fedfsFslPort attribute from the fedfsFsl 
> >> objectclass makes sense to me. Subclasses of fedfsFsl should include a 
> >> port when necessary.
> >> 
> >> However, I believe that an NFS FSL should include a port attribute.
> >> 
> >> As defined in RFC 5661, NFSv4.1 allows for modified universal 
> >> addresses to be included in a referral (see RFC 5661's definition of 
> >> the fls_server field in Section 11.10.1).
> >> 
> >> As defined in Section 4.2.1.2 of 
> >> draft-ietf-nfsv4-federated-fs-protocol-11, the format of the 
> >> fedfsFslHost attribute does not allow universal addresses or port 
> >> values to be specified.
> >> 
> >> The combination of a fedfsFslHost and fedfsFslPort (renamed to be a 
> >> fedfsNfsFslPort?) provide enough information to generate the modified 
> >> universal addresses used in NFSv4.1 referrals.
> > 
> > My concern about this is that now the file server would have to 
> > perform a DNS lookup to discover the address that is bound to the 
> > fedfsFslHost.  Can we guarantee that the client would get the same 
> > results from a DNS lookup, given that hostname?  Does that matter?
> 
> I'll go a little further here, based on recent implementation 
> experience.
> 
> The intent as I understand it is that an NFS FSL stores information 
> that the file server translates to either fs_locations4 or 
> fs_locations_info4.  The challenge of this translation has been 
> dealing with information in an NFS FSL that is stored differently or 
> is semantically different than what's in fs_locations{_info}4.
> 
> This includes not just fedfsFslPort.  fs_locations4, for instance 
> has the possibility of transmitting a list of servernames that share 
> the same export path.  The NFS FSL, however, stores a single server 
> name and a single export path.
> 
> And before you mentioned it today, I didn't realize that 
> fedfsFslHost could express only a DNS hostname, and not IP or 
> universal addresses.  /me slaps forehead.  

Actually a fedfsFslHost can store a DNS name, IPv4 address, or IPv6 
address.

The fedfsFslHost attribute's format is defined by its superior 
attribute's format, the fedfsNetAddr, which "is the locative name of a 
network service in either IPv4, IPv6, or DNS name notation. See 
section 4.2.1.2 of draft-ietf-nfsv4-federated-fs-protocol-11 for the 
full definition.

> This is another translation complication for file server 
> implementors.  IMO we would be better off if NFS FSLs were a closer 
> match to fs_locations{_info}4.

I don't see any need to do a translation.

> As an example, we could also move fedfsFslHost to the NFS FSL, and 
> allow the NFS version of this attribute to be multi-valued and 
> contain the full range of string values that are allowed in the 
> fls_server field in fs_locations_info4.  I think that would be more 
> natural for administrators who have already set up NFS referrals 
> using other administrative interfaces native to their platform.
> 
> More generally, I don't think we should assume that the data in 
> "FslHost" will be the same type for every network file system, and 
> that this information, therefore, is also specific to subclasses of 
> fedfsFsl.