Re: [nfsv4] Tsvart early review of draft-ietf-nfsv4-rpcrdma-version-two-05

Chuck Lever III <chuck.lever@oracle.com> Tue, 02 November 2021 14:59 UTC

Return-Path: <chuck.lever@oracle.com>
X-Original-To: nfsv4@ietfa.amsl.com
Delivered-To: nfsv4@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id B3E903A1220; Tue, 2 Nov 2021 07:59:25 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.098
X-Spam-Level:
X-Spam-Status: No, score=-2.098 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_NONE=0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=oracle.com header.b=Z0Sac6Wg; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.b=D1jKwFG7
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id je5r2doJWMHa; Tue, 2 Nov 2021 07:59:21 -0700 (PDT)
Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 398F83A121C; Tue, 2 Nov 2021 07:59:18 -0700 (PDT)
Received: from pps.filterd (m0246631.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.16.1.2/8.16.1.2) with SMTP id 1A2EgF0a026634; Tue, 2 Nov 2021 14:59:16 GMT
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : content-id : content-transfer-encoding : mime-version; s=corp-2021-07-09; bh=bQPYGbJofDiRezM8+D1e0hdInu1MjO8ruakiSX3ERRU=; b=Z0Sac6WgjC8dgGjsIBnIelgUn1+unEBT7HBPw7366tpFgRCyMRdO3wiGlaPeGKjhikWu ODRhjmojcy5botYWJ8MXH3YKkUmFgrM2Yg3LW4JXfoJnlzSCgDjRw3e3NI7RRjOvoonu xUE9E9ex/LosOZp39wxacD1YguNCDqoRDUXWMe+NTcr9JbWmHDH9DkyqSbJjG+UZ4/2l tWFyvv/Cf7eHwLHMEb7HEuxmvnoto7jffGNizaoimtK/m+2beSrzdq619YnCxEqHvA3B MS8/PZfns8O+TjOZBc96Q7eNMVyLHeR+c5E4OaFcJkxkqPJE0pmT9VBBVlaNtNkZAgks FQ==
Received: from userp3020.oracle.com (userp3020.oracle.com [156.151.31.79]) by mx0b-00069f02.pphosted.com with ESMTP id 3c26e8g42r-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 02 Nov 2021 14:59:12 +0000
Received: from pps.filterd (userp3020.oracle.com [127.0.0.1]) by userp3020.oracle.com (8.16.1.2/8.16.1.2) with SMTP id 1A2EuH0S130193; Tue, 2 Nov 2021 14:59:00 GMT
Received: from nam10-bn7-obe.outbound.protection.outlook.com (mail-bn7nam10lp2100.outbound.protection.outlook.com [104.47.70.100]) by userp3020.oracle.com with ESMTP id 3c1khtmg7y-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 02 Nov 2021 14:59:00 +0000
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=WtyZ5Ao/mrnCBmnLdIBuHBbVW4SpmlF2ejpY0Ap3nrK9BZfCVm9ZjJQNqkvMjNPYtHLI1rG/DFMvSXzMdk9yUc7K0ZTaeaWGXbrhvaAB6sxNaeAHrscTLVkRRkU2b7MxJmngEq6ByigIFGcA7lxWZMKHt9LEA2PdeBZ0lUDAlHgpoXUR3rQqqZiRF7g4dPvDRtYtQHk4cRes9vbarhVa8ZuIcFF4V0vdjohS2B+x7EoqZSEUXUPnNcRwlgInC0NGFjPJbv9k7mdjP3AXtV7/6oyCVEhvrFld4G10oQoDbrhX41uRrb+5YJbRDFN8iU5gFIpt3ZRB66iBnlltMw7MPQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=bQPYGbJofDiRezM8+D1e0hdInu1MjO8ruakiSX3ERRU=; b=cT5H0inDhzxxGZcIR68GdQV876thaNE9uoOOq54SakwnQaGMF+ObtYgpDyjouHT4oaGyiyP98lpdtYDn3ZpjcYxeogvB+Js9oRwuCTRHMzoEJAECGRUhgPuDo4oBiDIXqIPUbnhSPapnt8JR4ktGM+mKmH7l/hNODuMchegv9kANNqrizDZ3fWgtDuvvG1uN6TZCIl85D5OvTIxiD4w97Dn4Dmz8IMW3xptVi3bVhy325mNYAZwJMuSuLmAJ4miAyfPHiE45RAKoRM1pOBkB3Zdy2Dn0FmC4FK8wQB8wuAf3nhRqHZSsLnTtYAh8I70Ubwz92SQBAUGJGwSediIfbA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=bQPYGbJofDiRezM8+D1e0hdInu1MjO8ruakiSX3ERRU=; b=D1jKwFG7duweMJeE98f5FVOaMINgGmLIorVifllCktisCTrykR4nqddXWN0kdTBjg8DwmIA9EfBRD5nYU+irjiBT1LW2b3FqgP1pLnXCHdAxZJFLp2cEK9g4W6MV7mlQWSqWPIeFx0vldc+WGS5g/PUqf1nNJbDX6E/TJ8YdWTo=
Received: from SJ0PR10MB4688.namprd10.prod.outlook.com (2603:10b6:a03:2db::24) by BYAPR10MB2440.namprd10.prod.outlook.com (2603:10b6:a02:b2::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4649.15; Tue, 2 Nov 2021 14:58:58 +0000
Received: from SJ0PR10MB4688.namprd10.prod.outlook.com ([fe80::2ded:9640:8225:8200]) by SJ0PR10MB4688.namprd10.prod.outlook.com ([fe80::2ded:9640:8225:8200%5]) with mapi id 15.20.4649.019; Tue, 2 Nov 2021 14:58:58 +0000
From: Chuck Lever III <chuck.lever@oracle.com>
To: Jana Iyengar <jri.ietf@gmail.com>
CC: "tsv-art@ietf.org" <tsv-art@ietf.org>, "draft-ietf-nfsv4-rpcrdma-version-two.all@ietf.org" <draft-ietf-nfsv4-rpcrdma-version-two.all@ietf.org>, "nfsv4@ietf.org" <nfsv4@ietf.org>
Thread-Topic: Tsvart early review of draft-ietf-nfsv4-rpcrdma-version-two-05
Thread-Index: AQHXz8sZVBEcqJY4LEO8EBHIonk1hqvwVLyA
Date: Tue, 02 Nov 2021 14:58:58 +0000
Message-ID: <C3890CF3-86F3-4E72-BB1A-522BF0AA4CA3@oracle.com>
References: <163584491835.18636.4240783876111764396@ietfa.amsl.com>
In-Reply-To: <163584491835.18636.4240783876111764396@ietfa.amsl.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3654.120.0.1.13)
authentication-results: gmail.com; dkim=none (message not signed) header.d=none;gmail.com; dmarc=none action=none header.from=oracle.com;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: ac85af78-407e-46d5-3bf7-08d99e114c58
x-ms-traffictypediagnostic: BYAPR10MB2440:
x-microsoft-antispam-prvs: <BYAPR10MB24401EF49E5640D4652ACB0A938B9@BYAPR10MB2440.namprd10.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:9508;
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 4m0vM1OVUcns9L27FYgC7pY/UoH3XCpbwQ24FhanSgt36f9Mz7jKZVoe3AvJfE39s0GXXeEL4HYBrCIy3JF5qRN0Xbyt9pgUaROD9tf2SMPfXPL6IzwFSPSL4NK80h5O7SiG+rDNrhNMLPxkqrD2yIfDqAOU1w6g6DsSq8MlkW8hgIr3wP5YNj0UGDUOHOpf84Dl6ido4zZ370rX4Vr/cQ0QzxSl64gQBhkgEhoQRIyxt9KyZHoE5CoUZTvgDAtqIBdd9MByxhsrmNw76Vvm9Fjpsv2Nl0mN291RGr1WyhJCYMIH6/wY2kKOv4SWKDt50dOLCF1v7IVu3erGokXP60bwoJGiQEic7cJ4EtHS2rZcmbEFHRkozIFI4WPddaiKsBD0IwhtfVKbY32LuLd5HjN2Zg0v/0EIlYrVLRP7X0MZufVHtd6seurLkoEsKjnQbhlljDemfjaAxhid+AUoYMIeDoB0TbeLAp4EGodvEYz1K11gggxvoR2jen/tYLBxazyoleoqXHGLT22E7IZ9VlILE2CJK9XtoIRv1oAi1EZ2cCLujsDNTR7HMEIUiHuOw4ZoUosmWVhH3T9Onb8vvzg7gPsqJ+HyMYKqEfG0GBbcpD1EST/EBwmT+NvMy++A+wTuCqeG8kTSTRWbNNvPokyxRQjsxergytujtKH0Iv8OhYvBjFzsNhM7Fa1u7KFepJCZRdwL0hiigxK0hwSCOF2q7O35WLXsrIA2O425MYpfIq/eimxHA6g7y8WOjj+I
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SJ0PR10MB4688.namprd10.prod.outlook.com; PTR:; CAT:NONE; SFS:(366004)(91956017)(6512007)(6506007)(54906003)(8676002)(6486002)(66946007)(83380400001)(76116006)(86362001)(122000001)(8936002)(53546011)(5660300002)(38070700005)(36756003)(4326008)(33656002)(2906002)(38100700002)(186003)(2616005)(316002)(26005)(66446008)(6916009)(66556008)(71200400001)(66476007)(508600001)(64756008)(45980500001); DIR:OUT; SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: O9xKl7P7LOpSEvXVEQf5qXvrF2r0YFmlUZq7o/rY7TvegaOUdXsBt8IXiD1nYoXS6+VFIuZQVrp2fvqqlzHJ+gdDR7GEz1PhbrzkbOf31FHVMmyIkPq+9hd84DpwPNpL6CbssUXRtsRYcXsx/SuAVOwMRIZS00joGqKOT5F3FuGfiUgsYhiR8nbrFFfA6wTtvGAOALCGFp5aTMtwcFpkj5WlrsKZOrWjIBfDBMWhNaPvxU2gZCagnA9AOx8Kj/4irYOFBl40W4we6v/len8wOnqBYcauYGv/7U6gR/vyFAbtaF7sbDl7jJFt4/vjH9mpQWqXSpWX0Zze8+6KXXzSx+qBXdvhvCyyd3SbizSFouxXBv8HOS0B89OPdFB4koy2DY+FonPOWFMLl/HSDXucPoytxgZYQlQbQeAfCaLWR0Ym+9saBMCnucr9LG+hBdoqk6+kUq814/hnEoAryzDcDadUZ7bdBMeLTa3rrv2l0SWZQIljL7XkoTZz9uoPOXq7yHmuZzfrDU6nb4bBhfA5Ks60r1NzKbxfb339TlVBRvC+HJ69+uWp0CnqHIKSzzGD7nM0z4qK9rH0Oq9wsGLjybQP332bksmkUHc+WwmUfivKAO/MNt6sIDiMWO7hngOqHgqVPKVTf/RlS9g6JqHSYnF+Kt55CykP58LbObDzz7ZzA6PRyzsUbWTYKdjKyQsa3CfMlfK+S1a3m9Si0izYu514cnUelqpPwDIF22JL8D9eJcR823unrZLeQxu3K2YJskR/PuN1PxErscnGrhogdluFtWNU/HNWmB4kMv+WFI5M9fThkoRekIjoiqz8dgx92d0TF+pSaiw08wKywEOwqloi4JL/Rpcw6q53Y2+0RrZwlnl3JTw+mcF41nFkKmBpYLgWLoIUO7YAupcx9GLKXkkcVS3kejlEv6w/N9wkCsQ92kFOhnUyHBRnJlO3Cg3+u42e/qoWkxDd+wmcBdVBUx8jHBBm8WocnvIiNyb9D65/ZrL3tRysPGb7lFyYrfFFsyZt+xWLcdiyRmRPVSyLrg+hKNF8m1NGsQu2GWFx6fCyISo2ThO9aI75E0YV9djUrVMz/R14ldDtkYkNM7m/ADSa6IbdGZD5O8V532MQLvob5iPseHa5EzS+HDT/Fmuf8bRGBBtjd0Gpy+FnTv4u4rnzcWpV1VY4OcbnP2CtQjpfNuky6kGsbizktCaQoRxm6Hi076lATp9/VY/GwqtTdowBgs0MRSRFGEZqg1V9rV3oHfr/NYpuebWMhlXjK9dT0obCXpI+m1p9A1/QHeJ9ZqqJXMbZk6Axbm/nu4B4d4r7u3Z97QDSb+9x9jrDHElH6BxFHKZKoUfbq+29NlA1NYKswstA9JWOYgFKYJwO/QRP+QwcaGbB/Edeaxlzpz1iBa2t8f+EWgcR6TOitpu+XDfxToBRUU55lu4K5pCuve0G3Gu4w1Q34/OqGDYxX841Mu1Js3mfrMy58FD6Pcl/OgtK9p22oYZMnxq4JjzEymdAIyXeVACJIfSXzCn4GYu9JCD4ysN3OOhaKvDp/y6fXvUJFuLkjV2bcAOAYyBurUo81Srwjr4H0uVHtjQI8GQ9bsmLdnr6n09s1UdlvcCQU5flXyABy2Rrhfhr/2j5VYM=
Content-Type: text/plain; charset="us-ascii"
Content-ID: <EE7969F4D277FB43A19D140D29F23FAA@namprd10.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: oracle.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR10MB4688.namprd10.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ac85af78-407e-46d5-3bf7-08d99e114c58
X-MS-Exchange-CrossTenant-originalarrivaltime: 02 Nov 2021 14:58:58.0845 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: Rog+7ie40fwc2b1Ebgec5XDLMgivXlSKGxBhL0VtE4mt7I/NjBqweKfqajC4U8uOGWwycOlATaZizl/MqkuG6g==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR10MB2440
X-Proofpoint-Virus-Version: vendor=nai engine=6300 definitions=10156 signatures=668683
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 malwarescore=0 phishscore=0 bulkscore=0 spamscore=0 adultscore=0 suspectscore=0 mlxlogscore=999 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2110150000 definitions=main-2111020088
X-Proofpoint-GUID: u9dkxv0-aDmxsw85qnSkILovlI88W6fw
X-Proofpoint-ORIG-GUID: u9dkxv0-aDmxsw85qnSkILovlI88W6fw
Archived-At: <https://mailarchive.ietf.org/arch/msg/nfsv4/rAvzPg-W1C5LZhu4T4Bap6PXOzs>
Subject: Re: [nfsv4] Tsvart early review of draft-ietf-nfsv4-rpcrdma-version-two-05
X-BeenThere: nfsv4@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NFSv4 Working Group <nfsv4.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/nfsv4>, <mailto:nfsv4-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/nfsv4/>
List-Post: <mailto:nfsv4@ietf.org>
List-Help: <mailto:nfsv4-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/nfsv4>, <mailto:nfsv4-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 02 Nov 2021 14:59:26 -0000

Hi Jana, thanks for your expert comments. A few responses
are inline below.


> On Nov 2, 2021, at 5:21 AM, Jana Iyengar via Datatracker <noreply@ietf.org> wrote:
> 
> Reviewer: Jana Iyengar
> Review result: Not Ready
> 
> I've read up through Section 4, specifically to understand and comment on the
> Flow Control aspects of this draft, as requested by Chuck Lever.
> 
> As I understand it, FC works as follows:
> 
> - A receiver advertises the number of unacknowledged messages it is willing to
>  receive (`credit window`), and also indicates the number of messages received so far
>  (`received`). The underlying transport is assumed to provide ordered and
>  reliable delivery.
> 
> - A sender is required to not send more than receiver-advertized `received +
>  credit window` messages.
> 
> - These advertisements are typically piggy-backed on payload-bearing
>  messages. Optionally, a receiver can send a message with a `Grants Credit`
>  header type to advertise its window.
> 
> - The receiver can increase or decrease the advertised window.
> 
> - Each message has a max message size (`Inline Threshold`) which is indicated
>  via `Transport Properties`, and defaults to 4096 bytes.
> 
> 
> I have a few comments specific to Flow Control:
> 
> - The document allows for advertised window to increase or decrease, meaning
>  that a receiver can renege on credit it advertises. Specifically, this allows
>  a receiver to say it will accept a particular message and then reduces its
>  window to cause that message to be now out of its window.

It was not my intention for a credit decrease to force messages
out of the window. I hope this oversight can be addressed by
simply adding a sentence or two restricting the Receiver's
behavior.


>  This choice is rife with pain. I would urge, in the strongest manner possible,
>  to avoid allowing reneging. That is, do not allow a receiver to arbitrarily
>  reduce advertised credit so as to allow reneging. If you really really need
>  it, prepare for some blood and sweat, and eventually, inevitable tears.
> 
>  To clarify, I do not mean that the window size must remain the same. A
>  receiver can reduce its window size, but do it so that if a message was
>  in-window before, it remains in-window after.
> 
>  For example, here is a sequence of FC messages that reduces the window and
>  reneges on a previously allowed message (this is bad):
> 
>  received = 10, window = 5  (allowed = 11-15)
>  received = 11, window = 2  (allowed = 12-13, reneged on 14, 15)
> 
>  And here is a sequence of FC messages that reduces the window without
>  reneging (this is good):
> 
>  received = 10, window = 5  (allowed = 11-15)
>  received = 11, window = 4  (allowed = 12-15)
>  received = 12, window = 3  (allowed = 13-15)
> 
> - The current mechanism has a receiver advertising both `received` and `credit
>  window` and the sender computes the limit. It is more direct for a receiver to
>  simply advertise the limit -- basically the maximum message that the sender
>  can send. This makes for fewer fields in the exchange, is more intuitive, and
>  importantly, it is easier to describe a mechanism that avoids reneging
>  (advertise the total message limit, and never advertise a lower number).

A single field is preferable to retain better compatibility
with RPC/RDMA v1. I wasn't able to think of a way to combine
the fields. We can discuss this offline.


> - Are the expected limits at a receiver in bytes or in operations? I imagine
>  that the answer is bytes.

The second paragraph of Section 4.2.1 explains that the
connection's credit limits are expressed in messages, not
bytes.

   An RPC-over-RDMA version 2 credit represents the capability to convey
   exactly one RPC-over-RDMA version 2 message, regardless of its size,
   via an RDMA Send/Receive pair.


>  If so, the FC mechanisms should be tied to this
>  resource. At the moment, a receiver has to figure out what to advertise based
>  on available memory and the maximum message size it advertised. Note that
>  there will be inefficiency because messages are likely to be smaller than the
>  max limit. It is likely to be more direct and efficient if the unit is all
>  bytes.

True, messages are typically smaller than the connection's
inline thresholds. Unfortunately message bytes are not
fungible among RDMA Receive buffers.

A Receiver with 32 4096-byte Receive buffers will use exactly
the same resources to receive 32 400-byte messages as it will
to receive 32 3500-byte messages. Sending small RDMA messages
does not enable a Receiver to then receive additional messages.

At one point the document text was clear that the inline
threshold is actually the RDMA Receive buffer size, but that
over time has been removed in favor of generality.


Regarding efficiency: We had considered building a capability
in RPC/RDMA of conveying multiple short RPC messages in a
single RDMA Send/Receive, but holding up those RPC messages to
coalesce them usually adds unwanted latency.


> - When are transport properties exchanged? FC credit needs to be available at
>  the beginning of a connection for any progress to be made at all, so either
>  both endpoints need to advertise it right at the start, or some default needs
>  to be assumed. I don't see either in the document.

The second paragraph of Section 4.3 explains that both peers
must send one-at-a-time until credit limits are established.


> - Finally, `credit window` is a strange term. What the document currently uses
>  is arguably a window, and the term `window` here applies to messages that can
>  be received, not to flow control credit.
> 
> General comments (I skimmed the rest of the document):
> 
> - I understand the value of the XDR descriptions for the protocol, but I haven't
>  encountered this in the past. Is this adequate for an IETF RFC? This is not a
>  request to change anything, so perhaps all I'm looking for is that the ADs are
>  ok with this.

Fwiw, XDR describes RPC protocols throughout the RFCs pub-
lished by the nfsv4 WG, starting with RFC 2623. Previous to
the creation of the nfsv4 WG, XDR was originally defined in
RFC 1014 and used to describe NFSv2 in RFC 1094 in 1989.


> - It would be useful to have forward references from the earlier sections to the
>  later wire format and detailed error sections. For example, when a connection
>  might be closed due to FC violations.
> 
> - I might recommend a little text in the intro section laying out the structure
>  of the document.
> 
> - I see lowercase and uppercase MUSTs and SHOULDs. For clarity, consider
>  rewriting the text to avoid the lowercase keywords.

Issues regarding readability, terminology, and document
structure will be addressed in subsequent revisions. Thanks
for pointing them out!


--
Chuck Lever