draft-ietf-nfsv4-minorversion2-dot-x-18.txt   draft-ietf-nfsv4-minorversion2-dot-x-19.txt 
NFSv4 T. Haynes NFSv4 T. Haynes
Internet-Draft Editors Internet-Draft Editors
Intended status: Standards Track March 13, 2013 Intended status: Standards Track August 13, 2013
Expires: September 14, 2013 Expires: February 14, 2014
NFSv4 Minor Version 2 Protocol External Data Representation Standard NFSv4 Minor Version 2 Protocol External Data Representation Standard
(XDR) Description (XDR) Description
draft-ietf-nfsv4-minorversion2-dot-x-18.txt draft-ietf-nfsv4-minorversion2-dot-x-19.txt
Abstract Abstract
This Internet-Draft provides the XDR description for NFSv4 minor This Internet-Draft provides the XDR description for NFSv4 minor
version two. version two.
Requirements Language Requirements Language
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in RFC 2119 [1]. document are to be interpreted as described in RFC 2119 [RFC2119].
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 September 14, 2013. This Internet-Draft will expire on February 14, 2014.
Copyright Notice Copyright Notice
Copyright (c) 2013 IETF Trust and the persons identified as the Copyright (c) 2013 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
carefully, as they describe your rights and restrictions with respect carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License. described in the Simplified BSD License.
Table of Contents Table of Contents
1. XDR Description of NFSv4.2 . . . . . . . . . . . . . . . . . . 3 1. XDR Description of NFSv4.2 . . . . . . . . . . . . . . . . . . 3
2. Security Considerations . . . . . . . . . . . . . . . . . . . 80 2. Security Considerations . . . . . . . . . . . . . . . . . . . 79
3. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 80 3. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 79
4. Normative References . . . . . . . . . . . . . . . . . . . . . 80 4. Normative References . . . . . . . . . . . . . . . . . . . . . 80
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 80 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 80
1. XDR Description of NFSv4.2 1. XDR Description of NFSv4.2
This document contains the XDR ([2]) description of NFSv4.2 protocol This document contains the XDR ([RFC4506]) description of NFSv4.2
([3]). In order to facilitate implementations that support all of protocol ([I-D.ietf-nfsv4-minorversion2]). In order to facilitate
NFSv4.0, NFSv4.1, and NFSv4.2, the description includes operations, implementations that support all of NFSv4.0, NFSv4.1, and NFSv4.2,
and other features of NFSv4.0 and NFSv4.1 that do not apply to the description includes operations, and other features of NFSv4.0
NFSv4.2. and NFSv4.1 that do not apply to NFSv4.2.
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 into ready to compile form. The it simple for the reader to extract into ready to compile form. The
reader can feed this document in the following shell script to reader can feed this document in the following shell script to
produce the machine readable XDR description of NFSv4.2: produce the machine readable XDR description of NFSv4.2:
#!/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 3, line 33 skipping to change at page 3, line 33
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-minorversion2-18 /// * draft-ietf-nfsv4-minorversion2-
/// * Last updated Wed Mar 13 20:52:40 PDT 2013 /// * Last updated Tue Aug 13 12:03:39 PDT 2013
/// */ /// */
/// /* /// /*
/// * Copyright (C) The IETF Trust (2007-2012) /// * Copyright (C) The IETF Trust (2007-2012)
/// * All Rights Reserved. /// * All Rights Reserved.
/// * /// *
/// * Copyright (C) The Internet Society (1998-2006). /// * Copyright (C) The Internet Society (1998-2006).
/// * All Rights Reserved. /// * All Rights Reserved.
/// */ /// */
/// ///
/// /* /// /*
skipping to change at page 8, line 22 skipping to change at page 8, line 22
/// 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 utf8str_cs linktext4; /// typedef utf8str_cs linktext4;
/// typedef component4 pathname4<>; /// typedef component4 pathname4<>;
/// typedef opaque verifier4[NFS4_VERIFIER_SIZE]; /// typedef opaque verifier4[NFS4_VERIFIER_SIZE];
/// typedef string secret4<>; /// typedef string secret4<>;
/// typedef uint32_t policy4; /// typedef uint32_t policy4;
/// typedef uint64_t change_sec_label4;
/// ///
/// /* /// /*
/// * Timeval /// * Timeval
/// */ /// */
/// struct nfstime4 { /// struct nfstime4 {
/// int64_t seconds; /// int64_t seconds;
/// uint32_t nseconds; /// uint32_t nseconds;
/// }; /// };
/// ///
/// enum time_how4 { /// enum time_how4 {
skipping to change at page 17, line 39 skipping to change at page 17, line 40
/// policy4 lfs_lfs; /// policy4 lfs_lfs;
/// policy4 lfs_pi; /// policy4 lfs_pi;
/// }; /// };
/// ///
/// struct sec_label4 { /// struct sec_label4 {
/// labelformat_spec4 slai_lfs; /// labelformat_spec4 slai_lfs;
/// opaque slai_data<>; /// opaque slai_data<>;
/// }; /// };
/// ///
/// ///
/// struct change_sec_label4 {
/// uint64_t csl_major;
/// uint64_t csl_minor;
/// };
///
///
/// struct copy_from_auth_priv { /// struct copy_from_auth_priv {
/// secret4 cfap_shared_secret; /// secret4 cfap_shared_secret;
/// netloc4 cfap_destination; /// netloc4 cfap_destination;
/// /* the NFSv4 user name that the user principal maps to */ /// /* the NFSv4 user name that the user principal maps to */
/// utf8str_mixed cfap_username; /// utf8str_mixed cfap_username;
/// /* equal to seq_num of rpc_gss_cred_vers_3_t */ /// /* equal to seq_num of rpc_gss_cred_vers_3_t */
/// unsigned int cfap_seq_num; /// unsigned int cfap_seq_num;
/// }; /// };
/// ///
/// struct copy_to_auth_priv { /// struct copy_to_auth_priv {
skipping to change at page 23, line 29 skipping to change at page 23, line 24
/// const FATTR4_RETENTION_SET = 70; /// const FATTR4_RETENTION_SET = 70;
/// const FATTR4_RETENTEVT_GET = 71; /// const FATTR4_RETENTEVT_GET = 71;
/// const FATTR4_RETENTEVT_SET = 72; /// const FATTR4_RETENTEVT_SET = 72;
/// const FATTR4_RETENTION_HOLD = 73; /// const FATTR4_RETENTION_HOLD = 73;
/// const FATTR4_MODE_SET_MASKED = 74; /// const FATTR4_MODE_SET_MASKED = 74;
/// const FATTR4_FS_CHARSET_CAP = 76; /// const FATTR4_FS_CHARSET_CAP = 76;
/// const FATTR4_SPACE_RESERVED = 77; /// const FATTR4_SPACE_RESERVED = 77;
/// const FATTR4_SPACE_FREED = 78; /// const FATTR4_SPACE_FREED = 78;
/// const FATTR4_CHANGE_ATTR_TYPE = 79; /// const FATTR4_CHANGE_ATTR_TYPE = 79;
/// const FATTR4_SEC_LABEL = 80; /// const FATTR4_SEC_LABEL = 80;
/// const FATTR4_CHNAGE_SEC_LABEL = 81; /// const FATTR4_CHANGE_SEC_LABEL = 81;
/// ///
/// /* /// /*
/// * File attribute container /// * File attribute container
/// */ /// */
/// struct fattr4 { /// struct fattr4 {
/// bitmap4 attrmask; /// bitmap4 attrmask;
/// attrlist4 attr_vals; /// attrlist4 attr_vals;
/// }; /// };
/// ///
/// /* /// /*
skipping to change at page 59, line 9 skipping to change at page 59, line 4
/// * filesystem reclaim is /// * filesystem reclaim is
/// * complete for. /// * complete for.
/// */ /// */
/// bool rca_one_fs; /// bool rca_one_fs;
/// }; /// };
/// ///
/// struct RECLAIM_COMPLETE4res { /// struct RECLAIM_COMPLETE4res {
/// nfsstat4 rcr_status; /// nfsstat4 rcr_status;
/// }; /// };
/// ///
///
/// const COPY4_GUARDED = 0x00000001;
/// const COPY4_METADATA = 0x00000002;
///
/// struct COPY4args { /// struct COPY4args {
/// /* SAVED_FH: source file */ /// /* SAVED_FH: source file */
/// /* CURRENT_FH: destination file or */ /// /* CURRENT_FH: destination file */
/// /* directory */
/// stateid4 ca_src_stateid; /// stateid4 ca_src_stateid;
/// stateid4 ca_dst_stateid; /// stateid4 ca_dst_stateid;
/// offset4 ca_src_offset; /// offset4 ca_src_offset;
/// offset4 ca_dst_offset; /// offset4 ca_dst_offset;
/// length4 ca_count; /// length4 ca_count;
/// uint32_t ca_flags;
/// component4 ca_destination;
/// netloc4 ca_source_server<>; /// netloc4 ca_source_server<>;
/// }; /// };
/// ///
/// union COPY4res switch (nfsstat4 cr_status) { /// union COPY4res switch (nfsstat4 cr_status) {
/// case NFS4_OK: /// case NFS4_OK:
/// write_response4 resok4; /// write_response4 resok4;
/// default: /// default:
/// length4 cr_bytes_copied; /// length4 cr_bytes_copied;
/// }; /// };
/// ///
skipping to change at page 80, line 7 skipping to change at page 79, line 43
/// 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 [3]. See the Security Considerations section of
[I-D.ietf-nfsv4-minorversion2].
3. IANA Considerations 3. IANA Considerations
See the IANA Considerations section of [3]. See the IANA Considerations section of
[I-D.ietf-nfsv4-minorversion2].
4. Normative References 4. Normative References
[1] Bradner, S., "Key words for use in RFCs to Indicate Requirement [I-D.ietf-nfsv4-minorversion2]
Levels", March 1997. Haynes, T., "NFS Version 4 Minor Version 2",
draft-ietf-nfsv4-minorversion2-19 (Work In Progress),
March 2013.
[2] Eisler, M., "XDR: External Data Representation Standard", [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
STD 67, RFC 4506, May 2006. Requirement Levels", March 1997.
[3] Haynes, T., "NFS Version 4 Minor Version 2", [RFC4506] Eisler, M., "XDR: External Data Representation Standard",
draft-ietf-nfsv4-minorversion2-18 (Work In Progress), STD 67, RFC 4506, May 2006.
March 2013.
Author's Address Author's Address
Thomas Haynes Thomas Haynes
NetApp NetApp
9110 E 66th St 9110 E 66th St
Tulsa, OK 74133 Tulsa, OK 74133
USA USA
Phone: +1-918-307-1415 Phone: +1-918-307-1415
 End of changes. 18 change blocks. 
38 lines changed or deleted 29 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/