Re: [nfsv4] [PATCH nfs-utils v3 00/14] add NFS over AF_VSOCK support

Chuck Lever <chuck.lever@oracle.com> Wed, 13 September 2017 18:21 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 4734C132EA7 for <nfsv4@ietfa.amsl.com>; Wed, 13 Sep 2017 11:21:45 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.22
X-Spam-Level:
X-Spam-Status: No, score=-4.22 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H4=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] 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 U9zvCV5asSAF for <nfsv4@ietfa.amsl.com>; Wed, 13 Sep 2017 11:21:43 -0700 (PDT)
Received: from aserp1040.oracle.com (aserp1040.oracle.com [141.146.126.69]) (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 4D3861200F3 for <nfsv4@ietf.org>; Wed, 13 Sep 2017 11:21:43 -0700 (PDT)
Received: from userv0021.oracle.com (userv0021.oracle.com [156.151.31.71]) by aserp1040.oracle.com (Sentrion-MTA-4.3.2/Sentrion-MTA-4.3.2) with ESMTP id v8DILdbX008617 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 13 Sep 2017 18:21:39 GMT
Received: from userv0121.oracle.com (userv0121.oracle.com [156.151.31.72]) by userv0021.oracle.com (8.14.4/8.14.4) with ESMTP id v8DILdhr010355 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 13 Sep 2017 18:21:39 GMT
Received: from ubhmp0004.oracle.com (ubhmp0004.oracle.com [156.151.24.57]) by userv0121.oracle.com (8.14.4/8.13.8) with ESMTP id v8DILc1c032001; Wed, 13 Sep 2017 18:21:38 GMT
Received: from [10.71.15.49] (/8.25.222.2) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Wed, 13 Sep 2017 18:21:38 +0000
Content-Type: text/plain; charset="us-ascii"
Mime-Version: 1.0 (Mac OS X Mail 9.3 \(3124\))
From: Chuck Lever <chuck.lever@oracle.com>
In-Reply-To: <CADaq8jd2VaHUX=9rVbG41tTPj+9R8Grkjnaoh1hfKv8sVn5-GA@mail.gmail.com>
Date: Wed, 13 Sep 2017 11:21:36 -0700
Cc: Christoph Hellwig <hch@infradead.org>, Linux NFS Mailing List <linux-nfs@vger.kernel.org>, Jeff Layton <jlayton@redhat.com>, Steve Dickson <steved@redhat.com>, "nfsv4@ietf.org" <nfsv4@ietf.org>, "J. Bruce Fields" <bfields@fieldses.org>, NeilBrown <neilb@suse.com>, Stefan Hajnoczi <stefanha@redhat.com>, Matt Benjamin <mbenjami@redhat.com>
Content-Transfer-Encoding: quoted-printable
Message-Id: <EE7BAC64-DE4E-4A46-B692-08C0D7FE9D72@oracle.com>
References: <20170913102650.10377-1-stefanha@redhat.com> <20170913162111.GA14389@infradead.org> <CADaq8jd2VaHUX=9rVbG41tTPj+9R8Grkjnaoh1hfKv8sVn5-GA@mail.gmail.com>
To: David Noveck <davenoveck@gmail.com>
X-Mailer: Apple Mail (2.3124)
X-Source-IP: userv0021.oracle.com [156.151.31.71]
Archived-At: <https://mailarchive.ietf.org/arch/msg/nfsv4/31WYYWfBqrCF_aNZNvfsvtL4t1A>
X-Mailman-Approved-At: Wed, 13 Sep 2017 11:23:36 -0700
Subject: Re: [nfsv4] [PATCH nfs-utils v3 00/14] add NFS over AF_VSOCK support
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: Wed, 13 Sep 2017 18:21:45 -0000

> On Sep 13, 2017, at 11:18 AM, David Noveck <davenoveck@gmail.com> wrote:
> 
> > and how to ask IESG to assign it?
> 
> The way to get the IESG to assign it would be to write an RFC and get it approved as a Proposed Standard but I don't think you need to do that.  There is a portion of the netid registry that is assigned on a first-come-first-served basis (see RFCs 5665 and 5226) and if you are OK with that, the IESG doesn't have to be involved.  You simply have to ask IANA to assign it, providing the information (pretty limited) mentioned in those RFCs.

Stefan also needs to define a universal address format.

And somewhere we need to specify how this new RPC transport works.
In hand-waving mode, it's basically TCP (with the same connection
and record-marking semantics) but using a different address family.

So it may not be as simple as a single IANA action.


> On Wed, Sep 13, 2017 at 12:21 PM, Christoph Hellwig <hch@infradead.org> wrote:
> Please get your VSOCK NFS transport into the ietf NFSv4 working group
> first before moving forward with Linux support - we should not implement
> non-standardized extensions.
> 
> On Wed, Sep 13, 2017 at 11:26:36AM +0100, Stefan Hajnoczi wrote:
> >  * The last revision was somewhat controversial because it's already possible
> >    to share files between a hypervisor and virtual machine using TCP/IP, so why
> >    add AF_VSOCK support to the stack?  TCP/IP based solutions require the
> >    virtual machine administrator to be involved in the configuration and are
> >    therefore not suitable for automatic management by OpenStack, oVirt, etc.
> >    Maintainers, is this feature acceptable?
> >
> >  * Need advice on netid: is there agreement to use "tcpv" instead of "vsock" as
> >    Chuck Lever suggested and how to ask IESG to assign it?
> >
> > The AF_VSOCK address family allows virtual machines to communicate with the
> > hypervisor using a zero-configuration transport.  KVM, VMware, and Hyper-V
> > hypervisors support AF_VSOCK and it was first introduced in Linux 3.9.
> >
> > This patch series adds AF_VSOCK support to mount.nfs(8) and rpc.nfsd(8).  To
> > mount an export from the hypervisor (CID 2):
> >
> >   # mount.nfs 2:/srv/vm01 /mnt -o proto=vsock
> >
> > To serve exports over vsock port 2049:
> >
> >   # nfsd ... --vsock 2049
> >
> > This series extends exports(5) syntax to handle vsock:<CID> or vsock:*.  For
> > example, the guest with CID 3 can be given access using vsock:3.
> >
> > nfsd can export over IPv4/IPv6 and vsock at the same time.  See the changes to
> > exports.man, nfs.man, and nfsd.man in the patches for syntax details.
> >
> > NFSv4 and later are supported.
> >
> > The code is also available here:
> > https://github.com/stefanha/nfs-utils/tree/vsock-nfsd
> >
> > The latest kernel patches are available here:
> > https://github.com/stefanha/linux/tree/vsock-nfsd
> >
> > Stefan Hajnoczi (14):
> >   mount: don't use IPPROTO_UDP for address resolution
> >   nfs-utils: add vsock.h
> >   nfs-utils: add AF_VSOCK support to sockaddr.h
> >   mount: present AF_VSOCK addresses
> >   mount: accept AF_VSOCK in nfs_verify_family()
> >   mount: generate AF_VSOCK clientaddr
> >   getport: recognize "vsock" netid
> >   mount: AF_VSOCK address parsing
> >   exportfs: introduce host_freeaddrinfo()
> >   exportfs: add AF_VSOCK address parsing and printing
> >   exportfs: add AF_VSOCK support to set_addrlist()
> >   exportfs: add support for "vsock:" exports(5) syntax
> >   nfsd: add --vsock (-v) option to nfsd
> >   tests: add "vsock:" exports(5) test case
> >
> >  tests/Makefile.am          |   3 +-
> >  support/include/exportfs.h |   4 ++
> >  support/include/sockaddr.h |  18 +++++
> >  support/include/vsock.h    |  59 +++++++++++++++++
> >  utils/nfsd/nfssvc.h        |   1 +
> >  support/export/client.c    |   8 +--
> >  support/export/hostname.c  | 161 +++++++++++++++++++++++++++++++++++++++++++--
> >  support/nfs/getport.c      |  16 +++--
> >  utils/exportfs/exportfs.c  |  42 ++++++++++--
> >  utils/mount/network.c      |  37 ++++++++++-
> >  utils/mount/stropts.c      |  61 ++++++++++++++---
> >  utils/mountd/auth.c        |   2 +-
> >  utils/mountd/cache.c       |  10 +--
> >  utils/mountd/mountd.c      |   4 +-
> >  utils/mountd/rmtab.c       |   2 +-
> >  utils/nfsd/nfsd.c          |  18 ++++-
> >  utils/nfsd/nfssvc.c        |  62 +++++++++++++++++
> >  configure.ac               |   3 +
> >  tests/t0002-vsock-basic.sh |  53 +++++++++++++++
> >  utils/exportfs/exports.man |  12 +++-
> >  utils/mount/nfs.man        |  20 ++++--
> >  utils/nfsd/nfsd.man        |   4 ++
> >  22 files changed, 552 insertions(+), 48 deletions(-)
> >  create mode 100644 support/include/vsock.h
> >  create mode 100755 tests/t0002-vsock-basic.sh
> >
> > --
> > 2.13.5
> >
> > --
> > To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
> > the body of a message to majordomo@vger.kernel.org
> > More majordomo info at  http://vger.kernel.org/majordomo-info.html
> ---end quoted text---
> 
> _______________________________________________
> 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