Subject: [nfsv4] NFS/RDMA ONC RPC reference implementation release

From: "Talpey, Thomas" <[email-masked]>
Date: Sun, 21 Dec 2003 07:14:23 -0800

Network Appliance is pleased to announce general availability of a
client implementation of NFSv3 over RDMA for Linux kernels. This
client, with full source code, is available for download from

	http://sourceforge.net/projects/nfs-rdma/

The client is implemented entirely within the Linux ONC RPC code,
and requires no changes to the NFS layer. It is a relatively complete
implementation of the draft ONC RPC RDMA protocols published
earlier this year.

NetApp is publishing this implementation in order to encourage interest
and support of this protocol, and to enable the future use of NFSv4 over
RDMA. The Linux v3 client will be tested at the upcoming NFS
Connectathon in February.

The project description with references is included below. We look forward
to discussion and experimentation with the new protocol in the months to
come. Please see the above Sourceforge project for updates.

Happy New Year!

Tom.

-----

Project Description:

http://sourceforge.net/projects/nfs-rdma/

The NFS/RDMA project is a reference implementation of a new RDMA-capable
ONC RPC transport for use by Linux kernel NFS. 

Client support for NFSv3 is the initial goal. This transport implementation is
available under a BSD-style license. 

Through use of an RDMA transport, a very high level of performance may be
achieved, including zero-copy and zero-touch direct I/O. No modifications to
the Linux NFSv3 client code are required. 

The protocol is conformant to that published in the following Internet Drafts: 
        draft-callaghan-rpcrdma-00.txt 
        draft-callaghan-nfsdirect-00.txt 
        draft-talpey-nfs-rdma-problem-statement-00.txt 

and the implementation uses the kDAPL RDMA API 
        http://sourceforge.net/projects/dapl/ 

The kDAPL API supports Infiniband and iWARP RDMA transports. 

Followon goals include server support, NFSv4 support, and additional transport
research. 

The Linux NFS kernel server code is not addressed in the initial release. Portions
of the transport implementation may provide the base for future server work.

NFSv4 support may incorporate protocol modifications from the Internet Draft: 
        draft-talpey-nfsv4-rdma-sessions-00.txt 

An RDMA-enabled NFSv4 implementation is a natural high performance
filesystem for clustered or workgroup computing, due to the enhanced file
sharing capabilities of NFSv4,  such as its integrated locking, delegations,
and security. 

The transport interface framework created as part of this project is general,
and may be applied to other efforts. Support for RPC transports employing
TCP Offload Engines, or hybrid approaches using Fibre Channel/iSCSI in
conjunction with NFS will also be considered.