draft-ietf-nfsv4-rfc5667bis-10.txt   draft-ietf-nfsv4-rfc5667bis-11.txt 
Network File System Version 4 C. Lever, Ed. Network File System Version 4 C. Lever, Ed.
Internet-Draft Oracle Internet-Draft Oracle
Obsoletes: 5667 (if approved) May 5, 2017 Obsoletes: 5667 (if approved) May 8, 2017
Intended status: Standards Track Intended status: Standards Track
Expires: November 6, 2017 Expires: November 9, 2017
Network File System (NFS) Upper Layer Binding To RPC-Over-RDMA Version Network File System (NFS) Upper Layer Binding To RPC-Over-RDMA Version
One One
draft-ietf-nfsv4-rfc5667bis-10 draft-ietf-nfsv4-rfc5667bis-11
Abstract Abstract
This document specifies Upper Layer Bindings of Network File System This document specifies Upper Layer Bindings of Network File System
(NFS) protocol versions to RPC-over-RDMA Version One, enabling the (NFS) protocol versions to RPC-over-RDMA Version One, enabling the
use of Direct Data Placement. This document obsoletes RFC 5667. use of Direct Data Placement. This document obsoletes RFC 5667.
Requirements Language Requirements Language
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
skipping to change at page 1, line 40 skipping to change at page 1, line 40
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/. Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on November 6, 2017. This Internet-Draft will expire on November 9, 2017.
Copyright Notice Copyright Notice
Copyright (c) 2017 IETF Trust and the persons identified as the Copyright (c) 2017 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of (http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
skipping to change at page 9, line 40 skipping to change at page 9, line 40
matching non-empty Write chunk, an NFS version 4 server MUST matching non-empty Write chunk, an NFS version 4 server MUST
return an empty Write chunk in that Write list position. return an empty Write chunk in that Write list position.
o If there are more READ operations than Write chunks, then o If there are more READ operations than Write chunks, then
remaining NFS Read operations in an NFS version 4 COMPOUND that remaining NFS Read operations in an NFS version 4 COMPOUND that
have no matching Write chunk MUST return their results inline. have no matching Write chunk MUST return their results inline.
5.4.2. Chunk List Complexity 5.4.2. Chunk List Complexity
The RPC-over-RDMA Version One protocol does not place any limit on The RPC-over-RDMA Version One protocol does not place any limit on
the number of chunks or segments that may appear in the Read or Write the number of chunks or segments that may appear in Read or Write
lists. However, for various reasons NFS version 4 server lists. However, for various reasons NFS version 4 server
implementations often have practical limits on the number of chunks implementations often have practical limits on the number of chunks
or segments they are prepared to process in one message. or segments they are prepared to process in a single RPC transaction
conveyed via RPC-over-RDMA Version One.
These implementation limits are especially important when Kerberos These implementation limits are especially important when Kerberos
integrity or privacy is in use [RFC7861]. GSS services increase the integrity or privacy is in use [RFC7861]. GSS services increase the
size of credential material in RPC headers, potentially requiring size of credential material in RPC headers, potentially requiring
more frequent use of Long messages. This can increase the complexity more frequent use of Long messages. This can increase the complexity
of chunk lists independent of the NFS version 4 COMPOUND being of chunk lists independent of the NFS version 4 COMPOUND being
conveyed. conveyed.
To avoid encountering server chunk list complexity limits, NFS In the absence of explicit knowledge of the server's limits, NFS
version 4 clients SHOULD follow the prescriptions listed below when Version 4 clients SHOULD follow the prescriptions listed below when
constructing transport headers: constructing RPC-over-RDMA Version One messages. NFS Version 4
servers MUST accept and process such requests.
o The Read list can contain either a Position-Zero Read chunk, one o The Read list can contain either a Position-Zero Read chunk, one
Read chunk with a non-zero Position, or both. Read chunk with a non-zero Position, or both.
o The Write list can contain no more than one Write chunk. o The Write list can contain no more than one Write chunk.
o Any chunk can contain up to sixteen RDMA segments. o Any chunk can contain up to sixteen RDMA segments.
NFS version 4 clients wishing to send more complex chunk lists can NFS version 4 clients wishing to send more complex chunk lists can
provide configuration interfaces to bound the complexity of NFS provide configuration interfaces to bound the complexity of NFS
version 4 COMPOUNDs, limit the number of elements in scatter-gather version 4 COMPOUNDs, limit the number of elements in scatter-gather
operations, and avoid other sources of RPC-over-RDMA chunk overruns operations, and avoid other sources of chunk overruns at the
at the receiving peer. receiving peer.
An NFS Version 4 server has some flexibility in how it indicates that An NFS Version 4 server SHOULD return one of the following responses
an RPC-over-RDMA Version One message received from an NFS Version 4 to a client that has sent an RPC transaction via RPC-over-RDMA
client is valid but cannot be processed. Examples include: Version One which cannot be processed due to chunk list complexity
limits on the server:
o A problem is detected by the transport layer while parsing the o A problem is detected by the transport layer while parsing the
transport header in an RPC Call message. The server responds with transport header in an RPC Call message. The server responds with
an RDMA_ERROR message with the err field set to ERR_CHUNK. an RDMA_ERROR message with the err field set to ERR_CHUNK.
o A problem is detected during XDR decoding of the RPC Call message o A problem is detected during XDR decoding of the RPC Call message
while the RPC layer reassembles the call's XDR stream. The server while the RPC layer reassembles the call's XDR stream. The server
responds with an RPC reply with its "reply_stat" field set to responds with an RPC reply with its "reply_stat" field set to
MSG_ACCEPTED and its "accept_stat" field set to GARBAGE_ARGS. MSG_ACCEPTED and its "accept_stat" field set to GARBAGE_ARGS.
skipping to change at page 18, line 28 skipping to change at page 18, line 28
o An IANA Considerations Section has been added, which specifies the o An IANA Considerations Section has been added, which specifies the
port assignments for NFS/RDMA. This replaces the example port assignments for NFS/RDMA. This replaces the example
assignment that appeared in [RFC5666]. assignment that appeared in [RFC5666].
o Code excerpts have been removed, and figures have been modernized. o Code excerpts have been removed, and figures have been modernized.
Appendix B. Acknowledgments Appendix B. Acknowledgments
The author gratefully acknowledges the work of Brent Callaghan and The author gratefully acknowledges the work of Brent Callaghan and
Tom Talpey on the original NFS Direct Data Placement specification Tom Talpey on the original NFS Direct Data Placement specification
[RFC5667]. The author also wishes to thank Bill Baker and Greg [RFC5667]. Tom contributed the text of Section 5.4.2.
Marsden for their support of this work.
Dave Noveck provided excellent review, constructive suggestions, and Dave Noveck provided excellent review, constructive suggestions, and
consistent navigational guidance throughout the process of drafting consistent navigational guidance throughout the process of drafting
this document. Dave also contributed the text of Section 5.6 and this document. Dave contributed the text of Section 5.6 and
Section 6, and insisted on precise discussion of reply size Section 6, and insisted on precise discussion of reply size
estimation. estimation.
Thanks to Karen Deitke for her sharp observations about idempotency, Thanks to Karen Deitke for her sharp observations about idempotency,
NFS COMPOUNDs, and NFS sessions. NFS COMPOUNDs, and NFS sessions.
Special thanks go to Transport Area Director Spencer Dawkins, nfsv4 Special thanks go to Transport Area Director Spencer Dawkins, nfsv4
Working Group Chair Spencer Shepler, and nfsv4 Working Group Working Group Chair Spencer Shepler, and nfsv4 Working Group
Secretary Thomas Haynes for their support. Secretary Thomas Haynes for their support. The author also wishes to
thank Bill Baker and Greg Marsden for their support of this work.
Author's Address Author's Address
Charles Lever (editor) Charles Lever (editor)
Oracle Corporation Oracle Corporation
1015 Granger Avenue 1015 Granger Avenue
Ann Arbor, MI 48104 Ann Arbor, MI 48104
USA USA
Phone: +1 248 816 6463 Phone: +1 248 816 6463
Email: chuck.lever@oracle.com Email: chuck.lever@oracle.com
 End of changes. 12 change blocks. 
18 lines changed or deleted 21 lines changed or added

This html diff was produced by rfcdiff 1.45. The latest version is available from http://tools.ietf.org/tools/rfcdiff/