draft-ietf-nfsv4-minorversion2-dot-x-19.txt   draft-ietf-nfsv4-minorversion2-dot-x-20.txt 
NFSv4 T. Haynes NFSv4 T. Haynes
Internet-Draft Editors Internet-Draft Editors
Intended status: Standards Track August 13, 2013 Intended status: Standards Track February 03, 2014
Expires: February 14, 2014 Expires: August 7, 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-19.txt draft-ietf-nfsv4-minorversion2-dot-x-20.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 1, line 38 skipping to change at page 1, line 38
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 February 14, 2014. This Internet-Draft will expire on August 7, 2014.
Copyright Notice Copyright Notice
Copyright (c) 2013 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
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 . . . . . . . . . . . . . . . . . . . 79 2. Security Considerations . . . . . . . . . . . . . . . . . . . 79
3. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 79 3. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 80
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 ([RFC4506]) description of NFSv4.2 This document contains the XDR ([RFC4506]) description of NFSv4.2
protocol ([I-D.ietf-nfsv4-minorversion2]). In order to facilitate protocol ([I-D.ietf-nfsv4-minorversion2]). In order to facilitate
implementations that support all of NFSv4.0, NFSv4.1, and NFSv4.2, implementations that support all of NFSv4.0, NFSv4.1, and NFSv4.2,
the description includes operations, and other features of NFSv4.0 the description includes operations, and other features of NFSv4.0
and NFSv4.1 that do not apply to NFSv4.2. and NFSv4.1 that do not apply to NFSv4.2.
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- /// * draft-ietf-nfsv4-minorversion2-22
/// * Last updated Tue Aug 13 12:03:39 PDT 2013 /// * Last updated Mon Feb 3 09:42:51 PST 2014
/// */ /// */
/// /* /// /*
/// * 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 7, line 34 skipping to change at page 7, line 34
/// NFS4ERR_WRONG_TYPE = 10083,/* op on wrong type object */ /// NFS4ERR_WRONG_TYPE = 10083,/* op on wrong type object */
/// NFS4ERR_DIRDELEG_UNAVAIL=10084,/* delegation not avail. */ /// NFS4ERR_DIRDELEG_UNAVAIL=10084,/* delegation not avail. */
/// NFS4ERR_REJECT_DELEG = 10085,/* cb rejected delegation */ /// NFS4ERR_REJECT_DELEG = 10085,/* cb rejected delegation */
/// NFS4ERR_RETURNCONFLICT = 10086,/* layout get before return*/ /// NFS4ERR_RETURNCONFLICT = 10086,/* layout get before return*/
/// NFS4ERR_DELEG_REVOKED = 10087,/* deleg./layout revoked */ /// NFS4ERR_DELEG_REVOKED = 10087,/* deleg./layout revoked */
/// ///
/// /* NFSv4.2 errors start here. */ /// /* NFSv4.2 errors start here. */
/// ///
/// NFS4ERR_PARTNER_NOTSUPP= 10088,/* s2s not supported */ /// NFS4ERR_PARTNER_NOTSUPP= 10088,/* s2s not supported */
/// NFS4ERR_PARTNER_NO_AUTH= 10089,/* s2s not authorized */ /// NFS4ERR_PARTNER_NO_AUTH= 10089,/* s2s not authorized */
/// NFS4ERR_METADATA_NOTSUPP=10090,/* dest metadata diff sourc*/ /// NFS4ERR_UNION_NOTSUPP = 10090,/* Arm of union not supp */
/// NFS4ERR_OFFLOAD_DENIED = 10091,/* dest not allowing copy */ /// NFS4ERR_OFFLOAD_DENIED = 10091,/* dest not allowing copy */
/// NFS4ERR_WRONG_LFS = 10092,/* LFS not supported */ /// NFS4ERR_WRONG_LFS = 10092,/* LFS not supported */
/// NFS4ERR_BADLABEL = 10093,/* incorrect label */ /// NFS4ERR_BADLABEL = 10093 /* incorrect label */
/// NFS4ERR_UNION_NOTSUPP = 10094 /* Arm of union not supp */
/// }; /// };
/// ///
/// /* /// /*
/// * 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;
skipping to change at page 17, line 45 skipping to change at page 17, line 44
/// labelformat_spec4 slai_lfs; /// labelformat_spec4 slai_lfs;
/// opaque slai_data<>; /// opaque slai_data<>;
/// }; /// };
/// ///
/// ///
/// 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 */
/// unsigned int cfap_seq_num;
/// }; /// };
/// ///
/// struct copy_to_auth_priv { /// struct copy_to_auth_priv {
/// /* equal to cfap_shared_secret */ /// /* equal to cfap_shared_secret */
/// secret4 ctap_shared_secret; /// secret4 ctap_shared_secret;
/// netloc4 ctap_source; /// netloc4 ctap_source;
/// /* the NFSv4 user name that the user principal maps to */ /// /* the NFSv4 user name that the user principal maps to */
/// utf8str_mixed ctap_username; /// utf8str_mixed ctap_username;
/// /* equal to seq_num of rpc_gss_cred_vers_3_t */ /// /*
/// unsigned int ctap_seq_num; /// * user principal RPCSEC_GSSv1 (or v2) handle shared
/// * with the source server
/// */
/// opaque ctap_handle;
/// int ctap_handle_vers;
/// /* A nounce and a mic of the nounce using ctap_handle */
/// opaque ctap_nounce;
/// opaque ctap_nounce_mic;
/// }; /// };
/// ///
/// struct copy_confirm_auth_priv { /// struct copy_confirm_auth_priv {
/// /* equal to GSS_GetMIC() of cfap_shared_secret */ /// /* equal to GSS_GetMIC() of cfap_shared_secret */
/// opaque ccap_shared_secret_mic<>; /// opaque ccap_shared_secret_mic<>;
/// /* the NFSv4 user name that the user principal maps to */ /// /* the NFSv4 user name that the user principal maps to */
/// utf8str_mixed ccap_username; /// utf8str_mixed ccap_username;
/// /* equal to seq_num of rpc_gss_cred_vers_3_t */
/// unsigned int ccap_seq_num;
/// }; /// };
/// ///
/// ///
/// struct app_data_hole4 { /// struct app_data_hole4 {
/// offset4 adh_offset; /// offset4 adh_offset;
/// length4 adh_block_size; /// length4 adh_block_size;
/// length4 adh_block_count; /// length4 adh_block_count;
/// length4 adh_reloff_blocknum; /// length4 adh_reloff_blocknum;
/// count4 adh_block_num; /// count4 adh_block_num;
/// length4 adh_reloff_pattern; /// length4 adh_reloff_pattern;
skipping to change at page 60, line 44 skipping to change at page 60, line 46
/// case NFS4_CONTENT_HOLE: /// case NFS4_CONTENT_HOLE:
/// data_info4 wpa_hole; /// data_info4 wpa_hole;
/// default: /// default:
/// void; /// void;
/// }; /// };
/// ///
/// struct WRITE_PLUS4args { /// struct WRITE_PLUS4args {
/// /* CURRENT_FH: file */ /// /* CURRENT_FH: file */
/// stateid4 wp_stateid; /// stateid4 wp_stateid;
/// stable_how4 wp_stable; /// stable_how4 wp_stable;
/// write_plus_arg4 wp_data<>; /// write_plus_arg4 wp_data;
/// }; /// };
/// ///
/// ///
/// union WRITE_PLUS4res switch (nfsstat4 wp_status) { /// union WRITE_PLUS4res switch (nfsstat4 wp_status) {
/// case NFS4_OK: /// case NFS4_OK:
/// write_response4 wp_resok4; /// write_response4 wp_resok4;
/// default: /// default:
/// void; /// void;
/// }; /// };
/// ///
/// enum IO_ADVISE_type4 { /// enum IO_ADVISE_type4 {
/// IO_ADVISE4_NORMAL = 0, /// IO_ADVISE4_NORMAL = 0,
/// IO_ADVISE4_SEQUENTIAL = 1, /// IO_ADVISE4_SEQUENTIAL = 1,
/// IO_ADVISE4_SEQUENTIAL_BACKWARDS = 2, /// IO_ADVISE4_SEQUENTIAL_BACKWARDS = 2,
/// IO_ADVISE4_RANDOM = 3, /// IO_ADVISE4_RANDOM = 3,
/// IO_ADVISE4_WILLNEED = 4, /// IO_ADVISE4_WILLNEED = 4,
/// IO_ADVISE4_WILLNEED_OPPORTUNISTIC = 5, /// IO_ADVISE4_WILLNEED_OPPORTUNISTIC = 5,
 End of changes. 14 change blocks. 
19 lines changed or deleted 21 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/