Re: [nfsv4] [Technical Errata Reported] RFC8166 (6528)

Chuck Lever III <chuck.lever@oracle.com> Wed, 21 April 2021 14:10 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 394A73A295D for <nfsv4@ietfa.amsl.com>; Wed, 21 Apr 2021 07:10:48 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.398
X-Spam-Level:
X-Spam-Status: No, score=-4.398 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_DNSWL_MED=-2.3, 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=c2UoYDpJ; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.b=Xm1EhoBF
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 vrPNZ78EX89L for <nfsv4@ietfa.amsl.com>; Wed, 21 Apr 2021 07:10:43 -0700 (PDT)
Received: from userp2120.oracle.com (userp2120.oracle.com [156.151.31.85]) (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 0D1383A2948 for <nfsv4@ietf.org>; Wed, 21 Apr 2021 07:10:42 -0700 (PDT)
Received: from pps.filterd (userp2120.oracle.com [127.0.0.1]) by userp2120.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 13LE9ak5092860; Wed, 21 Apr 2021 14:10:39 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-2020-01-29; bh=oJmYYqz0kAYqPY5Y8My9k9lrFm/rvCBkrB9dTb8cK1I=; b=c2UoYDpJiwK1Ldan93swF4eG90oPpeRao4DE9rT/SIpXJ8VNr5fxHDCF5g+uWap9v34b TjCYAsiBzC2WUps8zjTtYULx6sqZLyvnUB0oWGTPFoV9PjYL/A98BgeaAKbZS6vRW3rD oLVHul/NPfOEQuTpiFmQtxMI1DeS7n7C6hD3BrqVp+dKbarsl7KulybZMK6effMapm+p 3U3S8MPIKoO57c7kCBGk4D4YpB3ddrjJQUmlkRKeLLXrOttJCy2vuaWI0JgkvEqBgJHz fCukdgytXj2lFnHt7DsQPmPhdDqVM0qGzfXzL1qC7RnE1TM4MYXDfC+Wet/QFXjFP2O0 gQ==
Received: from aserp3030.oracle.com (aserp3030.oracle.com [141.146.126.71]) by userp2120.oracle.com with ESMTP id 38022y1tnk-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 21 Apr 2021 14:10:39 +0000
Received: from pps.filterd (aserp3030.oracle.com [127.0.0.1]) by aserp3030.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 13LE4w1V101250; Wed, 21 Apr 2021 14:10:38 GMT
Received: from nam10-bn7-obe.outbound.protection.outlook.com (mail-bn7nam10lp2102.outbound.protection.outlook.com [104.47.70.102]) by aserp3030.oracle.com with ESMTP id 38098rsjv2-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 21 Apr 2021 14:10:38 +0000
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ZmHerJ7OchSqiujAvM4nUvrXfHZrjWan0zEy3wQK8dFGxqpIPMdaABjcWvKn3H/lVNW7v3brQtz/AAUQd3+vWvlMaapqt7gr5jtPoI0XXDnYZtGV7WbPgXt2aO3bG8FOcfEEIQK7t/0gY5yNs1r7afLVvTJSo4zQcXKgv07C/e/FY1lzGbihu0308B5/+gg0EMK1Ie9ELQckytpVYdN1BPN2ftwyuZX+jx80qa2AeBVviJG0ahuvZJg5YO98m2VxwZPREyXw6ni1N5/i0c5QUZNIbBZWdtaJj5x8NuNA5ehN++90ZfnIhpSnIZNBPmTuoWlNTAFwU1LLMtVH14vBMg==
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-SenderADCheck; bh=oJmYYqz0kAYqPY5Y8My9k9lrFm/rvCBkrB9dTb8cK1I=; b=JeqpyhmcSRkeATvtASlPQ+nwItczgb7pLBahBJnWAhQBONAiWTN1SWkUzfl60OO8wxREkyvSyQQA1O4qx0oPmictvgctU0MRaej0eyo2l2izxGcBDOUCEK/ek+FkxkECEOPVjJ0yne/ZCcTtktrpojceyQ9L6IRupegorTYTRdcC5FYiKo+y+qlmZEbTUp/Qu8NQjsp2VpG2LteQ3e+vVAxp/bR0m/VnExQXAY6wt77C6QK7aJN5WCIVtCZLIzirSWdA2qiMHGqYQlQI2gKrMwQiONn04O8vFa4IPDqLD3ySlr+AOl67QW/LmEgrStkqmHXm3i9cKkrynIO5rnGATQ==
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=oJmYYqz0kAYqPY5Y8My9k9lrFm/rvCBkrB9dTb8cK1I=; b=Xm1EhoBFBYFwHqPhpSGff/iT8PFEhaQwVkAfjSUnS0NpmtHPblgKKTqApPQk23wv8tkpsJG9/7Poidfs6I5OZrumkRuKNAgaHphEIit658B8bTLVxe01w5EDU5cu5QHlVYYqtj5tFZ8J55IvJH52iaOxM0S3XULukHYsa976TUU=
Received: from SJ0PR10MB4688.namprd10.prod.outlook.com (2603:10b6:a03:2db::24) by BY5PR10MB4164.namprd10.prod.outlook.com (2603:10b6:a03:210::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4020.18; Wed, 21 Apr 2021 14:10:36 +0000
Received: from SJ0PR10MB4688.namprd10.prod.outlook.com ([fe80::50bf:7319:321c:96c9]) by SJ0PR10MB4688.namprd10.prod.outlook.com ([fe80::50bf:7319:321c:96c9%4]) with mapi id 15.20.4042.024; Wed, 21 Apr 2021 14:10:36 +0000
From: Chuck Lever III <chuck.lever@oracle.com>
To: Tom Talpey <tom@talpey.com>
CC: "nfsv4@ietf.org" <nfsv4@ietf.org>
Thread-Topic: [nfsv4] [Technical Errata Reported] RFC8166 (6528)
Thread-Index: AQHXL7qUNc5x/JIjcE657nDiShR1baq9kTYAgAAFRgCAABr3gIABUTMAgAABXgCAAAdwgIAABUkA
Date: Wed, 21 Apr 2021 14:10:36 +0000
Message-ID: <D183D93B-CBC0-48A2-B2F3-830F01E141C1@oracle.com>
References: <20210412164024.82CB8F4075A@rfc-editor.org> <A4A2576B-A0BD-4B29-B1C1-C5498AC938DC@oracle.com> <296b1959-4f6c-d24b-7eaf-d26f185bc5f2@talpey.com> <17D8AEB3-5D3F-4E77-918B-98E9716E30BB@oracle.com> <17d9ad34-50c6-611a-8e2a-888239b33a8d@talpey.com> <8FFB28EA-6C04-4F43-B4D3-67A15A479737@oracle.com> <8269f1ef-e69d-c141-b2aa-31dd35bd47b4@talpey.com>
In-Reply-To: <8269f1ef-e69d-c141-b2aa-31dd35bd47b4@talpey.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: talpey.com; dkim=none (message not signed) header.d=none;talpey.com; dmarc=none action=none header.from=oracle.com;
x-originating-ip: [68.61.232.219]
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 0302f221-ac14-4e77-f212-08d904cf3c5c
x-ms-traffictypediagnostic: BY5PR10MB4164:
x-microsoft-antispam-prvs: <BY5PR10MB4164CA14D6142A02CD61722A93479@BY5PR10MB4164.namprd10.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:10000;
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: GFyN1LRiU8K3ObzjehtCmix4d4jzmTjruA/7ABY81J/h5uzHR6lW5o2d1URggxq4mIFCRwutmXJ705thCW3BA3DjSHxz6TqRBjHvN0MIbnwsRTzTpI3+v2qKw/13J69//CA9Yg69j+WtgOIJ0XY0+mFS1TpGb0j3R6D7eAqh5d+021wlK9jDQ1aHezKJWuWQdyyMvdTQjWBmQjAAeL/Q8MPmJHi5C0NijLzdJruzeHyk42uOas738TsW9nlQ6FSlQWUcujUuIeJq03nwPTsrKnNWkES+XTXtV1xxsvxtvztZUzl5ro6gS7IYLipbbICQAByv6xp14j6sn/lELas+N8u8Y5L5ZX2ijLhBAnC5R2SReFAgl400IJ1b4jq6knmLQAKQdp4/hi47L/ypv8EGIeo/OI0su+du0NyuDno5jMIg9msjh4AVOfNvXO7PWhhsrB24awfoE9EtwYrk0QOii4XXHTwJ9uAtjupIzzNbKMBUwchBT17y0cb97MwITwsQwiU5RcAdU4Riz54288KNDSsrSkOKAziukhrsL3SaRBeaWeEfvhyepbEXXzZcBK9TjhQYs9Vz+f4EUgkBv3AOPSuaaRkluKoYyF+fWV/bHnhAXYXyk+YwxQS8efmsZiI9qXqDWVG7pDFrlzhhucSiLckIYSqbXuawu/edU4b8wkHj2GAlCKx4xcIx1c6zeZlwADE4JyDNdFrznCDi91rUBVY9Ii4zzd02qUn8Ulifct3/0n3/UdkzVpdF9u+2LB7k
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:(396003)(376002)(136003)(366004)(39860400002)(346002)(4326008)(8676002)(186003)(2616005)(91956017)(53546011)(966005)(71200400001)(26005)(6486002)(6506007)(33656002)(83380400001)(316002)(66476007)(122000001)(38100700002)(66556008)(36756003)(6916009)(66946007)(2906002)(76116006)(64756008)(66446008)(6512007)(8936002)(5660300002)(86362001)(478600001)(45980500001); DIR:OUT; SFP:1101;
x-ms-exchange-antispam-messagedata: LiL/Be0plLwkXuNkQ3P7xTnlo90qSvEiAsWQai7LTqTahSNdNtww2JSpdpHOtmoXMPHp2nQPjRzbrZzJkfmveE9T7TBbLJhnbEhvZQNrQpmcILH0mXLBm96yUtBDSoQa0uD8fYUN9gQKKvONgUV/Kj6PLjEflpq4pesso6TeTT4uxIff8pArMmtrU/gZcJ46EwR9ISP3y3dlVbyrR3gLCBHAZgtQlCXyWIs4OrPc1K/J7FMbaN+odNY9qKaQS8DkkkY+KWKqUIWkf6zb6CWfP4vf5DnJyTC0BH8ZtSfZ+cePtcGpn6DXvJiDXvtv+TduT4GmEguiwC2v6r1BPXVsJmoEt/SNK3gbISGb/Ws1jPivIrl5ycmyg0ajRtgiR4ksTNdzeSl60W2cySgAHR5ZX/cZZbTniGCFX4aKlG86okO4/MGwE7gWSoNH2B2ViZXuMQZoc0HdaylQsYywEwQU2tNFSP971BUhNvcXn6c/CyVKrEVSud27iDaXvLtisSzY36ZfzEgQE53z6p1UhZqnB7BKHByMouQoFbkm/EnAJ85vL1XCTElFxsnhmUX65WZcMWWJocxBYZJ1Edk+/JXb/pbZNId5QsJLhgF5/vGmzJQN/OMra6TT2G+tjBuJn+kTgmuMv2HTsb7pgUb6YE8gyldBE66ruA8lnBdlq7Kuh3NGvMOuyPdLgTD4fXNjRzzvYeLZAfJl+xKlwNPEGJGZ0vwCfIsrNGHzqfeBIi7pz+w0NaEKjhfajb5P4tC5BPcR8I0OHk1aKbWQCwhTV7qi4G7Tl8nb1iXvcoajM44odhyzNZWWKOxFj4phL7TZ+u8XI1ecmtOfE31iy1Nj4ZFgI/l25O64+120r22OzE5PI596Cs6eViCGJeEslMbA6j6J48DPuETSuuj6xDLUmJIPn8khtHA2vJjoi+YE2Xd+MfLe3HUpnOkQcTqTL5js0h5H+11XpvalIPhhdt3k2e50u8QjegJYHYSM8HrtQaHiVWj+0soS9PtpH09c2YXlA3ZLQx16KaNsU7edLNe0WDQ05mbT/T6M5PNI/m62ygHq8PYRpCHfg88CwettxQj0+5pfPYrSfUw8zyZPyKOwQ3/eMdr3T73pmlko3oSb2VvwUx8a6K3khhKV+4YF1CMf3PwqsAaI2UvD4MHCJpHEPMaUc0tx9DDigzf9Dl6eKxHfk5zIpPpeLOCA5cyU251iFCLWmNuYL32azxc6ehJu4jHMWX1K9oGbO9kdqCH0stC13hZSP+96z8nbN3JAEmFQkiKieFCXG8zAOWDWi9bN/4VwnfyRROCa9nYkJ63t+9oQoeeNebn9QTSefH13sQCX1MfeeRB4iJb2p1JJtLpr7GohKg==
x-ms-exchange-transport-forked: True
Content-Type: text/plain; charset="us-ascii"
Content-ID: <3E5B31115F7F6040A33DE6161EAFC4BB@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: 0302f221-ac14-4e77-f212-08d904cf3c5c
X-MS-Exchange-CrossTenant-originalarrivaltime: 21 Apr 2021 14:10:36.6514 (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: ekcwopNtnFt73EPwZox58uYInXArtH1ekNkcmn4/uHlg+Eu8yBrb1d7qZ7GQlTDP+i2P1tVs0bCn0LKCsaF/ww==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR10MB4164
X-Proofpoint-Virus-Version: vendor=nai engine=6200 definitions=9961 signatures=668683
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 spamscore=0 phishscore=0 mlxlogscore=999 malwarescore=0 bulkscore=0 mlxscore=0 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2104060000 definitions=main-2104210110
X-Proofpoint-ORIG-GUID: Q8-Pfw2EqODV__mZ2tOILQWTTMDv0lI1
X-Proofpoint-GUID: Q8-Pfw2EqODV__mZ2tOILQWTTMDv0lI1
X-Proofpoint-Virus-Version: vendor=nai engine=6200 definitions=9961 signatures=668683
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 priorityscore=1501 lowpriorityscore=0 spamscore=0 bulkscore=0 phishscore=0 clxscore=1015 impostorscore=0 mlxlogscore=999 adultscore=0 malwarescore=0 mlxscore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2104060000 definitions=main-2104210110
Archived-At: <https://mailarchive.ietf.org/arch/msg/nfsv4/SvzQCQDENRhZtXiOPRKrT_y7Eb4>
Subject: Re: [nfsv4] [Technical Errata Reported] RFC8166 (6528)
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: Wed, 21 Apr 2021 14:10:54 -0000


> On Apr 21, 2021, at 9:51 AM, Tom Talpey <tom@talpey.com> wrote:
> 
> On 4/21/2021 9:25 AM, Chuck Lever III wrote:
>>> On Apr 21, 2021, at 9:20 AM, Tom Talpey <tom@talpey.com> wrote:
>>> 
>>> On 4/20/2021 1:13 PM, Chuck Lever III wrote:
>>>>> On Apr 20, 2021, at 11:36 AM, Tom Talpey <tom@talpey.com> wrote:
>>>>> 
>>>>> On 4/20/2021 11:17 AM, Chuck Lever III wrote:
>>>>>> Sorry for the delay, I wasn't sure where to begin further conversation
>>>>>> on this errata.
>>>>>>> On Apr 12, 2021, at 12:40 PM, RFC Errata System <rfc-editor@rfc-editor.org> wrote:
>>>>>>> 
>>>>>>> The following errata report has been submitted for RFC8166,
>>>>>>> "Remote Direct Memory Access Transport for Remote Procedure Call Version 1".
>>>>>>> 
>>>>>>> --------------------------------------
>>>>>>> You may review the report below and at:
>>>>>>> https://www.rfc-editor.org/errata/eid6528
>>>>>>> 
>>>>>>> --------------------------------------
>>>>>>> Type: Technical
>>>>>>> Reported by: David Noveck <davenoveck@gmail.com>
>>>>>>> 
>>>>>>> Section: 4.2.4
>>>>>>> 
>>>>>>> Original Text
>>>>>>> -------------
>>>>>>> A Requester MUST NOT send an RPC-over-RDMA header with the RDMA_ERROR
>>>>>>> procedure.  A Responder MUST silently discard RDMA_ERROR procedures
>>>>>> Stated as a co-author of this document, I agree that this text is
>>>>>> problematic for version negotiation, which uses the RDMA_ERROR
>>>>>> procedure/header type.
>>>>>> One vote for "verified".
>>>>>>> Corrected Text
>>>>>>> --------------
>>>>>>> An RDMA_ERROR header cannot be sent without an assurance that, the receiver
>>>>>>> has posted a receive operation which its sending will satisfy.  In most cases,
>>>>>>> this means that a Requester (i.e. one sending RPC Calls) MUST NOT send an
>>>>>>> RPC-over-RDMA header with the RDMA_ERROR procedure.  Similarly, a Responder
>>>>>>> (i.e. one sending RPC Replies) MUST silently discard RDMA_ERROR procedures.
>>>>>> I don't recall that the issue that prompted the addition of the
>>>>>> original text was the requirement for a posted Receive. That
>>>>>> might be slightly revisionist.
>>>>>> Though it is true sending an RDMA_ERROR when there is no Receive
>>>>>> waiting will likely result in loss of connection, I think the
>>>>>> typical scenario is that RDMA_ERROR is in response to a previous
>>>>>> message; thus missing a Receive would be an implementation bug.
>>>>> 
>>>>> Why is this particular RDMA_ERROR so important? It seems to me like
>>>>> a ton of normative text for a version mismatch, which basically
>>>>> should never happen.
>>>> It will happen now that we have rpcrdma-version-two.
>>>>> If anything, changing "silently discard" to
>>>>> "close the connection" would be just as appripriate.
>>>> I prefer to avoid "close the connection" as a first resort since
>>>> it can impact other RPC transactions that are ongoing. That might
>>>> not be a concern for ERR_VERS, but it could very well be a
>>>> problem for ERR_CHUNK.
>>>>> Can someone motivate the scenario for me?
>>>> The problem is that RFC 8166 defines only forward-direction
>>>> operation, where the Requester/Responder roles are clear. With
>>>> the introduction of reverse-direction operation and control
>>>> plane operations, it becomes impossible to implement the
>>>> requirements stipulated in S4.2.4 because there are now scenarios
>>>> where the Receiver has no way to determine whether it is a
>>>> Requester or a Responder.
>>> 
>>> Oh. So, the idea is that the ULP reverse channel might attempt to
>>> establish an RPCRDMA version which might be different from the forward
>>> channel?
>> Or it could be due to a bug. The point is this text in RFC 8166
>> can't work.
>>> How is that useful, or even plausible? I think the answer will
>>> guide the proposed fix.
>>> 
>>> I don't think, in any case, that it's at all useful to allow the
>>> version to change after both sides have exchanged messages with
>>> matching versions. If that happens, closing the connection is the
>>> only valid action.
>> This errata deals strictly with RFC 8166. For an RPC/RDMA v1 client,
>> why wouldn't sending an ERR_VERS work for v1?
>> For later versions, we'll need a new error code to indicate that
>> the Receiver detected a supported but unexpected version.
> 
> I'll find time to take a closer look. I fully agree that an erratum
> needs to be tightly scoped.

Thanks for having a look!


> Longer term, I'm skeptical of the value
> of extending error codes for this. A v1 RDMA_ERROR reply seems like
> the most universal approach, on the face of it. But heroically
> attempting to recover from this is, to me, a complete non-goal.

I'm not necessarily interested in recovery. There are two basic
principals that guide behavior regarding protocol errors:

- Try hard not to break the connection because that can perturb
other ongoing RPC transactions.

- Try hard not to leave pending RPC transactions hanging on the
Requester. In general, dropping a connection does nothing to
help the Requester retire the erroneous transaction.

The purpose of an explicit error response here would be to enable
the Requester to terminate the transaction instead of leaving it
hanging. RDMA2_ERR_SYSTEM would be adequate for that, but that
would imply that the Responder is at fault.

More extensive recovery is a quality-of-implementation issue, and
I tend to think heroic recovery in this case is probably not of
high value.


> Tom.
> 
>>>> I think Dave is concerned about how these requirements impact the
>>>> operation of versions subsequent to v1, or during version negotiation
>>>> between a v1-only implementation and a polyglot.
>>>>>> "In most cases," is not appropriate with MUST/MUST NOT. We could
>>>>>> stipulate that the exact cases where these requirements hold is
>>>>>> when sending ERR_CHUNK. These requirements do not hold for ERR_VERS.
>>>>> 
>>>>> I'll go further - "in most cases" isn't appropriate for a spec.
>>>>> 
>>>>> Tom.
>>>>> 
>>>>>>> However, in the case of providing an RDMA_ERROR headers containing an error
>>>>>>> code of ERR_VERS, such a schema is not realizable, since there is no way for
>>>>>>> a receiver who does not support a particular version, to determine whether
>>>>>>> an RPC Call or Reply is being sent, leaving the receiver uncertain as to whether
>>>>>>> it is being Addressed as a Requester or a Responder, leaving it unable to
>>>>>>> participate in version negotiation.
>>>>>> The particular issue is that either:
>>>>>> - the Sender of the message with the unsupported version might be
>>>>>> using a procedure of the new protocol version that is not supported
>>>>>> in the protocol version the Receiver supports, or
>>>>>> - the Sender of the message with the unsupported version might be
>>>>>> using a procedure that does not bear an RPC message or any other
>>>>>> indication of message direction.
>>>>>> Thus the Receiver would not be able to determine the direction of
>>>>>> the incoming message.
>>>>>> I'm not convinced that RFC 8166 Section 4.2 is an appropriate place
>>>>>> to explain this reasoning. (Stating it here in the errata is OK).
>>>>>> The above could be dropped in the Corrected text.
>>>>>>> In the case of version errors, the
>>>>>>> implementation is to rely on the assumption that forward direction requests
>>>>>>> are being done and reserve direction requests only done once the version is
>>>>>>> properly negotiated.
>>>>>> Shorter:
>>>>>> "For the purpose of version negotiation, the receiver is to assume
>>>>>> that reverse-direction operation is started only once the connection's
>>>>>> transport protocol version has been fixed using forward direction
>>>>>> operations."
>>>>>> One problem with this is that reverse-direction operation is defined
>>>>>> in a separate RFC (8167).
>>>>>>> As a result, such messages MUST NOT be sent by the
>>>>>>> client and MUST be silently discarded by servers.
>>>>>> I'd like to confirm that what the reporter intended in the second
>>>>>> sentence above was "client" and "servers" and not "Requester" and
>>>>>> "Responders".
>>>>>>> Notes
>>>>>>> -----
>>>>>>> Even if one feels that this is not an appropriate correction, the existing text must be fixed somehow.   In assuming that the terms Requester and Responder can be used this way in this context is likely to result in some implementers concluding that version errors can never be sent while other might be unabble to coonclude that given the effort expended in the spec to make such errors be interpretable by anf rpc-over-rdma version.
>>>>>>> 
>>>>>>> Instructions:
>>>>>>> -------------
>>>>>>> This erratum is currently posted as "Reported". If necessary, please
>>>>>>> use "Reply All" to discuss whether it should be verified or
>>>>>>> rejected. When a decision is reached, the verifying party
>>>>>>> can log in to change the status and edit the report, if necessary.
>>>>>>> 
>>>>>>> --------------------------------------
>>>>>>> RFC8166 (draft-ietf-nfsv4-rfc5666bis-11)
>>>>>>> --------------------------------------
>>>>>>> Title               : Remote Direct Memory Access Transport for Remote Procedure Call Version 1
>>>>>>> Publication Date    : June 2017
>>>>>>> Author(s)           : C. Lever, Ed., W. Simpson, T. Talpey
>>>>>>> Category            : PROPOSED STANDARD
>>>>>>> Source              : Network File System Version 4
>>>>>>> Area                : Transport
>>>>>>> Stream              : IETF
>>>>>>> Verifying Party     : IESG
>>>>>> --
>>>>>> Chuck Lever
>>>>>> _______________________________________________
>>>>>> nfsv4 mailing list
>>>>>> nfsv4@ietf.org
>>>>>> https://www.ietf.org/mailman/listinfo/nfsv4
>>>>> 
>>>>> _______________________________________________
>>>>> nfsv4 mailing list
>>>>> nfsv4@ietf.org
>>>>> https://www.ietf.org/mailman/listinfo/nfsv4
>>>> --
>>>> Chuck Lever
>> --
>> Chuck Lever

--
Chuck Lever