Owner

Current status

Detailed Description

Much of this support is already upstream, but the main feature points are:

Kernel RPC support for IPv6

Kernel NFS client support for IPv6

Kernel lock manager (lockd) support for IPv6

mount.nfs support for IPv6

rpc.gssd support for IPv6

rpc.statd support for IPv6

Benefit to Fedora

Many installations already use IPv6, and we would like the ability to mount via NFS over these networks. Solaris has support NFS over IPv6 for years. There's no reason that Linux can't also support it.

Scope

This involves changing both the kernel pieces and the utilities in nfs-utils. Most of the kernel support is already in 2.6.30. Userspace nfs-utils needs to have IPv6 support turned on and will gain a dependency on libtirpc.

As an interim step, we'd like to see TI-RPC support enabled first in nfs-utils, and then later turn on full IPv6 support.

How To Test

To test, a server that supports IPv6 is required. Server-side support is not yet complete for Linux, so an OpenSolaris server is recommended for testing.

The tester will need a recent kernel with support for NFS over IPv6 and an nfs-utils userspace package with IPv6 enabled.

It's expected that most NFS functionality won't change with the addition of IPv6. The exception will be in the establishment of connections and in places where IP addresses get passed back and forth. Of particular interest is:

mounting via IPv6

mount handling when a hostname has both IPv4 and IPv6 addresses defined in hosts DB or DNS

delegation callback support for NFSv4

file locking over NFSv2/3

KRB5/GSSAPI support when the server and KDC can only communicate via IPv6

KRB5 handling when a hostname has both IPv4 and IPv6 addresses defined in hosts DB or DNS

All of the above should work before victory is declared.

User Experience

Users not using IPv6 should notice no change. Users with IPv6 only networks should now have the ability to mount NFS servers. Users on mixed IPv4 and IPv6 networks may now start mounting via IPv6.

Dependencies

Most of the kernel support is already upstream and should make the next release without too much problem. nfs-utils still needs to have this support enabled.

Contingency Plan

If we cannot make the release, then we'll just disable support for IPv6 in nfs-utils. That should move everything back to legacy behavior.