RE: [PATCH v7 0/11] add failover feature for assigned network devices

Parav Pandit posted 11 patches 4 years, 5 months ago
Only 0 patches received!
RE: [PATCH v7 0/11] add failover feature for assigned network devices
Posted by Parav Pandit 4 years, 5 months ago
Hi Jens,


> -----Original Message-----
> From: Jens Freimann <jfreimann@redhat.com>
> Sent: Tuesday, October 29, 2019 6:49 AM
> To: qemu-devel@nongnu.org
> Cc: ehabkost@redhat.com; mst@redhat.com; berrange@redhat.com;
> laine@redhat.com; aadam@redhat.com; ailan@redhat.com; Parav Pandit
> <parav@mellanox.com>; dgilbert@redhat.com; alex.williamson@redhat.com;
> armbru@redhat.com; eblake@redhat.com; jasowang@redhat.com;
> quintela@redhat.com; pbonzini@redhat.com
> Subject: [PATCH v7 0/11] add failover feature for assigned network devices
> 
> This is implementing the host side of the net_failover concept
> (https://www.kernel.org/doc/html/latest/networking/net_failover.html)
> 
> Changes since v6:
> * reword patch description of 06/11 (Markus)
> * have qemu_savevm_state_guest_unplug_pending() return true when at
>   least one device is still not unplugged (Dave)
> 
> The general idea is that we have a pair of devices, a vfio-pci and a virtio-net
> device. Before migration the vfio device is unplugged and data flows to the
> virtio-net device, on the target side another vfio-pci device is plugged in to take
> over the data-path. In the guest the net_failover module will pair net devices
> with the same MAC address.
> 
> * Patch 1 adds the infrastructure to hide the device for the qbus and qdev APIs
> 
> * Patch 2 adds checks to PCIDevice for only allowing ethernet devices as
>   failover primary and only PCIExpress capable devices
> 
> * Patch 3 sets a new flag for PCIDevice 'partially_hotplugged' which we
>   use to skip the unrealize code path when doing a unplug of the primary
>   device
> 
> * Patch 4 sets the pending_deleted_event before triggering the guest
>   unplug request
> 
> * Patch 5 and 6 add new qmp events, one sends the device id of a device
>   that was just requested to be unplugged from the guest and another one
>   to let libvirt know if VIRTIO_NET_F_STANDBY was negotiated
> 
> * Patch 7 make sure that we can unplug the vfio-device before
>   migration starts
> 
> * Patch 8 adds a new migration state that is entered while we wait for
>   devices to be unplugged by guest OS
> 
> * Patch 9 just adds the new migration state to a check in libqos code
> 
> * Patch 10 In the second patch the virtio-net uses the API to defer adding the
> vfio
>   device until the VIRTIO_NET_F_STANDBY feature is acked. It also
>   implements the migration handler to unplug the device from the guest and
>   re-plug in case of migration failure
> 
> * Patch 11 allows migration for failover vfio-pci devices
> 

Patches are great to see failover capability enabled on the netdevice.
However it's very difficult to test it without having libvirt support.
Can we please have the necessary libvirt enhancements?
I will be able to test it with Mellanox ConnectX5 device + qemu + libvirt.

[..]


Re: [PATCH v7 0/11] add failover feature for assigned network devices
Posted by Laine Stump 4 years, 5 months ago
On 11/4/19 4:21 PM, Parav Pandit wrote:
>>
> 
> Patches are great to see failover capability enabled on the netdevice.
> However it's very difficult to test it without having libvirt support.
> Can we please have the necessary libvirt enhancements?

I'm working on libvirt support, and will make sure to Cc you with the 
patches.