All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Michael S. Tsirkin" <mst@redhat.com>
To: Liran Alon <liran.alon@oracle.com>
Cc: Stephen Hemminger <stephen@networkplumber.org>,
	Si-Wei Liu <si-wei.liu@oracle.com>,
	Sridhar Samudrala <sridhar.samudrala@intel.com>,
	Alexander Duyck <alexander.duyck@gmail.com>,
	Jakub Kicinski <kubakici@wp.pl>, Jiri Pirko <jiri@resnulli.us>,
	David Miller <davem@davemloft.net>,
	Netdev <netdev@vger.kernel.org>,
	virtualization@lists.linux-foundation.org,
	boris.ostrovsky@oracle.com, vijay.balakrishna@oracle.com,
	jfreimann@redhat.com, ogerlitz@mellanox.com,
	vuhuong@mellanox.com
Subject: Re: [summary] virtio network device failover writeup
Date: Thu, 21 Mar 2019 08:37:29 -0400	[thread overview]
Message-ID: <20190321082532-mutt-send-email-mst@kernel.org> (raw)
In-Reply-To: <CD40EA09-242D-41E1-8BD2-4FF4BB4D1986@oracle.com>

On Thu, Mar 21, 2019 at 12:07:57PM +0200, Liran Alon wrote:
> >>>> 2) It brings non-intuitive customer experience. For example, a customer may attempt to analyse connectivity issue by checking the connectivity
> >>>> on a net-failover slave (e.g. the VF) but will see no connectivity when in-fact checking the connectivity on the net-failover master netdev shows correct connectivity.
> >>>> 
> >>>> The set of changes I vision to fix our issues are:
> >>>> 1) Hide net-failover slaves in a different netns created and managed by the kernel. But that user can enter to it and manage the netdevs there if wishes to do so explicitly.
> >>>> (E.g. Configure the net-failover VF slave in some special way).
> >>>> 2) Match the virtio-net and the VF based on a PV attribute instead of MAC. (Similar to as done in NetVSC). E.g. Provide a virtio-net interface to get PCI slot where the matching VF will be hot-plugged by hypervisor.
> >>>> 3) Have an explicit virtio-net control message to command hypervisor to switch data-path from virtio-net to VF and vice-versa. Instead of relying on intercepting the PCI master enable-bit
> >>>> as an indicator on when VF is about to be set up. (Similar to as done in NetVSC).
> >>>> 
> >>>> Is there any clear issue we see regarding the above suggestion?
> >>>> 
> >>>> -Liran
> >>> 
> >>> The issue would be this: how do we avoid conflicting with namespaces
> >>> created by users?
> >> 
> >> This is kinda controversial, but maybe separate netns names into 2 groups: hidden and normal.
> >> To reference a hidden netns, you need to do it explicitly. 
> >> Hidden and normal netns names can collide as they will be maintained in different namespaces (Yes I’m overloading the term namespace here…).
> > 
> > Maybe it's an unnamed namespace. Hidden until userspace gives it a name?
> 
> This is also a good idea that will solve the issue. Yes.
> 
> > 
> >> Does this seems reasonable?
> >> 
> >> -Liran
> > 
> > Reasonable I'd say yes, easy to implement probably no. But maybe I
> > missed a trick or two.
> 
> BTW, from a practical point of view, I think that even until we figure out a solution on how to implement this,
> it was better to create an kernel auto-generated name (e.g. “kernel_net_failover_slaves")
> that will break only userspace workloads that by a very rare-chance have a netns that collides with this then
> the breakage we have today for the various userspace components.
> 
> -Liran

It seems quite easy to supply that as a module parameter. Do we need two
namespaces though? Won't some userspace still be confused by the two
slaves sharing the MAC address?

-- 
MST

  parent reply	other threads:[~2019-03-21 12:37 UTC|newest]

Thread overview: 62+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-03-17 13:55 [summary] virtio network device failover writeup Michael S. Tsirkin
2019-03-19 12:38 ` Liran Alon
2019-03-19 15:46   ` Stephen Hemminger
2019-03-19 15:46   ` Stephen Hemminger
2019-03-19 21:19     ` Michael S. Tsirkin
2019-03-19 21:19     ` Michael S. Tsirkin
2019-03-19 23:25       ` Liran Alon
2019-03-20 10:25         ` Michael S. Tsirkin
2019-03-20 12:23           ` Liran Alon
2019-03-20 12:23           ` Liran Alon
2019-03-20 14:09             ` Michael S. Tsirkin
2019-03-20 21:43               ` Liran Alon
2019-03-20 22:10                 ` Michael S. Tsirkin
2019-03-20 22:19                   ` Liran Alon
2019-03-21  8:58                     ` Michael S. Tsirkin
2019-03-21  8:58                     ` Michael S. Tsirkin
2019-03-21 10:07                       ` Liran Alon
2019-03-21 10:07                       ` Liran Alon
2019-03-21 12:37                         ` Michael S. Tsirkin
2019-03-21 12:37                         ` Michael S. Tsirkin [this message]
2019-03-21 12:47                           ` Liran Alon
2019-03-21 12:57                             ` Michael S. Tsirkin
2019-03-21 13:04                               ` Liran Alon
2019-03-21 13:12                                 ` Michael S. Tsirkin
2019-03-21 13:24                                   ` Liran Alon
2019-03-21 13:51                                     ` Michael S. Tsirkin
2019-03-21 14:16                                       ` Liran Alon
2019-03-21 15:15                                         ` Michael S. Tsirkin
2019-03-21 15:15                                         ` Michael S. Tsirkin
2019-03-21 14:16                                       ` Liran Alon
2019-03-21 13:51                                     ` Michael S. Tsirkin
2019-03-21 13:24                                   ` Liran Alon
2019-03-21 13:12                                 ` Michael S. Tsirkin
2019-03-21 15:45                                 ` Stephen Hemminger
2019-03-21 15:50                                   ` Michael S. Tsirkin
2019-03-21 15:50                                   ` Michael S. Tsirkin
2019-03-21 16:31                                     ` Liran Alon
2019-03-21 17:12                                       ` Michael S. Tsirkin
2019-03-21 17:12                                         ` Michael S. Tsirkin
2019-03-21 17:15                                         ` Liran Alon
2019-03-21 17:15                                         ` Liran Alon
2019-03-21 16:31                                     ` Liran Alon
2019-03-21 15:45                                 ` Stephen Hemminger
2019-03-21 13:04                               ` Liran Alon
2019-03-21 15:44                               ` Stephen Hemminger
2019-03-21 15:44                               ` Stephen Hemminger
2019-03-21 22:33                                 ` si-wei liu
2019-03-21 12:57                             ` Michael S. Tsirkin
2019-03-21 12:47                           ` Liran Alon
2019-03-20 22:19                   ` Liran Alon
2019-03-20 22:10                 ` Michael S. Tsirkin
2019-03-20 21:43               ` Liran Alon
2019-03-20 14:09             ` Michael S. Tsirkin
2019-03-20 10:25         ` Michael S. Tsirkin
2019-03-19 23:25       ` Liran Alon
2019-03-19 21:06   ` Michael S. Tsirkin
2019-03-19 21:06   ` Michael S. Tsirkin
2019-03-19 23:05     ` Liran Alon
2019-03-19 23:05     ` Liran Alon
2019-03-19 21:55   ` si-wei liu
2019-03-19 12:38 ` Liran Alon
  -- strict thread matches above, loose matches on Subject: below --
2019-03-17 13:55 Michael S. Tsirkin

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=20190321082532-mutt-send-email-mst@kernel.org \
    --to=mst@redhat.com \
    --cc=alexander.duyck@gmail.com \
    --cc=boris.ostrovsky@oracle.com \
    --cc=davem@davemloft.net \
    --cc=jfreimann@redhat.com \
    --cc=jiri@resnulli.us \
    --cc=kubakici@wp.pl \
    --cc=liran.alon@oracle.com \
    --cc=netdev@vger.kernel.org \
    --cc=ogerlitz@mellanox.com \
    --cc=si-wei.liu@oracle.com \
    --cc=sridhar.samudrala@intel.com \
    --cc=stephen@networkplumber.org \
    --cc=vijay.balakrishna@oracle.com \
    --cc=virtualization@lists.linux-foundation.org \
    --cc=vuhuong@mellanox.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.