All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH nfs-utils v3 00/14] add NFS over AF_VSOCK support
@ 2017-09-13 10:26 Stefan Hajnoczi
  2017-09-13 10:26 ` [PATCH nfs-utils v3 01/14] mount: don't use IPPROTO_UDP for address resolution Stefan Hajnoczi
                   ` (16 more replies)
  0 siblings, 17 replies; 86+ messages in thread
From: Stefan Hajnoczi @ 2017-09-13 10:26 UTC (permalink / raw)
  To: linux-nfs
  Cc: NeilBrown, Matt Benjamin, Jeff Layton, J . Bruce Fields,
	Chuck Lever, Steve Dickson, Stefan Hajnoczi

v3:
 * Documented vsock syntax in exports.man, nfs.man, and nfsd.man
 * Added clientaddr autodetection in mount.nfs(8)
 * Replaced #ifdefs with a single vsock.h header file
 * Tested nfsd serving both IPv4 and vsock at the same time

Status:

 * 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


^ permalink raw reply	[flat|nested] 86+ messages in thread

end of thread, other threads:[~2017-09-28 10:44 UTC | newest]

Thread overview: 86+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-09-13 10:26 [PATCH nfs-utils v3 00/14] add NFS over AF_VSOCK support Stefan Hajnoczi
2017-09-13 10:26 ` [PATCH nfs-utils v3 01/14] mount: don't use IPPROTO_UDP for address resolution Stefan Hajnoczi
2017-09-13 10:26 ` [PATCH nfs-utils v3 02/14] nfs-utils: add vsock.h Stefan Hajnoczi
2017-09-13 10:26 ` [PATCH nfs-utils v3 03/14] nfs-utils: add AF_VSOCK support to sockaddr.h Stefan Hajnoczi
2017-09-13 10:26 ` [PATCH nfs-utils v3 04/14] mount: present AF_VSOCK addresses Stefan Hajnoczi
2017-09-13 10:26 ` [PATCH nfs-utils v3 05/14] mount: accept AF_VSOCK in nfs_verify_family() Stefan Hajnoczi
2017-09-13 10:26 ` [PATCH nfs-utils v3 06/14] mount: generate AF_VSOCK clientaddr Stefan Hajnoczi
2017-09-13 10:26 ` [PATCH nfs-utils v3 07/14] getport: recognize "vsock" netid Stefan Hajnoczi
2017-09-13 10:26 ` [PATCH nfs-utils v3 08/14] mount: AF_VSOCK address parsing Stefan Hajnoczi
2017-09-13 10:26 ` [PATCH nfs-utils v3 09/14] exportfs: introduce host_freeaddrinfo() Stefan Hajnoczi
2017-09-13 10:26 ` [PATCH nfs-utils v3 10/14] exportfs: add AF_VSOCK address parsing and printing Stefan Hajnoczi
2017-09-13 10:26 ` [PATCH nfs-utils v3 11/14] exportfs: add AF_VSOCK support to set_addrlist() Stefan Hajnoczi
2017-09-13 10:26 ` [PATCH nfs-utils v3 12/14] exportfs: add support for "vsock:" exports(5) syntax Stefan Hajnoczi
2017-09-13 10:26 ` [PATCH nfs-utils v3 13/14] nfsd: add --vsock (-v) option to nfsd Stefan Hajnoczi
2017-09-13 10:26 ` [PATCH nfs-utils v3 14/14] tests: add "vsock:" exports(5) test case Stefan Hajnoczi
2017-09-13 16:21 ` [PATCH nfs-utils v3 00/14] add NFS over AF_VSOCK support Christoph Hellwig
2017-09-13 18:18   ` [nfsv4] " David Noveck
2017-09-13 18:21     ` Chuck Lever
2017-09-15 11:52       ` Stefan Hajnoczi
2017-09-13 22:39 ` NeilBrown
2017-09-14 15:39 ` Steve Dickson
2017-09-14 15:55   ` Steve Dickson
2017-09-14 17:37     ` J . Bruce Fields
2017-09-15 11:07       ` Jeff Layton
2017-09-15 15:17         ` J . Bruce Fields
2017-09-15 23:29           ` NeilBrown
2017-09-16 14:55             ` J . Bruce Fields
2017-09-15 13:12       ` Stefan Hajnoczi
2017-09-15 13:31         ` J . Bruce Fields
2017-09-15 13:59           ` Chuck Lever
2017-09-15 16:42             ` J. Bruce Fields
2017-09-16 15:55               ` Chuck Lever
2017-09-18 18:09                 ` Stefan Hajnoczi
2017-09-19  9:31                   ` Daniel P. Berrange
2017-09-19 14:35                     ` Chuck Lever
2017-09-19 15:10                       ` Daniel P. Berrange
2017-09-19 15:48                         ` Chuck Lever
2017-09-19 16:44                           ` Daniel P. Berrange
2017-09-19 17:24                             ` J. Bruce Fields
2017-09-21 17:00                               ` Stefan Hajnoczi
2017-09-22  9:55                                 ` Steven Whitehouse
2017-09-22 11:32                                   ` Jeff Layton
2017-09-22 12:08                                     ` Matt Benjamin
2017-09-22 12:26                                       ` Jeff Layton
2017-09-22 15:28                                         ` Stefan Hajnoczi
2017-09-22 16:23                                           ` Daniel P. Berrange
2017-09-22 18:31                                             ` Chuck Lever
2017-09-25  8:14                                               ` Daniel P. Berrange
2017-09-25 10:31                                                 ` Chuck Lever
2017-09-22 11:43                                   ` Chuck Lever
2017-09-22 11:55                                     ` Daniel P. Berrange
2017-09-22 12:00                                       ` Chuck Lever
2017-09-22 12:10                                         ` Daniel P. Berrange
2017-09-22 19:14                                       ` J. Bruce Fields
2017-09-25  8:30                                         ` Daniel P. Berrange
2017-09-26  2:08                                       ` NeilBrown
2017-09-26  3:40                                         ` J. Bruce Fields
2017-09-26 10:56                                           ` Stefan Hajnoczi
2017-09-26 11:07                                             ` Daniel P. Berrange
2017-09-26 18:32                                             ` J. Bruce Fields
2017-09-27  0:45                                             ` NeilBrown
2017-09-27 13:05                                               ` Stefan Hajnoczi
2017-09-27 22:21                                                 ` NeilBrown
2017-09-28 10:44                                                   ` Stefan Hajnoczi
2017-09-27 13:35                                               ` J. Bruce Fields
2017-09-27 22:25                                                 ` NeilBrown
2017-09-26 13:39                                           ` J. Bruce Fields
2017-09-26 13:42                                             ` J. Bruce Fields
2017-09-27 12:22                                               ` Stefan Hajnoczi
2017-09-27 13:46                                                 ` J. Bruce Fields
2017-09-28 10:34                                                   ` Stefan Hajnoczi
2017-09-19 17:37                             ` Stefan Hajnoczi
2017-09-19 19:56                             ` Chuck Lever
2017-09-19 20:42                               ` J. Bruce Fields
2017-09-19 21:09                                 ` Chuck Lever
2017-09-20 13:16                                   ` J. Bruce Fields
2017-09-20 14:40                                     ` Chuck Lever
2017-09-20 14:45                                       ` J. Bruce Fields
2017-09-20 14:59                                         ` Chuck Lever
2017-09-20 15:25                                           ` Frank Filz
2017-09-20 18:17                                             ` Trond Myklebust
2017-09-20 18:34                                               ` bfields
2017-09-20 18:38                                                 ` Trond Myklebust
2017-09-21 16:20                                                 ` Stefan Hajnoczi
2017-09-20 14:58                                     ` Daniel P. Berrange
2017-09-20 16:39                                       ` J. Bruce Fields

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.