All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jeff Layton <jlayton@redhat.com>
To: Stefan Hajnoczi <stefanha@redhat.com>, NeilBrown <neilb@suse.com>
Cc: Chuck Lever <chuck.lever@oracle.com>,
	Linux NFS Mailing List <linux-nfs@vger.kernel.org>,
	Abbas Naderi <abiusx@google.com>,
	Steve Dickson <steved@redhat.com>
Subject: Re: [PATCH nfs-utils v2 05/12] getport: recognize "vsock" netid
Date: Thu, 27 Jul 2017 07:33:46 -0400	[thread overview]
Message-ID: <1501155226.2767.1.camel@redhat.com> (raw)
In-Reply-To: <20170727105835.GF10129@stefanha-x1.localdomain>

On Thu, 2017-07-27 at 11:58 +0100, Stefan Hajnoczi wrote:
> On Thu, Jul 27, 2017 at 03:13:53PM +1000, NeilBrown wrote:
> > On Tue, Jul 25 2017, Stefan Hajnoczi wrote:
> > > On Fri, Jul 07, 2017 at 02:13:38PM +1000, NeilBrown wrote:
> > > > On Fri, Jul 07 2017, NeilBrown wrote:
> > > > > On Fri, Jun 30 2017, Chuck Lever wrote:
> > > > 
> > > > I don't think the server can filter connections based on which
> > > > interface
> > > > a link-local address came from.  If that was a problem that
> > > > someone
> > > > wanted to be fixed, I'm sure we can fix it.
> > > > 
> > > > If you need to be sure that clients don't fake their IPv6
> > > > address, I'm
> > > > sure netfilter is up to the task.
> > > 
> > > Yes, it's common to prevent spoofing on the host using netfilter
> > > and I
> > > think it wouldn't be a problem.
> > > 
> > > >  . Creates network interfaces on host that must be managed
> > > > 
> > > > What vsock does is effectively create a hidden interface on the
> > > > host that only the
> > > > kernel knows about and so the sysadmin cannot break it.  The
> > > > only
> > > > difference between this and an explicit interface on the host
> > > > is that
> > > > the latter requires a competent sysadmin.
> > > > 
> > > > If you have other reasons for preferring the use of vsock for
> > > > NFS, I'd be
> > > > happy to hear them.  So far I'm not convinced.
> > > 
> > > Before working on AF_VSOCK I originally proposed adding dedicated
> > > network interfaces to guests, similar to what you've suggested,
> > > but
> > > there was resistance for additional reasons that weren't covered
> > > in the
> > > presentation:
> > 
> > I would like to suggest that this is critical information for
> > understanding the design rationale for AF_VSOCK and should be
> > easily
> > found from http://wiki.qemu.org/Features/VirtioVsock
> 
> Thanks, I have updated the wiki.
> 
> > To achieve zero-config, I think link-local addresses are by far the
> > best
> > answer.  To achieve isolation, some targeted filtering seems like
> > the
> > best approach.
> >
> > If you really want traffic between guest and host to go over a
> > vsock,
> > then some sort of packet redirection should be possible.
> 
> The issue we seem to hit with designs using AF_INET and network
> interfaces is that they cannot meet the "it must avoid invasive
> configuration changes, especially inside the guest"
> requirement.  It's
> very hard to autoconfigure in a way that doesn't conflict with the
> user's network configuration inside the guest.
> 
> One thought about solving the interface naming problem: if the
> dedicated
> NIC uses a well-known OUI dedicated for this purpose then udev could
> assign a persistent name (e.g. "virtguestif").  This gets us one step
> closer to non-invasive automatic configuration.

Link-local IPv6 addresses are always present once you bring up an IPv6
interface. You can use them to communicate with other hosts on the same
network segment. It's just not routable. That seems entirely fine here
where you're not dealing with routing anyway.

What I would (naively) envision is a new network interface driver that
presents itself as "hvlo0" or soemthing, much like we do with the
loopback interface. You just need the guest to ensure that it plugs in
that driver and brings up the interface for ipv6.

Then the only issue is discovery of addresses. The HV should be able to
figure that out and present it. Maybe roll up a new nsswitch module
that queries the HV directly somehow? The nice thing there is that you
get name resolution "for free", since it's just plain old IPv6 traffic
at that point.

AF_VSOCK just seems like a very invasive solution to this problem
that's going to add a lot of maintenance burden to a lot of different
code.
-- 
Jeff Layton <jlayton@redhat.com>

  reply	other threads:[~2017-07-27 11:33 UTC|newest]

Thread overview: 51+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-06-30 13:21 [PATCH nfs-utils v2 00/12] add NFS over AF_VSOCK support Stefan Hajnoczi
2017-06-30 13:21 ` [PATCH nfs-utils v2 01/12] mount: don't use IPPROTO_UDP for address resolution Stefan Hajnoczi
2017-06-30 14:34   ` Steve Dickson
2017-07-03  8:55     ` Stefan Hajnoczi
2017-07-03 16:35       ` Steve Dickson
2017-06-30 13:21 ` [PATCH nfs-utils v2 02/12] nfs-utils: add AF_VSOCK support to sockaddr.h Stefan Hajnoczi
2017-06-30 13:21 ` [PATCH nfs-utils v2 03/12] mount: present AF_VSOCK addresses Stefan Hajnoczi
2017-06-30 14:40   ` Steve Dickson
2017-07-03  9:00     ` Stefan Hajnoczi
2017-07-03 16:51       ` Steve Dickson
2017-07-03 21:04         ` Felix Janda
2017-07-10 18:14         ` Stefan Hajnoczi
2017-07-12 14:26           ` Steve Dickson
2017-07-06 17:16       ` J. Bruce Fields
2017-07-10 18:09         ` Stefan Hajnoczi
2017-06-30 13:21 ` [PATCH nfs-utils v2 04/12] mount: accept AF_VSOCK in nfs_verify_family() Stefan Hajnoczi
2017-06-30 13:21 ` [PATCH nfs-utils v2 05/12] getport: recognize "vsock" netid Stefan Hajnoczi
2017-06-30 15:01   ` Steve Dickson
2017-07-10 18:35     ` Stefan Hajnoczi
2017-06-30 15:52   ` Chuck Lever
2017-07-07  3:17     ` NeilBrown
2017-07-07  4:13       ` NeilBrown
2017-07-25 10:05         ` Stefan Hajnoczi
2017-07-27  5:13           ` NeilBrown
2017-07-27 10:58             ` Stefan Hajnoczi
2017-07-27 11:33               ` Jeff Layton [this message]
2017-07-27 23:11               ` NeilBrown
2017-08-03 15:24                 ` Stefan Hajnoczi
2017-08-03 21:45                   ` NeilBrown
2017-08-03 23:53                     ` Matt Benjamin
2017-08-04  3:25                       ` NeilBrown
2017-08-04 15:56                     ` Stefan Hajnoczi
2017-08-04 22:35                       ` NeilBrown
2017-08-08 14:07                         ` Stefan Hajnoczi
2017-07-07  4:14       ` Chuck Lever
2017-07-25 12:29       ` Stefan Hajnoczi
2017-07-19 15:11     ` Stefan Hajnoczi
2017-07-19 15:35       ` Jeff Layton
2017-07-19 15:40         ` Chuck Lever
2017-07-19 15:50       ` Chuck Lever
2017-07-28  0:35     ` Matt Benjamin
2017-06-30 13:21 ` [PATCH nfs-utils v2 06/12] mount: AF_VSOCK address parsing Stefan Hajnoczi
2017-06-30 13:21 ` [PATCH nfs-utils v2 07/12] exportfs: introduce host_freeaddrinfo() Stefan Hajnoczi
2017-06-30 13:21 ` [PATCH nfs-utils v2 08/12] exportfs: add AF_VSOCK address parsing and printing Stefan Hajnoczi
2017-06-30 13:21 ` [PATCH nfs-utils v2 09/12] exportfs: add AF_VSOCK support to set_addrlist() Stefan Hajnoczi
2017-06-30 13:21 ` [PATCH nfs-utils v2 10/12] exportfs: add support for "vsock:" exports(5) syntax Stefan Hajnoczi
2017-06-30 15:07   ` Steve Dickson
2017-06-30 13:21 ` [PATCH nfs-utils v2 11/12] nfsd: add --vsock (-v) option to nfsd Stefan Hajnoczi
2017-06-30 15:25   ` Steve Dickson
2017-07-10 18:39     ` Stefan Hajnoczi
2017-06-30 13:21 ` [PATCH nfs-utils v2 12/12] tests: add "vsock:" exports(5) test case Stefan Hajnoczi

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1501155226.2767.1.camel@redhat.com \
    --to=jlayton@redhat.com \
    --cc=abiusx@google.com \
    --cc=chuck.lever@oracle.com \
    --cc=linux-nfs@vger.kernel.org \
    --cc=neilb@suse.com \
    --cc=stefanha@redhat.com \
    --cc=steved@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.