Re: [nfsv4] I-D Action:draft-ietf-nfsv4-ipv4v6-00.txt

Trond Myklebust <trond.myklebust@fys.uio.no> Wed, 27 October 2010 22:18 UTC

Return-Path: <trond.myklebust@fys.uio.no>
X-Original-To: nfsv4@core3.amsl.com
Delivered-To: nfsv4@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 8C8B83A679F for <nfsv4@core3.amsl.com>; Wed, 27 Oct 2010 15:18:12 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -5.553
X-Spam-Level:
X-Spam-Status: No, score=-5.553 tagged_above=-999 required=5 tests=[AWL=-0.766, BAYES_00=-2.599, RCVD_IN_DNSWL_MED=-4, SARE_SPEC_REPLICA_OBFU=1.812]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id JJ6e0OaFDKfL for <nfsv4@core3.amsl.com>; Wed, 27 Oct 2010 15:18:09 -0700 (PDT)
Received: from mail-out1.uio.no (mail-out1.uio.no [129.240.10.57]) by core3.amsl.com (Postfix) with ESMTP id 0E5133A676A for <nfsv4@ietf.org>; Wed, 27 Oct 2010 15:18:09 -0700 (PDT)
Received: from mail-mx4.uio.no ([129.240.10.45]) by mail-out1.uio.no with esmtp (Exim 4.69) (envelope-from <trond.myklebust@fys.uio.no>) id 1PBELe-0001T5-Lp; Thu, 28 Oct 2010 00:19:58 +0200
Received: from c-68-40-206-115.hsd1.mi.comcast.net ([68.40.206.115] helo=[192.168.1.29]) by mail-mx4.uio.no with esmtpsa (SSLv3:CAMELLIA256-SHA:256) user trondmy (Exim 4.69) (envelope-from <trond.myklebust@fys.uio.no>) id 1PBELd-00056P-ST; Thu, 28 Oct 2010 00:19:58 +0200
From: Trond Myklebust <trond.myklebust@fys.uio.no>
To: dhawal bhagwat <dhawal@netapp.com>
In-Reply-To: <alpine.LRH.2.00.1010280220330.11213@plpyao08.rat.ogp.argncc.va>
References: <20101018174520.EB8BA3A6B8B@core3.amsl.com> <C9B236F2-1F42-4070-A083-1A776B5C9C92@netapp.com> <1287431593.3646.23.camel@heimdal.trondhjem.org> <alpine.LRH.2.00.1010280220330.11213@plpyao08.rat.ogp.argncc.va>
Content-Type: text/plain; charset="UTF-8"
Date: Wed, 27 Oct 2010 18:19:55 -0400
Message-ID: <1288217995.13431.38.camel@heimdal.trondhjem.org>
Mime-Version: 1.0
X-Mailer: Evolution 2.30.3 (2.30.3-1.fc13)
Content-Transfer-Encoding: 7bit
X-UiO-Ratelimit-Test: rcpts/h 3 msgs/h 1 sum rcpts/h 6 sum msgs/h 2 total rcpts 1087 max rcpts/h 20 ratelimit 0
X-UiO-Spam-info: not spam, SpamAssassin (score=-5.0, required=5.0, autolearn=disabled, UIO_MAIL_IS_INTERNAL=-5, uiobl=NO, uiouri=NO)
X-UiO-Scanned: DD0C26C23A61B2A598D4C2A598BD48D729266A7D
X-UiO-SPAM-Test: remote_host: 68.40.206.115 spam_score: -49 maxlevel 80 minaction 2 bait 0 mail/h: 1 total 436 max/h 7 blacklist 0 greylist 0 ratelimit 0
Cc: nfsv4@ietf.org
Subject: Re: [nfsv4] I-D Action:draft-ietf-nfsv4-ipv4v6-00.txt
X-BeenThere: nfsv4@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: NFSv4 Working Group <nfsv4.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/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, 27 Oct 2010 22:18:12 -0000

On Thu, 2010-10-28 at 03:28 +0530, dhawal bhagwat wrote:
> >} Date: Mon, 18 Oct 2010 15:53:13 -0400
> >} From: Trond Myklebust <trond.myklebust@fys.uio.no>
> >} To: Thomas Haynes <thomas@netapp.com>
> >} Cc: nfsv4@ietf.org
> >} Subject: Re: [nfsv4] I-D Action:draft-ietf-nfsv4-ipv4v6-00.txt
> >} 
> >} On Mon, 2010-10-18 at 14:28 -0500, Thomas Haynes wrote:
> >} 
> >} > 
> >} > A larger question on the draft as a whole would be whether we could
> >} > add some
> >} > additional operations to NFSv4.2 to get rid of the guessing. I.e.,
> >} > could a client
> >} > send a server a list of IPv4 and IPv6 addresses that it is using and
> >} > in return the
> >} > server respond with the equivalence addresses that it is using?
> >} > 
> >} 
> >} Why does the server need this information? The NFSv4.1 protocol does not
> >} provide for server-initiated callbacks. All communication channels (i.e.
> >} TCP connections) are initiated by the client in NFSv4.1.
> >} 
> >} Furthermore, EXCHANGE_ID already provides a mechanism to allow the
> >} client to discover that 2 IP addresses point to the same server. This
> >} mechanism even works independently of the actual transport mechanism
> >} used, so it will work with RDMA and other possible future transport
> >} mechanisms too.
> >} 
> >} > One issue I can see is that the machines might be on different subnets
> >} > that use the
> >} > same IP addresses. I.e., 192.168.2.14 on the filer's e0a might be a
> >} > different private subnet
> >} > than the 192.168.2.15 on the client's e1.
> >} 
> >} This is why relying on advertising of private nets via RPCBIND is bad.
> 
> Is this for RPCBIND to worry about?  Shouldn't setups like the one 
> described above be separated into different IP spaces?  Within the same IP 
> space, the above I believe is a incorrect network config -- how would 
> hosts in one of those subnets, route to those in the other subnet?
> 
> If private subnets are properly configured, will there be a problem with 
> RPCBIND advertising private addresses?

Consider the (common) case where I'm VPNed in to my office, but have a
local connection to my home LAN so that I can access my NAS box, my
printer etc. Is that an 'incorrect network config'?

If I then try to connect to an office NFS server, and its RPCBIND starts
telling me to connect via an IP address that matches something on my LAN
(and I start treating my NAS box as a replica of the office server),
then who configured what incorrectly?

> For IPv6 however, there is the issue of RPCBIND advertising IPv6 
> link local addresses across links -- that is for RPCBIND to explicitly 
> take care of.  We have talked of this issue in the other draft 
> (draft-ietf-nfsv4-ipv6-00.txt).

I can't see how RPCBIND can take care of anything. If it wants to
advertise something on a private network, then it needs to know about my
client's ability to route to the correct object on that private network.
Advertising stuff on a global net doesn't have that problem, because the
routing tables are globally defined.

Trond