--- 1/draft-ietf-nfsv4-nfsdirect-02.txt 2006-06-23 22:13:47.000000000 +0200 +++ 2/draft-ietf-nfsv4-nfsdirect-03.txt 2006-06-23 22:13:47.000000000 +0200 @@ -1,39 +1,40 @@ -Internet-Draft Brent Callaghan -Expires: April 2006 Tom Talpey +Internet-Draft Tom Talpey +Expires: December 2006 Brent Callaghan -Document: draft-ietf-nfsv4-nfsdirect-02 October, 2005 +Document: draft-ietf-nfsv4-nfsdirect-03 June, 2006 NFS Direct Data Placement Status of this Memo By submitting this Internet-Draft, each author represents that any applicable patent or other IPR claims of which he or she is aware have been or will be disclosed, and any of which he or she becomes aware will be disclosed, in accordance with Section 6 of BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet- Drafts. Internet-Drafts are draft documents valid for a maximum of six - months and may be updated, replaced, or obsoleted by other docu- - ments at any time. It is inappropriate to use Internet-Drafts as - reference material or to cite them other than as "work in + months and may be updated, replaced, or obsoleted by other + documents at any time. It is inappropriate to use Internet-Drafts + as reference material or to cite them other than as "work in progress." The list of current Internet-Drafts can be accessed at - http://www.ietf.org/ietf/1id-abstracts.txt The list of Inter- - net-Draft Shadow Directories can be accessed at + http://www.ietf.org/ietf/1id-abstracts.txt + + The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html. Abstract The RDMA transport for ONC RPC provides direct data placement for NFS data. Direct data placement not only reduces the amount of data that needs to be copied in an NFS call, but allows much of the data movement over the network to be implemented in RDMA hardware. This draft describes the use of direct data placement by means of server- initiated RDMA operations into client-supplied buffers in a Chunk @@ -42,38 +43,39 @@ Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 2. Transfers from NFS Client to NFS Server . . . . . . . . . . 2 3. Transfers from NFS Server to NFS Client . . . . . . . . . . 2 4. NFS Versions 2 and 3 Mapping . . . . . . . . . . . . . . . . 4 5. NFS Version 4 Mapping . . . . . . . . . . . . . . . . . . . 5 6. Security . . . . . . . . . . . . . . . . . . . . . . . . . . 7 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . 7 - 8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 7 - 9. Normative References . . . . . . . . . . . . . . . . . . . . 7 + 8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 8 + 9. Normative References . . . . . . . . . . . . . . . . . . . . 8 10. Informative References . . . . . . . . . . . . . . . . . . 8 - 11. Authors' Addresses . . . . . . . . . . . . . . . . . . . . 8 - 12. Intellectual Property and Copyright Statements . . . . . . 8 - Acknowledgement . . . . . . . . . . . . . . . . . . . . . . . . 9 + 11. Authors' Addresses . . . . . . . . . . . . . . . . . . . . 9 + 12. Intellectual Property and Copyright Statements . . . . . . 9 + Acknowledgement . . . . . . . . . . . . . . . . . . . . . . . 10 1. Introduction The RDMA Transport for ONC RPC [RPCRDMA] allows an RPC client application to post buffers in a Chunk list for specific arguments and results from an RPC call. The RDMA transport header conveys this list of client buffer addresses to the server where the application can associate them with client data and use RDMA operations to transfer the results directly to and from the posted buffers on the client. The client and server must agree on a consistent mapping of posted buffers to RPC. This document details the mapping for each - version of the NFS protocol. + version of the NFS protocol [RFC1831] [RFC1832] [RFC1094] [RFC1813] + [RFC3530] [NFSv4.1]. 2. Transfers from NFS Client to NFS Server The RDMA Read list, in the RDMA transport header, allows an RPC client to marshal RPC call data selectively. Large chunks of data, such as the file data of an NFS WRITE request, may be referenced by an RDMA Read list and be moved efficiently and directly-placed by an RDMA READ operation initiated by the server. The process of identifying these chunks for the RDMA Read list can be @@ -276,33 +278,66 @@ restrict its use of optional padding to COMPOUND requests containing only a single WRITE operation. Unlike NFS versions 2 and 3, the maximum size of an NFS version 4 COMPOUND is unbounded, even when RDMA chunks are in use. While it might appear that a configuration protocol exchange (such as the one described in [RPCRDMA]) would help, in fact the layering issues involved in building COMPOUNDs by NFS make such a mechanism unworkable. Instead, an extension to NFS version 4 supporting a more comprehensive exchange of upper layer (NFSv4) parameters is proposed - in [NFSSESS]. This proposal also addresses other use of the sizes, + in [NFSv4.1]. This proposal also addresses other use of the sizes, such as in the server's response cache. 6. Security The RDMA transport for ONC RPC supports RPCSEC_GSS security as well as link-level security. The use of RDMA Write to return RPC results does not affect ONC RPC security. 7. IANA Considerations - NFS use of direct data placement introduces no new IANA - considerations. + NFS use of direct data placement may introduce a need for an + additional NFS port number assignment for networks which share + traditional UDP and TCP port spaces with RDMA services. The iWARP + [DDP] [RDMAP] protocol is such an example (Infiniband is not). + + NFS servers for versions 2 and 3 [RFC1094] [RFC1813] traditionally + listen for clients on UDP and TCP port 2049, and additionally, they + register these with the portmapper. NFS servers for version 4 + [RFC3050] are required to listen on TCP port 2049, and are not + required to register. + + An NFS version 2 or version 3 server supporting RPC/RDMA on such a + network and registering itself with the RPC portmapper may choose an + arbitrary port, or may be assigned an alternative well-known port + number for its RPC/RDMA service by IANA. The chosen port must be + registered with the RPC portmapper under the netid assigned by the + requirement in [RPCRDMA]. + + An NFS version 4 server supporting RPC/RDMA on such a network must be + assigned an alternative well-known port number for its RPC/RDMA + service by IANA. Clients will connect to this well-known port + without consulting the RPC portmapper (as for NFSv4/TCP). + + Any subsequent NFS version 4 minor version's [NFSv4.1] server may + reuse port 2049, by requiring the client to perform the RDMA session + negotiation supported by this protocol. If it does not require the + client to negotiate an RDMA-enabled session, it must use the + alternative port for RPC/RDMA, as for version 4. + + This is not an issue on non-IP transports such as native Infiniband, + where a non-colliding port translation scheme is used [IBPORT]. On + such interfaces, the server can simply listen on the port mapped from + the IANA-assigned NFS 2049, or any other port as assigned by the + native transport. Such assignments are out of the scope of IANA, and + of this document. 8. Acknowledgements The authors would like to thank Dave Noveck and Chet Juszczak for their contributions to this document. 9. Normative References [RFC1831] R. Srinivasan, "RPC: Remote Procedure Call Protocol Specification @@ -328,82 +363,100 @@ [RFC3530] S. Shepler, B. Callaghan, D. Robinson, R. Thurlow, C. Beame, M. Eisler, D. Noveck, "NFS version 4 Protocol", Standards Track RFC, http://www.ietf.org/rfc/rfc3530.txt 10. Informative References [RPCRDMA] - B. Callaghan, T. Talpey, "RDMA Transport for ONC RPC" + T. Talpey, B. Callaghan, "RDMA Transport for ONC RPC" Internet Draft Work in Progress, draft-ietf-nfsv4-rpcrdma - [NFSSESS] - T. Talpey, S. Shepler, J. Bauman, "NFSv4 Session Extensions" + [NFSv4.1] + S. Shepler, ed., "NFSv4 Minor Version 1" Internet Draft Work in Progress, - draft-ietf-nfsv4-sess + draft-ietf-nfsv4-minorversion1 -11. Authors' Addresses + [DDP] + H. Shah et al, "Direct Data Placement over Reliable Transports", + Internet Draft Work in Progress, + draft-ietf-rddp-ddp - Brent Callaghan - 1614 Montalto Dr. - Mountain View, California 94040 USA + [RDMAP] + R. Recio et al, "An RDMA Protocol Specification", + Internet Draft Work in Progress, + draft-ietf-rddp-rdmap - Phone: +1 650 968 2333 - EMail: brent.callaghan@gmail.com + [IBPORT] + Infiniband Trade Association, "IP Addressing Annex", + available from www.infinibandta.org + +11. Authors' Addresses Tom Talpey Network Appliance, Inc. 375 Totten Pond Road Waltham, MA 02451 USA Phone: +1 781 768 5329 EMail: thomas.talpey@netapp.com + Brent Callaghan + Apple Computer, Inc. + MS: 302-4K + 2 Infinite Loop + Cupertino, CA 95014 USA + + EMail: brentc@apple.com + 12. Intellectual Property and Copyright Statements Intellectual Property Statement + The IETF takes no position regarding the validity or scope of any Intellectual Property Rights or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; nor does it represent that it has made any independent effort to identify any such rights. - Information on the procedures with respect to rights in RFC docu- - ments can be found in BCP 78 and BCP 79. + Information on the procedures with respect to rights in RFC + documents can be found in BCP 78 and BCP 79. Copies of IPR disclosures made to the IETF Secretariat and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use - of such proprietary rights by implementers or users of this speci- - fication can be obtained from the IETF on-line IPR repository at - http://www.ietf.org/ipr. + of such proprietary rights by implementers or users of this + specification can be obtained from the IETF on-line IPR repository + at http://www.ietf.org/ipr. The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights that may cover technology that may be required to implement this standard. Please address the information to the IETF at ietf- ipr@ietf.org. Disclaimer of Validity This document and the information contained herein are provided on - an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REP- - RESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE - INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF - THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED - WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. + an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE + REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND + THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT + THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR + ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A + PARTICULAR PURPOSE. Copyright Statement - Copyright (C) The Internet Society (2005). This document is sub- - ject to the rights, licenses and restrictions contained in BCP 78, - and except as set forth therein, the authors retain all their - rights. + Copyright (C) The Internet Society (2006). + + This document is subject to the rights, licenses and restrictions + contained in BCP 78, and except as set forth therein, the authors + retain all their rights. Acknowledgement Funding for the RFC Editor function is currently provided by the Internet Society.