Available documentation
Information about IPv6 support for NFSv4 server is available on NFSv4 wiki:
http://wiki.linux-nfs.org/index.php/Server_IPv6_support
This should be updated to follow the evolution of IPv6 work, when modifications happen.
List of tasks
Patch development
RPC part: 3 patches
- new IPv6 routines
- socket part (example: svc_create_socket function)
- authentication part
NFS part: 5 patches
- export part
- nfs4 control parts
- nfs4state part
- lockd modifications
- cache part
Userland part (nfs-utils package): few modifications to do (the patches already exist. We must update and integrate them into latest Neil Brown's nfs-utils release).
Tests (conformance, functional, performance, interoperability):
Each new patch is tested with NFS mounts over IPv4 to verify that nothing is broken.
The IPv6 tests can be performed only once all the patches are developed.
Tools: Connectathon (for the fonctionnal tests), fsstress and fsx (for the stress tests), IOzone (for performance comparison between IPv6 and IPv4).
Interoperability tests with non-Linux client and server, PPC and x86_64 Linux configurations
Tests cases in interesting environments:
- hybrid IPv4 - IPv6 networks
- nfs tests via routers only routing IPv6
- IPv6 and v4 mounts on the same server
- IPv6 NFS with IPv4 security negociation with kerberos
Integration channel
Bruce Fields for the RPC and NFS parts (to be confirmed for the RPC related parts)
Required software version:
- kernel 2.6.15 + CITI patches + IPv6 client patchset (there are common parts between client-related and server-related parts, so the client patchs have to be applied before)
- once Chuck Lever and Trond Myklebust will have integrated client IPv6 patches, I will take the result as new basis of work
- nfs-utils-1.0.8-rc2 + latest CITI patchset
Machines
- development on debian - ia32
- functional tests between 2 ia32 machines
- stress tests with 2 ia32 SMP machines
- Interoperability tests with various non-linux, Linux X86_64 and Linux PPC machines
Milestones
- Development of kernel patches tested with IPv4: March 15th DONE
- Development of userland patchset tested with IPv4: March 30th DONE
- End of functionnal tests with IPv6 (at this stage Connectathon test suite must pass): May 15th DONE
- End of stress tests with IPv6: May 30th DONE
- It is planned to perform WAN (real and NetEm tests) and security (with krb5 and SPKM) tests in June TO BE DEFINED
- From June: integration work with Bruce Fields
Notes about integration of patches:The IPv6 support server part is using some modifications done by the client patches. These client patches should be soon (before the end of 2006) integrated in Chuck Lever's transport switch patchset, and then in the mainline kernel. Moreover, the client part uses some server features for delegation callbacks, so there are strong relationship between client and server patchsets.