draft-ietf-nfsv4-rfc3530bis-dot-x-21.txt   draft-ietf-nfsv4-rfc3530bis-dot-x-22.txt 
NFSv4 T. Haynes, Ed. NFSv4 T. Haynes, Ed.
Internet-Draft NetApp Internet-Draft Primary Data
Intended status: Standards Track D. Noveck, Ed. Intended status: Standards Track D. Noveck, Ed.
Expires: August 17, 2014 February 13, 2014 Expires: October 13, 2014
April 11, 2014
Network File System (NFS) Version 4 Network File System (NFS) Version 4
External Data Representation Standard (XDR) Description External Data Representation Standard (XDR) Description
draft-ietf-nfsv4-rfc3530bis-dot-x-21.txt draft-ietf-nfsv4-rfc3530bis-dot-x-22.txt
Abstract Abstract
The Network File System (NFS) version 4 is a distributed filesystem The Network File System (NFS) version 4 is a distributed filesystem
protocol which owes its heritage to NFS protocol version 2, RFC 1094, protocol which owes its heritage to NFS protocol version 2, RFC 1094,
and version 3, RFC 1813. Unlike earlier versions, the NFS version 4 and version 3, RFC 1813. Unlike earlier versions, the NFS version 4
protocol supports traditional file access, while integrating support protocol supports traditional file access, while integrating support
for file locking and the mount protocol. In addition, support for for file locking and the mount protocol. In addition, support for
strong security (and its negotiation), compound operations, client strong security (and its negotiation), compound operations, client
caching, and internationalization have been added. Of course, caching, and internationalization have been added. Of course,
attention has been applied to making NFS version 4 operate well in an attention has been applied to making NFS version 4 operate well in an
Internet environment. Internet environment.
RFC3530bis formally obsoleting RFC 3530. This document, together RFC3530bis formally obsoleting RFC 3530. This document, together
with RFC3530bis replaces RFC 3530 as the definition of the NFS with RFC3530bis replaces RFC 3530 as the definition of the NFS
version 4 protocol. version 4 protocol.
Status of this Memo Status of This Memo
This Internet-Draft is submitted in full conformance with the This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79. provisions of BCP 78 and BCP 79.
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 August 17, 2014. This Internet-Draft will expire on October 13, 2014.
Copyright Notice Copyright Notice
Copyright (c) 2014 IETF Trust and the persons identified as the Copyright (c) 2014 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 3, line 7 skipping to change at page 2, line 34
modifications of such material outside the IETF Standards Process. modifications of such material outside the IETF Standards Process.
Without obtaining an adequate license from the person(s) controlling Without obtaining an adequate license from the person(s) controlling
the copyright in such materials, this document may not be modified the copyright in such materials, this document may not be modified
outside the IETF Standards Process, and derivative works of it may outside the IETF Standards Process, and derivative works of it may
not be created outside the IETF Standards Process, except to format not be created outside the IETF Standards Process, except to format
it for publication as an RFC or to translate it into languages other it for publication as an RFC or to translate it into languages other
than English. than English.
Table of Contents Table of Contents
1. XDR Description of NFSv4.0 . . . . . . . . . . . . . . . . . . 4 1. XDR Description of NFSv4.0 . . . . . . . . . . . . . . . . . 2
2. Security Considerations . . . . . . . . . . . . . . . . . . . 37 2. Security Considerations . . . . . . . . . . . . . . . . . . . 36
3. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 37 3. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 36
4. Normative References . . . . . . . . . . . . . . . . . . . . . 37 4. Normative References . . . . . . . . . . . . . . . . . . . . 36
Appendix A. Acknowledgments . . . . . . . . . . . . . . . . . . . 37 Appendix A. Acknowledgments . . . . . . . . . . . . . . . . . . 36
Appendix B. RFC Editor Notes . . . . . . . . . . . . . . . . . . 37 Appendix B. RFC Editor Notes . . . . . . . . . . . . . . . . . . 36
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 38 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 36
1. XDR Description of NFSv4.0 1. XDR Description of NFSv4.0
This document contains the XDR ([RFC4506]) description of NFSv4.0 This document contains the XDR ([RFC4506]) description of NFSv4.0
protocol ([I-D.ietf-nfsv4-rfc3530bis]). protocol ([RFCNFSv4]).
The XDR description is provided in this document in a way that makes The XDR description is provided in this document in a way that makes
it simple for the reader to extract it into ready to compile form. it simple for the reader to extract it into ready to compile form.
The reader can feed this document in the following shell script to The reader can feed this document in the following shell script to
produce the machine readable XDR description of NFSv4.0: produce the machine readable XDR description of NFSv4.0:
#!/bin/sh #!/bin/sh
grep "^ *///" | sed 's?^ */// ??' | sed 's?^ *///$??' grep "^ *///" | sed 's?^ */// ??' | sed 's?^ *///$??'
I.e. if the above script is stored in a file called "extract.sh", and I.e. if the above script is stored in a file called "extract.sh", and
skipping to change at page 4, line 30 skipping to change at page 3, line 20
sh extract.sh < spec.txt > nfs4_prot.x sh extract.sh < spec.txt > nfs4_prot.x
The effect of the script is to remove leading white space from each The effect of the script is to remove leading white space from each
line, plus a sentinel sequence of "///". line, plus a sentinel sequence of "///".
The XDR description, with the sentinel sequence follows: The XDR description, with the sentinel sequence follows:
/// /* /// /*
/// * This file was machine generated for /// * This file was machine generated for
/// * draft-ietf-nfsv4-rfc3530bis-31 /// * draft-ietf-nfsv4-rfc3530bis-33
/// * Last updated Thu Feb 13 14:34:56 PST 2014 /// * Last updated Fri Apr 11 09:17:12 PDT 2014
/// */ /// */
/// /* /// /*
/// * Copyright (C) The IETF Trust (2009-2011) /// * Copyright (C) The IETF Trust (2009-2011)
/// * All Rights Reserved. /// * All Rights Reserved.
/// * /// *
/// * Copyright (C) The Internet Society (1998-2011). /// * Copyright (C) The Internet Society (1998-2011).
/// * All Rights Reserved. /// * All Rights Reserved.
/// */ /// */
/// ///
/// /* /// /*
skipping to change at page 7, line 19 skipping to change at page 6, line 9
/// NFS4ERR_OP_ILLEGAL = 10044,/* undefined operation */ /// NFS4ERR_OP_ILLEGAL = 10044,/* undefined operation */
/// NFS4ERR_DEADLOCK = 10045,/* file locking deadlock */ /// NFS4ERR_DEADLOCK = 10045,/* file locking deadlock */
/// NFS4ERR_FILE_OPEN = 10046,/* open file blocks op. */ /// NFS4ERR_FILE_OPEN = 10046,/* open file blocks op. */
/// NFS4ERR_ADMIN_REVOKED = 10047,/* lockowner state revoked */ /// NFS4ERR_ADMIN_REVOKED = 10047,/* lockowner state revoked */
/// NFS4ERR_CB_PATH_DOWN = 10048 /* callback path down */ /// NFS4ERR_CB_PATH_DOWN = 10048 /* callback path down */
/// }; /// };
/// ///
/// /* /// /*
/// * Basic data types /// * Basic data types
/// */ /// */
/// typedef opaque attrlist4<>; /// typedef opaque attrlist4<>;
/// typedef uint32_t bitmap4<>; /// typedef uint32_t bitmap4<>;
/// typedef uint64_t changeid4; /// typedef uint64_t changeid4;
/// typedef uint64_t clientid4; /// typedef uint64_t clientid4;
/// typedef uint32_t count4; /// typedef uint32_t count4;
/// typedef uint64_t length4; /// typedef uint64_t length4;
/// typedef uint32_t mode4; /// typedef uint32_t mode4;
/// typedef uint64_t nfs_cookie4; /// typedef uint64_t nfs_cookie4;
/// typedef opaque nfs_fh4<NFS4_FHSIZE>; /// typedef opaque nfs_fh4<NFS4_FHSIZE>;
/// typedef uint64_t offset4; /// typedef uint64_t offset4;
/// typedef uint32_t qop4; /// typedef uint32_t qop4;
/// typedef opaque sec_oid4<>; /// typedef opaque sec_oid4<>;
/// typedef uint32_t seqid4; /// typedef uint32_t seqid4;
/// typedef opaque utf8string<>; /// typedef opaque utf8string<>;
/// typedef utf8string utf8str_cis; /// typedef utf8string utf8str_cis;
/// typedef utf8string utf8str_cs; /// typedef utf8string utf8str_cs;
/// typedef utf8string utf8str_mixed; /// typedef utf8string utf8str_mixed;
/// typedef utf8str_cs component4; /// typedef utf8str_cs component4;
/// typedef opaque linktext4<>; /// typedef opaque linktext4;
/// typedef utf8string ascii_REQUIRED4; /// typedef utf8string ascii_REQUIRED4;
/// typedef component4 pathname4<>; /// typedef component4 pathname4<>;
/// typedef uint64_t nfs_lockid4; /// typedef uint64_t nfs_lockid4;
/// typedef opaque verifier4[NFS4_VERIFIER_SIZE]; /// typedef opaque verifier4[NFS4_VERIFIER_SIZE];
/// ///
/// ///
/// /* /// /*
/// * Timeval /// * Timeval
/// */ /// */
/// struct nfstime4 { /// struct nfstime4 {
/// int64_t seconds; /// int64_t seconds;
/// uint32_t nseconds; /// uint32_t nseconds;
/// }; /// };
/// ///
skipping to change at page 37, line 21 skipping to change at page 36, line 11
/// version NFS_CB { /// version NFS_CB {
/// void /// void
/// CB_NULL(void) = 0; /// CB_NULL(void) = 0;
/// CB_COMPOUND4res /// CB_COMPOUND4res
/// CB_COMPOUND(CB_COMPOUND4args) = 1; /// CB_COMPOUND(CB_COMPOUND4args) = 1;
/// } = 1; /// } = 1;
/// } = 0x40000000; /// } = 0x40000000;
2. Security Considerations 2. Security Considerations
See the Security Considerations section of See the Security Considerations section of [RFCNFSv4].
[I-D.ietf-nfsv4-rfc3530bis].
3. IANA Considerations 3. IANA Considerations
This document does not have any IANA considerations. This document does not have any IANA considerations.
4. Normative References 4. Normative References
[I-D.ietf-nfsv4-rfc3530bis]
Haynes, T. and D. Noveck, "NFS Version 4 Protocol",
draft-ietf-nfsv4-rfc3530bis-31 (work in progress),
Feb 2014.
[RFC4506] Eisler, M., "XDR: External Data Representation Standard", [RFC4506] Eisler, M., "XDR: External Data Representation Standard",
STD 67, RFC 4506, May 2006. STD 67, RFC 4506, May 2006.
[RFCNFSv4]
Haynes, T. and D. Noveck, "NFS Version 4 Protocol", draft-
ietf-nfsv4-rfc3530bis-33 (work in progress), Apr 2014.
Appendix A. Acknowledgments Appendix A. Acknowledgments
Tom Haynes would like to thank NetApp, Inc. for its funding of his
time on this project.
David Quigley tested the extraction of the .x file from this document David Quigley tested the extraction of the .x file from this document
and corrected the two resulting errors. and corrected the two resulting errors.
Appendix B. RFC Editor Notes Appendix B. RFC Editor Notes
[RFC Editor: please remove this section prior to publishing this [RFC Editor: please remove this section prior to publishing this
document as an RFC] document as an RFC]
[RFC3530bis should be replaced by the RFC number of [RFC3530bis should be replaced by the RFC number of draft-ietf-
draft-ietf-nfsv4-rfc3530bis in this draft.] nfsv4-rfc3530bis in this draft.]
[RFC Editor: Please note that there is also a reference entry that [RFC Editor: Please note that there is also a reference entry that
needs to be modified for the companion document.] needs to be modified for the companion document.]
Authors' Addresses Authors' Addresses
Thomas Haynes (editor) Thomas Haynes (editor)
NetApp Primary Data, Inc.
495 E Java Dr 4300 El Camino Real Ste 100
Sunnyvale, CA 95054 Los Altos, CA 94022
USA USA
Phone: +1 408 419 3018 Phone: +1 408 215 1519
Email: thomas@netapp.com Email: thomas.haynes@primarydata.com
David Noveck (editor) David Noveck (editor)
26 Locust Ave 26 Locust Ave
Lexington, MA 02421 Lexington, MA 02421
US US
Phone: +1 781 572 8038 Phone: +1 781 572 8038
Email: davenoveck@gmail.com Email: davenoveck@gmail.com
 End of changes. 22 change blocks. 
36 lines changed or deleted 37 lines changed or added

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