All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Michael S. Tsirkin" <mst@redhat.com>
To: Jakub Kicinski <kubakici@wp.pl>
Cc: Alexander Duyck <alexander.h.duyck@intel.com>,
	virtio-dev <virtio-dev@lists.oasis-open.org>,
	Jiri Pirko <jiri@resnulli.us>,
	"Samudrala, Sridhar" <sridhar.samudrala@intel.com>,
	virtualization@lists.linux-foundation.org,
	Siwei Liu <loseweigh@gmail.com>,
	liran.alon@oracle.com, Netdev <netdev@vger.kernel.org>,
	si-wei liu <si-wei.liu@oracle.com>,
	David Miller <davem@davemloft.net>
Subject: Re: [virtio-dev] Re: net_failover slave udev renaming (was Re: [RFC PATCH net-next v6 4/4] netvsc: refactor notifier/event handling code to use the bypass framework)
Date: Wed, 27 Feb 2019 23:47:33 -0500	[thread overview]
Message-ID: <20190227233812-mutt-send-email-mst__15862.5762489223$1551329748$gmane$org@kernel.org> (raw)
In-Reply-To: <20190227175218.736e13b6@cakuba.netronome.com>

On Wed, Feb 27, 2019 at 05:52:18PM -0800, Jakub Kicinski wrote:
> On Wed, 27 Feb 2019 20:26:02 -0500, Michael S. Tsirkin wrote:
> > On Wed, Feb 27, 2019 at 04:52:05PM -0800, Jakub Kicinski wrote:
> > > On Wed, 27 Feb 2019 19:41:32 -0500, Michael S. Tsirkin wrote:  
> > > > > As this scheme adds much complexity to the kernel naming convention
> > > > > (currently it's just ethX names) that no userspace can understand.    
> > > > 
> > > > Anything that pokes at slaves needs to be specially designed anyway.
> > > > Naming seems like a minor issue.  
> > > 
> > > Can the users who care about the naming put net_failover into
> > > "user space will do the bond enslavement" mode, and do the bond
> > > creation/management themselves from user space (in systemd/ 
> > > Network Manager) based on the failover flag?  
> > 
> > Putting issues of compatibility aside (userspace tends to be confused if
> > you give it two devices with same MAC), how would you have it work in
> > practice? Timer based hacks like netvsc where if userspace didn't
> > respond within X seconds we assume it won't and do everything ourselves?
> 
> Well, what I'm saying is basically if user space knows how to deal with
> the auto-bonding, we can put aside net_failover for the most part.  It
> can either be blacklisted or it can have some knob which will
> effectively disable the auto-enslavement.

OK I guess we could add a module parameter to skip this.
Is this what you mean?

> Auto-bonding capable user space can do the renames, spawn the bond,
> etc. all by itself.  I'm basically going back to my initial proposal
> here :)  There is a RedHat bugzilla for the NetworkManager team to do
> this, but we merged net_failover before those folks got around to
> implementing it.

In particular because there's no policy involved whatsoever
here so it's just mechanism being pushed up to userspace.

> IOW if NM/systemd is capable of doing the auto-bonding itself it can
> disable the kernel mechanism and take care of it all.  If kernel is
> booted with an old user space which doesn't have capable NM/systemd -
> net_failover will kick in and do its best.

Sure - it's just 2 lines of code, see below.

Signed-off-by: Michael S. Tsirkin <mst@redhat.com>

But I don't intend to bother until there's actual interest from
userspace developers to bother. In particular it is not just NM/systemd
even on Fedora - e.g. you will need to teach dracut to somehow detect
and handle this - right now it gets confused if there are two devices
with same MAC addresses.

diff --git a/drivers/net/virtio_net.c b/drivers/net/virtio_net.c
index 955b3e76eb8d..dd2b2c370003 100644
--- a/drivers/net/virtio_net.c
+++ b/drivers/net/virtio_net.c
@@ -43,6 +43,7 @@ static bool csum = true, gso = true, napi_tx;
 module_param(csum, bool, 0444);
 module_param(gso, bool, 0444);
 module_param(napi_tx, bool, 0644);
+module_param(disable_failover, bool, 0644);
 
 /* FIXME: MTU in config. */
 #define GOOD_PACKET_LEN (ETH_HLEN + VLAN_HLEN + ETH_DATA_LEN)
@@ -3163,6 +3164,7 @@ static int virtnet_probe(struct virtio_device *vdev)
 	virtnet_init_settings(dev);
 
-	if (virtio_has_feature(vdev, VIRTIO_NET_F_STANDBY)) {
+	if (virtio_has_feature(vdev, VIRTIO_NET_F_STANDBY) &&
+		!disable_failover) {
 		vi->failover = net_failover_create(vi->dev);
 		if (IS_ERR(vi->failover)) {
 			err = PTR_ERR(vi->failover);

  reply	other threads:[~2019-02-28  4:47 UTC|newest]

Thread overview: 147+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-04-10 18:59 [RFC PATCH net-next v6 0/4] Enable virtio_net to act as a backup for a passthru device Sridhar Samudrala
2018-04-10 18:59 ` [virtio-dev] " Sridhar Samudrala
2018-04-10 18:59 ` [RFC PATCH net-next v6 1/4] virtio_net: Introduce VIRTIO_NET_F_BACKUP feature bit Sridhar Samudrala
2018-04-10 18:59   ` [virtio-dev] " Sridhar Samudrala
2018-04-10 18:59 ` [RFC PATCH net-next v6 2/4] net: Introduce generic bypass module Sridhar Samudrala
2018-04-10 18:59   ` [virtio-dev] " Sridhar Samudrala
2018-04-11 15:51   ` Jiri Pirko
2018-04-11 19:13     ` Samudrala, Sridhar
2018-04-11 19:13     ` Samudrala, Sridhar
2018-04-11 19:13       ` [virtio-dev] " Samudrala, Sridhar
2018-04-18  9:25       ` Jiri Pirko
2018-04-18  9:25       ` Jiri Pirko
2018-04-18 18:43         ` Samudrala, Sridhar
2018-04-18 18:43         ` Samudrala, Sridhar
2018-04-18 18:43           ` [virtio-dev] " Samudrala, Sridhar
2018-04-18 19:13           ` Jiri Pirko
2018-04-18 19:13           ` Jiri Pirko
2018-04-18 19:46             ` Michael S. Tsirkin
2018-04-18 19:46               ` [virtio-dev] " Michael S. Tsirkin
2018-04-18 20:32               ` Jiri Pirko
2018-04-18 22:46                 ` Samudrala, Sridhar
2018-04-18 22:46                   ` [virtio-dev] " Samudrala, Sridhar
2018-04-19  6:35                   ` Jiri Pirko
2018-04-19  6:35                   ` Jiri Pirko
2018-04-18 22:46                 ` Samudrala, Sridhar
2018-04-19  4:08                 ` Michael S. Tsirkin
2018-04-19  4:08                   ` [virtio-dev] " Michael S. Tsirkin
2018-04-19  7:22                   ` Jiri Pirko
2018-04-19  7:22                   ` Jiri Pirko
2018-04-19  4:08                 ` Michael S. Tsirkin
2018-04-18 20:32               ` Jiri Pirko
2018-04-11 15:51   ` Jiri Pirko
2018-04-10 18:59 ` [RFC PATCH net-next v6 3/4] virtio_net: Extend virtio to use VF datapath when available Sridhar Samudrala
2018-04-10 18:59   ` [virtio-dev] " Sridhar Samudrala
2018-04-10 18:59 ` [RFC PATCH net-next v6 4/4] netvsc: refactor notifier/event handling code to use the bypass framework Sridhar Samudrala
2018-04-10 18:59   ` [virtio-dev] " Sridhar Samudrala
2018-04-10 21:26   ` Stephen Hemminger
2018-04-10 22:56     ` Samudrala, Sridhar
2018-04-10 22:56       ` [virtio-dev] " Samudrala, Sridhar
2018-04-10 23:28     ` Michael S. Tsirkin
2018-04-10 23:28     ` Michael S. Tsirkin
2018-04-10 23:28       ` [virtio-dev] " Michael S. Tsirkin
2018-04-10 23:44       ` Siwei Liu
2018-04-10 23:44         ` [virtio-dev] " Siwei Liu
2018-04-10 23:59         ` Stephen Hemminger
2018-04-10 23:44       ` Siwei Liu
2018-04-11  7:50       ` Jiri Pirko
2018-04-11  7:50       ` Jiri Pirko
2018-04-11  1:21     ` Michael S. Tsirkin
2018-04-11  1:21     ` Michael S. Tsirkin
2018-04-11  7:53     ` Jiri Pirko
2018-04-11  7:53     ` Jiri Pirko
2019-02-22  1:14       ` net_failover slave udev renaming (was Re: [RFC PATCH net-next v6 4/4] netvsc: refactor notifier/event handling code to use the bypass framework) Siwei Liu
2019-02-22  1:14         ` [virtio-dev] " Siwei Liu
2019-02-22  1:39         ` Michael S. Tsirkin
2019-02-22  1:39           ` [virtio-dev] " Michael S. Tsirkin
2019-02-22  3:33           ` si-wei liu
2019-02-22  3:33             ` si-wei liu
2019-02-22  7:00             ` Samudrala, Sridhar
2019-02-22  7:55               ` si-wei liu
2019-02-22  7:55                 ` si-wei liu
2019-02-22 12:58                 ` Rob Miller
2019-02-22 12:58                   ` Rob Miller
2019-02-22 15:14                 ` Michael S. Tsirkin
2019-02-22 15:14                   ` Michael S. Tsirkin
2019-02-26  0:58                   ` si-wei liu
2019-02-26  0:58                     ` si-wei liu
2019-02-26  1:39                     ` Stephen Hemminger
2019-02-26  1:39                     ` Stephen Hemminger
2019-02-26  2:05                       ` Michael S. Tsirkin
2019-02-26  2:05                       ` Michael S. Tsirkin
2019-02-26  2:05                         ` Michael S. Tsirkin
2019-02-27  0:49                         ` si-wei liu
2019-02-27  0:49                           ` si-wei liu
2019-02-26  2:08                     ` Michael S. Tsirkin
2019-02-26  2:08                     ` Michael S. Tsirkin
2019-02-26  2:08                       ` Michael S. Tsirkin
2019-02-27  0:17                       ` si-wei liu
2019-02-27  0:17                         ` si-wei liu
2019-02-27 21:57                         ` Stephen Hemminger
2019-02-27 21:57                         ` Stephen Hemminger
2019-02-27 22:30                           ` si-wei liu
2019-02-27 22:30                             ` si-wei liu
2019-02-27 22:38                         ` Michael S. Tsirkin
2019-02-27 22:38                         ` Michael S. Tsirkin
2019-02-27 22:38                           ` Michael S. Tsirkin
2019-02-27 23:34                           ` si-wei liu
2019-02-27 23:34                             ` si-wei liu
2019-02-27 23:50                             ` Michael S. Tsirkin
2019-02-27 23:50                             ` Michael S. Tsirkin
2019-02-27 23:50                               ` Michael S. Tsirkin
2019-02-28  0:00                               ` Liran Alon
2019-02-28  0:00                               ` Liran Alon
2019-02-28  0:03                               ` Stephen Hemminger
2019-02-28  0:38                                 ` Michael S. Tsirkin
2019-02-28  0:38                                 ` Michael S. Tsirkin
2019-02-28  0:38                                   ` Michael S. Tsirkin
2019-02-28  0:03                               ` Stephen Hemminger
2019-02-28  0:38                               ` si-wei liu
2019-02-28  0:38                                 ` si-wei liu
2019-02-28  0:41                                 ` Michael S. Tsirkin
2019-02-28  0:41                                 ` Michael S. Tsirkin
2019-02-28  0:41                                   ` Michael S. Tsirkin
2019-02-28  0:52                                   ` Jakub Kicinski
2019-02-28  0:52                                   ` Jakub Kicinski
2019-02-28  1:26                                     ` Michael S. Tsirkin
2019-02-28  1:26                                       ` Michael S. Tsirkin
2019-02-28  1:52                                       ` Jakub Kicinski
2019-02-28  1:52                                       ` Jakub Kicinski
2019-02-28  4:47                                         ` Michael S. Tsirkin [this message]
2019-02-28  4:47                                         ` Michael S. Tsirkin
2019-02-28  4:47                                           ` Michael S. Tsirkin
2019-02-28 18:13                                           ` Jakub Kicinski
2019-02-28 19:36                                             ` Michael S. Tsirkin
2019-02-28 19:36                                             ` Michael S. Tsirkin
2019-02-28 19:36                                               ` Michael S. Tsirkin
2019-02-28 19:56                                               ` Jakub Kicinski
2019-02-28 19:56                                               ` Jakub Kicinski
2019-02-28 20:14                                                 ` Michael S. Tsirkin
2019-02-28 20:14                                                 ` Michael S. Tsirkin
2019-02-28 23:31                                                   ` Jakub Kicinski
2019-02-28 23:31                                                   ` Jakub Kicinski
2019-03-01  0:20                                                 ` Siwei Liu
2019-03-01  0:20                                                 ` Siwei Liu
2019-03-01  1:05                                                   ` Jakub Kicinski
2019-03-02  0:30                                                     ` Siwei Liu
2019-03-02  0:30                                                     ` Siwei Liu
2019-03-01  1:05                                                   ` Jakub Kicinski
2019-02-28 18:13                                           ` Jakub Kicinski
2019-02-28  1:26                                     ` Michael S. Tsirkin
2019-02-28  9:32                                   ` si-wei liu
2019-02-28  9:32                                     ` si-wei liu
2019-02-28 14:26                                     ` Michael S. Tsirkin
2019-02-28 14:26                                       ` Michael S. Tsirkin
2019-03-01  1:30                                       ` si-wei liu
2019-03-01  1:30                                         ` si-wei liu
2019-03-01 13:27                                         ` Michael S. Tsirkin
2019-03-01 13:27                                         ` Michael S. Tsirkin
2019-03-01 13:27                                           ` Michael S. Tsirkin
2019-03-01 20:55                                           ` si-wei liu
2019-03-01 20:55                                             ` si-wei liu
2019-02-28 14:26                                     ` Michael S. Tsirkin
2019-02-22 15:14                 ` Michael S. Tsirkin
2019-02-22  7:00             ` Samudrala, Sridhar
2019-02-22  1:39         ` Michael S. Tsirkin
2019-02-22  1:14       ` Siwei Liu
2018-04-10 21:26   ` [RFC PATCH net-next v6 4/4] netvsc: refactor notifier/event handling code to use the bypass framework Stephen Hemminger

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='20190227233812-mutt-send-email-mst__15862.5762489223$1551329748$gmane$org@kernel.org' \
    --to=mst@redhat.com \
    --cc=alexander.h.duyck@intel.com \
    --cc=davem@davemloft.net \
    --cc=jiri@resnulli.us \
    --cc=kubakici@wp.pl \
    --cc=liran.alon@oracle.com \
    --cc=loseweigh@gmail.com \
    --cc=netdev@vger.kernel.org \
    --cc=si-wei.liu@oracle.com \
    --cc=sridhar.samudrala@intel.com \
    --cc=virtio-dev@lists.oasis-open.org \
    --cc=virtualization@lists.linux-foundation.org \
    /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.