draft-ietf-nfsv4-minorversion2-dot-x-34.txt   draft-ietf-nfsv4-minorversion2-dot-x-35.txt 
NFSv4 T. Haynes NFSv4 T. Haynes
Internet-Draft Primary Data Internet-Draft Primary Data
Intended status: Standards Track March 30, 2015 Intended status: Standards Track March 30, 2015
Expires: October 1, 2015 Expires: October 1, 2015
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-34.txt draft-ietf-nfsv4-minorversion2-dot-x-35.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
skipping to change at page 2, line 13 skipping to change at page 2, line 13
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 . . . . . . . . . . . . . . . . . 2 1. XDR Description of NFSv4.2 . . . . . . . . . . . . . . . . . 2
2. Security Considerations . . . . . . . . . . . . . . . . . . . 80 2. Security Considerations . . . . . . . . . . . . . . . . . . . 80
3. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 80 3. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 81
4. Normative References . . . . . . . . . . . . . . . . . . . . 80 4. Normative References . . . . . . . . . . . . . . . . . . . . 81
Appendix A. Acknowledgments . . . . . . . . . . . . . . . . . . 81 Appendix A. Acknowledgments . . . . . . . . . . . . . . . . . . 81
Appendix B. RFC Editor Notes . . . . . . . . . . . . . . . . . . 81 Appendix B. RFC Editor Notes . . . . . . . . . . . . . . . . . . 81
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 81 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 81
1. XDR Description of NFSv4.2 1. XDR Description of NFSv4.2
This document contains the XDR ([RFC4506]) description of NFSv4.2 This document contains the XDR ([RFC4506]) description of NFSv4.2
protocol ([NFSv42]). In order to facilitate implementations that protocol ([NFSv42]). In order to facilitate implementations that
support all of NFSv4.0, NFSv4.1, and NFSv4.2, the description support all of NFSv4.0, NFSv4.1, and NFSv4.2, the description
includes operations, and other features of NFSv4.0 and NFSv4.1 that includes operations, and other features of NFSv4.0 and NFSv4.1 that
skipping to change at page 3, line 10 skipping to change at page 3, line 10
<CODE ENDS> <CODE ENDS>
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:
<CODE BEGINS> <CODE BEGINS>
/// /* /// /*
/// * This file was machine generated for [draft-ietf-nfsv4-minorversion2-33]. /// * This file was machine generated for [draft-ietf-nfsv4-minorversion2-35].
/// * /// *
/// * Last updated Mon Mar 30 10:31:03 PDT 2015 /// * Last updated Mon Mar 30 13:17:23 PDT 2015
/// */ /// */
/// ///
/// /* /// /*
/// * Copyright (c) 2015 IETF Trust and the persons identified /// * Copyright (c) 2015 IETF Trust and the persons identified
/// * as the document authors. All rights reserved. /// * as the document authors. All rights reserved.
/// * /// *
/// * The Redistribution and use in source and binary forms, with /// * The Redistribution and use in source and binary forms, with
/// * or without modification, are permitted provided that the /// * or without modification, are permitted provided that the
/// * following conditions are met: /// * following conditions are met:
/// * /// *
skipping to change at page 4, line 7 skipping to change at page 4, line 7
/// * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS /// * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
/// * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF /// * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
/// * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, /// * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
/// * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING /// * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
/// * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF /// * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
/// * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. /// * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
/// ///
/// */ /// */
/// ///
/// /* /// /*
/// * This code was derived from [draft-ietf-nfsv4-minorversion2-dot-x-33]. /// * This code was derived from [draft-ietf-nfsv4-minorversion2-dot-x-35].
/// */ /// */
/// ///
/// /* /// /*
/// * Copyright (C) The IETF Trust (2007-2014) /// * Copyright (C) The IETF Trust (2007-2014)
/// * 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 21, line 28 skipping to change at page 21, line 28
/// typedef nfsacl41 fattr4_dacl; /// typedef nfsacl41 fattr4_dacl;
/// typedef nfsacl41 fattr4_sacl; /// typedef nfsacl41 fattr4_sacl;
/// typedef change_policy4 fattr4_change_policy; /// typedef change_policy4 fattr4_change_policy;
/// /* /// /*
/// * attributes new to NFSv4.2 /// * attributes new to NFSv4.2
/// */ /// */
/// typedef uint64_t fattr4_space_freed; /// typedef uint64_t fattr4_space_freed;
/// typedef change_attr_type4 /// typedef change_attr_type4
/// fattr4_change_attr_type; /// fattr4_change_attr_type;
/// typedef sec_label4 fattr4_sec_label<>; /// typedef sec_label4 fattr4_sec_label<>;
/// typedef uint32_t fattr4_clone_blksize;
/// ///
/// %/* /// %/*
/// % * REQUIRED Attributes /// % * REQUIRED Attributes
/// % */ /// % */
/// const FATTR4_SUPPORTED_ATTRS = 0; /// const FATTR4_SUPPORTED_ATTRS = 0;
/// const FATTR4_TYPE = 1; /// const FATTR4_TYPE = 1;
/// const FATTR4_FH_EXPIRE_TYPE = 2; /// const FATTR4_FH_EXPIRE_TYPE = 2;
/// const FATTR4_CHANGE = 3; /// const FATTR4_CHANGE = 3;
/// const FATTR4_SIZE = 4; /// const FATTR4_SIZE = 4;
/// const FATTR4_LINK_SUPPORT = 5; /// const FATTR4_LINK_SUPPORT = 5;
skipping to change at page 23, line 29 skipping to change at page 23, line 30
/// 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;
/// ///
/// %/* /// %/*
/// % * new to NFSV4.2 /// % * new to NFSV4.2
/// % */ /// % */
/// /* 77 is currently unused */ /// const FATTR4_CLONE_BLKSIZE = 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;
/// ///
/// /* /// /*
/// * 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 30, line 30 skipping to change at page 30, line 31
/// OP_COPY_NOTIFY = 61, /// OP_COPY_NOTIFY = 61,
/// OP_DEALLOCATE = 62, /// OP_DEALLOCATE = 62,
/// OP_IO_ADVISE = 63, /// OP_IO_ADVISE = 63,
/// OP_LAYOUTERROR = 64, /// OP_LAYOUTERROR = 64,
/// OP_LAYOUTSTATS = 65, /// OP_LAYOUTSTATS = 65,
/// OP_OFFLOAD_CANCEL = 66, /// OP_OFFLOAD_CANCEL = 66,
/// OP_OFFLOAD_STATUS = 67, /// OP_OFFLOAD_STATUS = 67,
/// OP_READ_PLUS = 68, /// OP_READ_PLUS = 68,
/// OP_SEEK = 69, /// OP_SEEK = 69,
/// OP_WRITE_SAME = 70, /// OP_WRITE_SAME = 70,
/// OP_CLONE = 71,
/// OP_ILLEGAL = 10044 /// OP_ILLEGAL = 10044
/// }; /// };
/// ///
/// ///
/// ///
/// const ACCESS4_READ = 0x00000001; /// const ACCESS4_READ = 0x00000001;
/// const ACCESS4_LOOKUP = 0x00000002; /// const ACCESS4_LOOKUP = 0x00000002;
/// const ACCESS4_MODIFY = 0x00000004; /// const ACCESS4_MODIFY = 0x00000004;
/// const ACCESS4_EXTEND = 0x00000008; /// const ACCESS4_EXTEND = 0x00000008;
/// const ACCESS4_DELETE = 0x00000010; /// const ACCESS4_DELETE = 0x00000010;
skipping to change at page 31, line 11 skipping to change at page 31, line 13
/// uint32_t access; /// uint32_t access;
/// }; /// };
/// ///
/// union ACCESS4res switch (nfsstat4 status) { /// union ACCESS4res switch (nfsstat4 status) {
/// case NFS4_OK: /// case NFS4_OK:
/// ACCESS4resok resok4; /// ACCESS4resok resok4;
/// default: /// default:
/// void; /// void;
/// }; /// };
/// ///
/// struct CLONE4args {
/// /* SAVED_FH: source file */
/// /* CURRENT_FH: destination file */
/// stateid4 cl_src_stateid;
/// stateid4 cl_dst_stateid;
/// offset4 cl_src_offset;
/// offset4 cl_dst_offset;
/// length4 cl_count;
/// };
///
/// struct CLONE4res {
/// nfsstat4 cl_status;
/// };
/// struct CLOSE4args { /// struct CLOSE4args {
/// /* CURRENT_FH: object */ /// /* CURRENT_FH: object */
/// seqid4 seqid; /// seqid4 seqid;
/// stateid4 open_stateid; /// stateid4 open_stateid;
/// }; /// };
/// ///
/// union CLOSE4res switch (nfsstat4 status) { /// union CLOSE4res switch (nfsstat4 status) {
/// case NFS4_OK: /// case NFS4_OK:
/// stateid4 open_stateid; /// stateid4 open_stateid;
/// default: /// default:
skipping to change at page 68, line 19 skipping to change at page 68, line 35
/// case OP_COPY_NOTIFY: COPY_NOTIFY4args opoffload_notify; /// case OP_COPY_NOTIFY: COPY_NOTIFY4args opoffload_notify;
/// case OP_DEALLOCATE: DEALLOCATE4args opdeallocate; /// case OP_DEALLOCATE: DEALLOCATE4args opdeallocate;
/// case OP_IO_ADVISE: IO_ADVISE4args opio_advise; /// case OP_IO_ADVISE: IO_ADVISE4args opio_advise;
/// case OP_LAYOUTERROR: LAYOUTERROR4args oplayouterror; /// case OP_LAYOUTERROR: LAYOUTERROR4args oplayouterror;
/// case OP_LAYOUTSTATS: LAYOUTSTATS4args oplayoutstats; /// case OP_LAYOUTSTATS: LAYOUTSTATS4args oplayoutstats;
/// case OP_OFFLOAD_CANCEL: OFFLOAD_CANCEL4args opoffload_cancel; /// case OP_OFFLOAD_CANCEL: OFFLOAD_CANCEL4args opoffload_cancel;
/// case OP_OFFLOAD_STATUS: OFFLOAD_STATUS4args opoffload_status; /// case OP_OFFLOAD_STATUS: OFFLOAD_STATUS4args opoffload_status;
/// case OP_READ_PLUS: READ_PLUS4args opread_plus; /// case OP_READ_PLUS: READ_PLUS4args opread_plus;
/// case OP_SEEK: SEEK4args opseek; /// case OP_SEEK: SEEK4args opseek;
/// case OP_WRITE_SAME: WRITE_SAME4args opwrite_same; /// case OP_WRITE_SAME: WRITE_SAME4args opwrite_same;
/// case OP_CLONE: CLONE4args opclone;
/// ///
/// /* Operations not new to NFSv4.1 */ /// /* Operations not new to NFSv4.1 */
/// case OP_ILLEGAL: void; /// case OP_ILLEGAL: void;
/// }; /// };
/// ///
/// union nfs_resop4 switch (nfs_opnum4 resop) { /// union nfs_resop4 switch (nfs_opnum4 resop) {
/// case OP_ACCESS: ACCESS4res opaccess; /// case OP_ACCESS: ACCESS4res opaccess;
/// case OP_CLOSE: CLOSE4res opclose; /// case OP_CLOSE: CLOSE4res opclose;
/// case OP_COMMIT: COMMIT4res opcommit; /// case OP_COMMIT: COMMIT4res opcommit;
/// case OP_CREATE: CREATE4res opcreate; /// case OP_CREATE: CREATE4res opcreate;
skipping to change at page 70, line 51 skipping to change at page 71, line 19
/// case OP_COPY_NOTIFY: COPY_NOTIFY4res opcopy_notify; /// case OP_COPY_NOTIFY: COPY_NOTIFY4res opcopy_notify;
/// case OP_DEALLOCATE: DEALLOCATE4res opdeallocate; /// case OP_DEALLOCATE: DEALLOCATE4res opdeallocate;
/// case OP_IO_ADVISE: IO_ADVISE4res opio_advise; /// case OP_IO_ADVISE: IO_ADVISE4res opio_advise;
/// case OP_LAYOUTERROR: LAYOUTERROR4res oplayouterror; /// case OP_LAYOUTERROR: LAYOUTERROR4res oplayouterror;
/// case OP_LAYOUTSTATS: LAYOUTSTATS4res oplayputstats; /// case OP_LAYOUTSTATS: LAYOUTSTATS4res oplayputstats;
/// case OP_OFFLOAD_CANCEL: OFFLOAD_CANCEL4res opoffload_cancel; /// case OP_OFFLOAD_CANCEL: OFFLOAD_CANCEL4res opoffload_cancel;
/// case OP_OFFLOAD_STATUS: OFFLOAD_STATUS4res opoffload_status; /// case OP_OFFLOAD_STATUS: OFFLOAD_STATUS4res opoffload_status;
/// case OP_READ_PLUS: READ_PLUS4res opread_plus; /// case OP_READ_PLUS: READ_PLUS4res opread_plus;
/// case OP_SEEK: SEEK4res opseek; /// case OP_SEEK: SEEK4res opseek;
/// case OP_WRITE_SAME: WRITE_SAME4res opwrite_same; /// case OP_WRITE_SAME: WRITE_SAME4res opwrite_same;
/// case OP_CLONE: CLONE4res opclone;
/// ///
/// /* Operations not new to NFSv4.1 */ /// /* Operations not new to NFSv4.1 */
/// case OP_ILLEGAL: ILLEGAL4res opillegal; /// case OP_ILLEGAL: ILLEGAL4res opillegal;
/// }; /// };
/// ///
/// struct COMPOUND4args { /// struct COMPOUND4args {
/// utf8str_cs tag; /// utf8str_cs tag;
/// uint32_t minorversion; /// uint32_t minorversion;
/// nfs_argop4 argarray<>; /// nfs_argop4 argarray<>;
/// }; /// };
 End of changes. 11 change blocks. 
7 lines changed or deleted 24 lines changed or added

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