Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 13 Apr 2009 10:20:09 -0400 (EDT)
From:      Rick Macklem <rmacklem@uoguelph.ca>
To:        Tim Kientzle <kientzle@freebsd.org>
Cc:        Robert Watson <rwatson@freebsd.org>, Julian Elischer <julian@elischer.org>, freebsd-arch@freebsd.org
Subject:   Re: getting a callback ip address for nfsv4 client
Message-ID:  <Pine.GSO.4.63.0904131001390.21566@muncher.cs.uoguelph.ca>
In-Reply-To: <49E25816.9010907@freebsd.org>
References:  <Pine.GSO.4.63.0903301733120.17182@muncher.cs.uoguelph.ca> <alpine.BSF.2.00.0904051826550.12639@fledge.watson.org> <49D98461.4000002@elischer.org> <alpine.BSF.2.00.0904061143190.34905@fledge.watson.org> <Pine.GSO.4.63.0904061132190.19343@muncher.cs.uoguelph.ca> <BE45DEE0-8D98-4B32-B48A-4D86834DD6E2@rabson.org> <alpine.BSF.2.00.0904121323220.19879@fledge.watson.org> <C8A9F5A9-9B82-43A5-818A-3771B1B25CC7@rabson.org> <Pine.GSO.4.63.0904121357270.15456@muncher.cs.uoguelph.ca> <alpine.BSF.2.00.0904121906270.19879@fledge.watson.org> <Pine.GSO.4.63.0904121515220.27116@muncher.cs.uoguelph.ca> <49E25816.9010907@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help


On Sun, 12 Apr 2009, Tim Kientzle wrote:

>
> In general, the client doesn't know what address to use
> in this case.  In fact, I've been a little confused by this
> conversation all along.  It sounds like the client is
> looking up it's own address in order to tell the server
> how to contact the client?  Why?  The server already
> knows the source IP address on the incoming packets
> from the client; that's much more robust than anything
> the client could look up.
>
No misunderstanding, except that the nfsv4 designers put the callback
address in the SetClientID request, so a client must explicitly specify
it. (I can only guess that they wanted the client to be able to specify
an alternate routing or maybe some vendors wanted to be able to put the
callback server on a separate machine/interface or ???)

To me, it would have been simpler to just put callback RPCs in the same
TCP stream as the client->server RPCs, but they didn't do that
either.

For nfsv4.1, there is a large glob of stuff called Sessions, 
which handles the transport layer and the connections for callbacks are
created by the client, which avoids the problem.

rick




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.GSO.4.63.0904131001390.21566>