Re: [nfsv4] Review of stefanha-nfav4-rpc-over-vsock-00 (part two of three)
Stefan Hajnoczi <stefanha@redhat.com> Mon, 18 December 2017 15:25 UTC
Return-Path: <stefanha@redhat.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 48F5D1241F3 for <nfsv4@ietfa.amsl.com>; Mon, 18 Dec 2017 07:25:09 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -5.011
X-Spam-Level:
X-Spam-Status: No, score=-5.011 tagged_above=-999 required=5 tests=[RCVD_IN_DNSWL_HI=-5, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01] autolearn=ham autolearn_force=no
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 Ms3966Bb7lep for <nfsv4@ietfa.amsl.com>; Mon, 18 Dec 2017 07:25:07 -0800 (PST)
Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 8BD331201F8 for <nfsv4@ietf.org>; Mon, 18 Dec 2017 07:25:07 -0800 (PST)
Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 4C05A267FF; Mon, 18 Dec 2017 15:25:07 +0000 (UTC)
Received: from localhost (ovpn-116-227.ams2.redhat.com [10.36.116.227]) by smtp.corp.redhat.com (Postfix) with ESMTP id CF9CA7F78D; Mon, 18 Dec 2017 15:25:06 +0000 (UTC)
Date: Mon, 18 Dec 2017 15:25:05 +0000
From: Stefan Hajnoczi <stefanha@redhat.com>
To: David Noveck <davenoveck@gmail.com>
Cc: "nfsv4@ietf.org" <nfsv4@ietf.org>
Message-ID: <20171218152505.GO16653@stefanha-x1.localdomain>
References: <CADaq8jc7RnBs6gBAqYD2FY+QRNxdO52N7ddyPmqo7mCeneOkLA@mail.gmail.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature"; boundary="FrxVhwK/bNRjN48l"
Content-Disposition: inline
In-Reply-To: <CADaq8jc7RnBs6gBAqYD2FY+QRNxdO52N7ddyPmqo7mCeneOkLA@mail.gmail.com>
User-Agent: Mutt/1.9.1 (2017-09-22)
X-Scanned-By: MIMEDefang 2.79 on 10.5.11.11
X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.30]); Mon, 18 Dec 2017 15:25:07 +0000 (UTC)
Archived-At: <https://mailarchive.ietf.org/arch/msg/nfsv4/Bhj-IvIR7mVaQ6P8q2c31cF6XTU>
Subject: Re: [nfsv4] Review of stefanha-nfav4-rpc-over-vsock-00 (part two of three)
X-BeenThere: nfsv4@ietf.org
X-Mailman-Version: 2.1.22
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, 18 Dec 2017 15:25:09 -0000
On Fri, Dec 15, 2017 at 03:30:54PM -0500, David Noveck wrote: > *Comments by Section (Abstract through Section 2)* > > *Abstract* > > There are problems with the statement that this document "*describes **how > to* (emphasis aded) transfer Remote Procedure Call (RPC) messages over > AF_VSOCK sockets" leading to the following issues: > > - It doesn't do that. > - It doesn't seem like it ever will, given that standardization of these > matters is unlikely to proceed at a pace that would allow them to be > addressed in this document. > - Even if those matters were to be standarized, they would be dealing > with matters not really in the IETF's purview: OS APIs and OS-hypervisor > interfaces, > - As a result, the document winds up essentially apologizing for not > doing what it would be inappropriate for it to do now and will probably > never do. > > Based on my own judgment about what is possible in a reasonble time frame, > suggest the following as a possible replacement: > > This document discusses the transfer of Remote Procedure Call (RPC) > messages over AF_VSOCK sockets. Sufficient information is provided to > allow RPC services to operate over such sockets. Okay. > *1. Introduction* > > Suggest replacing the second through fourth sentences of the first > paragraph by the following: > > It was initially implemented in Linux 3.9 as a means of communicatng with > the VMware hypervisor. Later support was added to allow communication with > the KVM and Hyper-V hypervisors. AF_VSOCK services could be implemented > without knowlege of the hypervisor type since the commnication semantics > for the mechanism used are the same for all supported hypervisors. Okay. > *2. Status of AF_VSOCK* > > Suggest replacing the section title by "Specification of AF_VSOCK". > > I suggest deleting the first paragrph since: > > - It isn't clear who "reviewers" are. In the IETF, everybody in the > working group may review and make suggestions about a document. Actually, > anyone in the IETF may do so, but that only becomes important once the > working group is done with it, if the document gets that far. > - Saying "is not intended to be included unchanged" is troublesome > because it suggests that other things are intended to be included unchanged > in the final document. It is best not to go there. In the IETF, > *everything *is, in principle, subject to change until an RFC is > published. > - It seems to me that most of the material is appropriate to include in > an eventual RFC, if not necessarily unchanged. It is best to include the > material and see what changes people might suggest are necessary. Points taken, thanks. > Suggest deleting the last pargraph because: > > - There are some documents (some actual and some potential) that you > mention in the paragraphs above. > - It is best not to raise a question without having at least a potential > answer. It may lead to a trip to the swamp and there might be alligators > there. I suggest trying to reference AF_VSOCK in the best way possible and > see if there are objections. Okay. > I suggest reorganzing the remaining material by the level of interface > involved, either the OS API level or the hypervisor interface level. > Neither of these are within the purview of the IETF but that does not mean > they cannot be usefully rerferenced (via an Informative Reference). > > For the API Level suggest the following: > > The Linux AF_VSOCK address family does not have a specification > document nor is one likely to be produced. AF_VSOCK is defined by its > Linux implementation that first became available in 2013. > > There is reason to believe that a man page and shared test suite for > AF_VSOCK might be available in the near future. This could provide > necessary information regarding semantics that could be referenced in > an eventual RFC. Recent developments: The Linux man-pages project has merged the vsock.7 man page: https://git.kernel.org/pub/scm/docs/man-pages/man-pages.git/tree/man7/vsock.7 The test suite is currently under review and pending testing by VMware: https://www.spinics.net/lists/netdev/msg471897.html > Up untl now, the behavior of VMware's AF_VSOCK driver has been used as > a reference as to how such sockets should behave. This behavior is > very close to that of TCP for SOCK_STREAM and of UDP for SOCK_DGRAM. > As a result, converting applications from using AF_INET to AF_VSOCK > is quite simple. Sounds good, thanks for these suggestions. > For the hypervisor interface level suggest the following, assuming that > there is an informative reference to "https://code.vmware.com/doc/p > review?id=5521" with the anchor "vsockets". > > Reference documentation for the Vmware Interface, called vSockets, > which is used by the Vmware AF_VSOCK driver can be found in > [vsockets]. While this interface is at a lower level than AF_VSOCK, > it can be a helpful reference since: > > > - Other hypervisors, which have different interfaces, will need to > be semantically compatible since all will be used to implement the > AF_VSOCK semantics. > - The piece of AF_VSOCK above these interfaces is liable to be > quite simple, and be limited to providing a path to the underlying > hypervsor interface. The VMware vSockets API is higher level than Linux AF_VSOCK. It is a cross-platform library that VMware-specific applications can be written against. It is not the hypervisor level interface. My intention was to share the VMware documentation because it is the most oldest vsock-related document available. Stefan
- [nfsv4] Review of stefanha-nfav4-rpc-over-vsock-0… David Noveck
- Re: [nfsv4] Review of stefanha-nfav4-rpc-over-vso… Stefan Hajnoczi