[nfsv4] Clean up for rpcrdma-version-two Read chunks

Chuck Lever <chuck.lever@oracle.com> Mon, 04 May 2020 16:13 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 EF26D3A0BCD for <nfsv4@ietfa.amsl.com>; Mon, 4 May 2020 09:13:07 -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, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_PASS=-0.001, UNPARSEABLE_RELAY=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
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 qVwK5M07k82E for <nfsv4@ietfa.amsl.com>; Mon, 4 May 2020 09:13:06 -0700 (PDT)
Received: from userp2130.oracle.com (userp2130.oracle.com [156.151.31.86]) (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 EEC6E3A0BF9 for <nfsv4@ietf.org>; Mon, 4 May 2020 09:13:05 -0700 (PDT)
Received: from pps.filterd (userp2130.oracle.com [127.0.0.1]) by userp2130.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 044FtQdd047649 for <nfsv4@ietf.org>; Mon, 4 May 2020 16:13:04 GMT
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : content-type : content-transfer-encoding : mime-version : subject : message-id : date : to; s=corp-2020-01-29; bh=52yK3RgUKiIqVWM/67DFYq4IYqBQosp+qJcGwTtqd5w=; b=nvgI0953yxXRI83vL3Daqb3DpXjqVj0qI5X1OmfPuSb41yWaOzKEDyDDVX2DJ2bSqF8p r4/qKcb2GkiJxzYMDcXWfOmINCUbZpFme40ejqvBfuu3efm94rtzsX4K9KaBq+BwrqD6 p6WzbhguZY2rXUVakTd1nOGb6oC5NyCTkBQV93LvJuTZqTdua4SBiiY0Ixqw9A1ZIXbA fNXKgG3DFXzAqay/R5t8wI/VxI3Dw7jkcVmtoeS3OUVKTDRYNlE6V6Hv+Pxiok/7xuwp 0UPseCX58pHrtxdSODw/7yfd64HrV8pUMvUXf8/ajJT0X48Kf5TyjxZqUyH3QWhvqzRu QQ==
Received: from userp3030.oracle.com (userp3030.oracle.com [156.151.31.80]) by userp2130.oracle.com with ESMTP id 30s09qyxqd-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for <nfsv4@ietf.org>; Mon, 04 May 2020 16:13:04 +0000
Received: from pps.filterd (userp3030.oracle.com [127.0.0.1]) by userp3030.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 044G5mb6022009 for <nfsv4@ietf.org>; Mon, 4 May 2020 16:13:03 GMT
Received: from aserv0121.oracle.com (aserv0121.oracle.com [141.146.126.235]) by userp3030.oracle.com with ESMTP id 30t1r2kyms-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for <nfsv4@ietf.org>; Mon, 04 May 2020 16:13:03 +0000
Received: from abhmp0010.oracle.com (abhmp0010.oracle.com [141.146.116.16]) by aserv0121.oracle.com (8.14.4/8.13.8) with ESMTP id 044GD2H5026623 for <nfsv4@ietf.org>; Mon, 4 May 2020 16:13:02 GMT
Received: from anon-dhcp-153.1015granger.net (/68.61.232.219) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Mon, 04 May 2020 09:13:02 -0700
From: Chuck Lever <chuck.lever@oracle.com>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
Mime-Version: 1.0 (Mac OS X Mail 12.4 \(3445.104.11\))
Message-Id: <A999AEE0-9201-4A73-AC9D-005500A32BCA@oracle.com>
Date: Mon, 04 May 2020 12:13:01 -0400
To: NFSv4 <nfsv4@ietf.org>
X-Mailer: Apple Mail (2.3445.104.11)
X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9610 signatures=668687
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0 adultscore=0 suspectscore=0 spamscore=0 mlxlogscore=999 malwarescore=0 phishscore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2003020000 definitions=main-2005040127
X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9610 signatures=668687
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0 mlxscore=0 lowpriorityscore=0 spamscore=0 adultscore=0 clxscore=1015 suspectscore=0 priorityscore=1501 malwarescore=0 mlxlogscore=999 phishscore=0 impostorscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2003020000 definitions=main-2005040127
Archived-At: <https://mailarchive.ietf.org/arch/msg/nfsv4/J3VPq15WrzRmbb7nFro6m9Ao7Ds>
Subject: [nfsv4] Clean up for rpcrdma-version-two Read chunks
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: Mon, 04 May 2020 16:13:08 -0000

Two weeks ago, I presented on the status of draft-ietf-nfsv4-rpcrdma-version-two.
The slides are here:

https://datatracker.ietf.org/meeting/interim-2020-nfsv4-01/materials/slides-interim-2020-nfsv4-01-sessa-ietf-107-rpc-rdma-v2.pdf

On slide 18, I described three situations involving Read chunks that do not appear
to be adequately covered by RFC 8166 ("Remote Direct Memory Access Transport for
Remote Procedure Call Version 1"). I'd like to propose modifications to the
rpcrdma-version-two draft to address these cases:


> RPC/RDMA v1 allows a position zero Read chunk to appear in an RDMA_MSG type Call.
> Where does a Responder put the inline portion of such a message?

I propose that in RPC/RDMA version 2, a Responder MUST return RDMA2_ERR_BAD_XDR if
a Requester sends a Read list containing a position zero Read chunk as part of
header type other than RDMA2_NOMSG.


> RPC/RDMA v1 does not explicitly require an RDMA_NOMSG type Call to have a position
> zero Read chunk. Does such a message have gaps? Are they zero-filled?


I propose that in RPC/RDMA version 2, a Responder MUST return RDMA2_ERR_BAD_XDR if
a Requester sends an RDMA2_NOMSG header type whose Read list does not include a
position zero Read chunk.


> RPC/RDMA v1 does not prevent or prohibit overlapping Read chunks. Is the correct
> response ERR_CHUNK?

A protocol change would be needed to totally prevent the expression of overlapping
Read chunks. Maybe it's a little too late to address that in RPC/RDMA version 2.

I propose that in RPC/RDMA version 2, a Responder MUST return RDMA2_ERR_BAD_XDR if
a Requester sends a Read list with chunks whose offsets and lengths result in the
same message byte position appearing in more than one Read chunk.


Comments/concerns?

--
Chuck Lever