public inbox for linux-nfs@vger.kernel.org
 help / color / mirror / Atom feed
From: "J. Bruce Fields" <bfields@fieldses.org>
To: Chuck Lever <chuck.lever@oracle.com>
Cc: Jeff Layton <jlayton@redhat.com>,
	linux-nfs@vger.kernel.org, steved@redhat.com,
	trond.myklebust@fys.uio.no
Subject: Re: [PATCH] mount.nfs: prefer IPv4 addresses over IPv6 (try #2)
Date: Thu, 21 Jan 2010 14:57:46 -0500	[thread overview]
Message-ID: <20100121195746.GC22021@fieldses.org> (raw)
In-Reply-To: <4B58AD16.8040309@oracle.com>

On Thu, Jan 21, 2010 at 02:37:58PM -0500, Chuck Lever wrote:
> On 01/21/2010 02:15 PM, J. Bruce Fields wrote:
>> On Wed, Jan 20, 2010 at 10:36:36AM -0500, Chuck Lever wrote:
>>> For the record, we looked at Solaris behavior yesterday.  With bi-family
>>> servers, its mount command tries IPv6 first, but appears smart enough to
>>> fall back to IPv4.  One thing we haven't tried is to see how difficult it
>>> would be to fix the real problem by adding proper protocol family
>>> negotiation to our own mount command.
>>
>> Sorry, I probably just haven't been following: what's "proper protocol
>> family negotiation"?  I thought the only ways to negotiate were either
>> rpcbind (v2, v3) or trial and error (v4)?
>
> In TI-RPC parlance, a "protocol" is the transport protocol (UDP, for  
> example), and a "protocol family" is the address family ("inet6", for  
> example).  A netid represents a particular combination of the two:  the  
> netid "udp6" represents UDP over "inet6".
>
> The "protocol family" is really the value that is passed to socket(2).  
> This call generally takes PF_INET or something like that as its first  
> argument.  All of the PF_FOO thingies have the same integer value as  
> their AF_FOO counterparts.  For TI-RPC, we have "inet" and "inet6",  
> which are strings that match up with the AF_FOO and PF_FOO names.
>
> rpcb_getaddr(3t) is designed to use the rpcbind protocol to determine  
> the address and transport to use when contacting a remote service.  Our
> mount command has its own negotiation mechanism that is a superset of  
> rpcbind calls, in addition to having a faster timeout than 
> rpcb_getaddr(3t).

What does "is a superset of rpcbind calls" mean?  I still don't
understand what the proper protocol family negotiation is: what actually
happens on the wire?

--b.

>
> Until now, mount.nfs hasn't needed to negotiate the protocol family in  
> addition to the NFS and mount versions and transports.  It always  
> assumed "inet" (or AF_INET, or PF_INET), and until recently, used only  
> rpcbind protocol version 2.

  reply	other threads:[~2010-01-21 19:56 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-01-19 13:27 [PATCH] mount.nfs: prefer IPv4 addresses over IPv6 (try #2) Jeff Layton
2010-01-19 15:43 ` Chuck Lever
2010-01-19 20:38   ` Jeff Layton
     [not found]     ` <20100119153826.67dd97a5-9yPaYZwiELC+kQycOl6kW4xkIHaj4LzF@public.gmane.org>
2010-01-19 20:51       ` Trond Myklebust
2010-01-19 21:06         ` Chuck Lever
2010-01-20 13:13         ` Jeff Layton
2010-01-20 13:29   ` Jeff Layton
2010-01-20 15:36     ` Chuck Lever
2010-01-20 16:34       ` Jeff Layton
     [not found]         ` <20100120113422.6071bfbd-9yPaYZwiELC+kQycOl6kW4xkIHaj4LzF@public.gmane.org>
2010-01-20 19:09           ` Chuck Lever
2010-01-21 19:15       ` J. Bruce Fields
2010-01-21 19:37         ` Chuck Lever
2010-01-21 19:57           ` J. Bruce Fields [this message]
2010-01-21 20:28             ` Chuck Lever
2010-01-21 21:52               ` J. Bruce Fields
2010-01-23 12:54 ` NFS/IPv6 servers on GNU/Linux? Ivan Shmakov
     [not found]   ` <87y6jp56cw.fsf-Hr8DDCuc/255On46OghOUKxOck334EZe@public.gmane.org>
2010-01-23 14:30     ` Jeff Layton

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20100121195746.GC22021@fieldses.org \
    --to=bfields@fieldses.org \
    --cc=chuck.lever@oracle.com \
    --cc=jlayton@redhat.com \
    --cc=linux-nfs@vger.kernel.org \
    --cc=steved@redhat.com \
    --cc=trond.myklebust@fys.uio.no \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox