Re: enabling IPv6

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On Jan 18, 2010, at 5:33 PM, Jeff Layton wrote:

On Mon, 18 Jan 2010 16:28:39 -0500
Chuck Lever <chuck.lever@xxxxxxxxxx> wrote:


On Jan 18, 2010, at 2:47 PM, Jeff Layton wrote:

With the commit of the statd patches over the weekend, we're now
positioned to be able to ship IPv6-enabled nfs-utils in distros. There
is a potential snag though...

Consider this situation:

Admin has a Linux server set up. Server has both IPv4 and IPv6 addrs.
Both addresses are in DNS.

Without an IPv6-enabled nfs-utils, he mounts via IPv4 and all works
fine. Now with an IPv6 enabled nfs-utils, mount.nfs prefers the IPv6
addr and the mount fails (or hangs for a long time and then fails, if
it's using NFSv4)...

Why should it fail?

Because Linux NFS servers that work over IPv6 pretty much don't exist
yet.

More specifically, mount version and transport negotation is not working in this case. Otherwise, specifying "proto=" would be an adequate solution.

While I don't really like it, I think we may need to consider making
mount.nfs prefer IPv4 addrs when it can resolve a hostname to both v4 and v6. Otherwise, we run the risk of breaking an awful lot of working
setups...

Isn't that what "proto=udp" vs. "proto=udp6" is for?

Yes. But that assumes that the admin will know to use that. As it
stands now, they'll have to do a bit of investigation to figure out why
the mount failed and then figure out how to fix it.

Obviously, that's less ideal than a solution that leaves setups working that are working today. I don't think we ought to put the onus on users
to add extra mount options to stay working.

Notice that the server already tells you what it can and can't support. If the server doesn't support rpcbind v3 or v4, you can't use IPv6. If it does, it can report to the client that "udp6" and "tcp6" are not registered. Really, then, what we want is to teach mount's version and transport negotiation to negotiate the protocol family as well as the transport and NFS version.

But for now, it seems like the only case we are worried about here is when the "proto/mountproto" options aren't specified on a text-based mount. Always choosing an IPv4 address in this case is likely a good compromise. nfs_validate_options() might be a better spot to sort all this out than nfs_lookup(), though.

It should also be pretty easy to parametrize this behavior in the config file.

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




--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux