Re: [nfsv4] FedFS: Comment about fedfsFslPort

Chuck Lever <chuck.lever@oracle.com> Wed, 19 October 2011 20:55 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 E170811E80A3 for <nfsv4@ietfa.amsl.com>; Wed, 19 Oct 2011 13:55:53 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.146
X-Spam-Level:
X-Spam-Status: No, score=-6.146 tagged_above=-999 required=5 tests=[AWL=0.453, BAYES_00=-2.599, RCVD_IN_DNSWL_MED=-4]
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 gRRunFXqdyu6 for <nfsv4@ietfa.amsl.com>; Wed, 19 Oct 2011 13:55:53 -0700 (PDT)
Received: from rcsinet15.oracle.com (rcsinet15.oracle.com [148.87.113.117]) by ietfa.amsl.com (Postfix) with ESMTP id 51A8921F8512 for <nfsv4@ietf.org>; Wed, 19 Oct 2011 13:55:53 -0700 (PDT)
Received: from acsinet21.oracle.com (acsinet21.oracle.com [141.146.126.237]) by rcsinet15.oracle.com (Switch-3.4.4/Switch-3.4.4) with ESMTP id p9JKto0F032285 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Wed, 19 Oct 2011 20:55:52 GMT
Received: from acsmt356.oracle.com (acsmt356.oracle.com [141.146.40.156]) by acsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id p9JKto49005407 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Wed, 19 Oct 2011 20:55:50 GMT
Received: from abhmt110.oracle.com (abhmt110.oracle.com [141.146.116.62]) by acsmt356.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id p9JKtiJK009891; Wed, 19 Oct 2011 15:55:44 -0500
Received: from [10.55.17.4] (/198.95.226.40) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Wed, 19 Oct 2011 13:55:44 -0700
Mime-Version: 1.0 (Apple Message framework v1084)
Content-Type: text/plain; charset="us-ascii"
From: Chuck Lever <chuck.lever@oracle.com>
In-Reply-To: <A2C68E1E-DE96-499B-9BDC-F5E527F4B11A@oracle.com>
Date: Wed, 19 Oct 2011 13:55:42 -0700
Content-Transfer-Encoding: quoted-printable
Message-Id: <474D25B5-42E3-4AA4-BC1C-789F88EA3593@oracle.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>
To: James Lentini <jlentini@netapp.com>
X-Mailer: Apple Mail (2.1084)
X-Source-IP: acsinet21.oracle.com [141.146.126.237]
X-Auth-Type: Internal IP
X-CT-RefId: str=0001.0A090204.4E9F3958.00BB:SCFMA922111,ss=1,re=-4.000,fgs=0
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: Wed, 19 Oct 2011 20:55:54 -0000

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.  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.

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.

Thoughts?

--
Chuck Lever
chuck[dot]lever[at]oracle[dot]com