Re: [RFC PATCH v3 0/3] Enable virtio_net to act as a backup for a passthru device
From: Jiri Pirko <jiri@resnulli.us>
Date: 2018-02-27 08:27:18
Also in:
virtualization
Tue, Feb 27, 2018 at 02:18:12AM CET, mst@redhat.com wrote:
On Mon, Feb 26, 2018 at 05:02:18PM -0800, Stephen Hemminger wrote:quoted
On Mon, 26 Feb 2018 08:19:24 +0100 Jiri Pirko [off-list ref] wrote:quoted
Sat, Feb 24, 2018 at 12:59:04AM CET, stephen@networkplumber.org wrote:quoted
On Thu, 22 Feb 2018 13:30:12 -0800 Alexander Duyck [off-list ref] wrote:quoted
quoted
Again, I undertand your motivation. Yet I don't like your solution. But if the decision is made to do this in-driver bonding. I would like to see it baing done some generic way: 1) share the same "in-driver bonding core" code with netvsc put to net/core. 2) the "in-driver bonding core" will strictly limit the functionality, like active-backup mode only, one vf, one backup, vf netdev type check (so noone could enslave a tap or anything else) If user would need something more, he should employ team/bond.Sharing would be good, but netvsc world would really like to only have one visible network device.Why do you mind? All would be the same, there would be just another netdevice unused by the vm user (same as the vf netdev).I mind because our requirement is no changes to userspace. No special udev rules, no bonding script, no setup.Agreed. It is mostly fine from this point of view, except that you need to know to skip the slaves. Maybe we could look at some kind of trick e.g. pretending link is down for slaves?
:O Another hack. Please, don't.
quoted
Things like cloudinit running on current distro's expect to see a single eth0. The VF device show up can also be an issue because distro's have stupid rules like Network Manager trying to start DHCP on every interface. We deal with that now by doing stuff like udev rules to get it to stop but that is still causing user errors.
So that means that with an extra netdev for "virtio_net bypass" you will face exactly the same problems. Should not be an issue for you then.
So the ideal of a single net device isn't achieved by netvsc. Since you have scripts to skip the PT device, can't they hind the PV slave too? How do they identify the device to skip? I agree it would be nice to have a way to hide the extra netdev from userspace.
"A hidden netdevice", hmm. I believe that instead of doing hacks like this, we should fix userspace to treat particular netdevices correctly.
The benefit of the separation is that each slave device can be configured with e.g. its own native ethtool commands for optimum performance. -- MST