[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v5 02/11] pci: add option for net failover
From: |
Alex Williamson |
Subject: |
Re: [PATCH v5 02/11] pci: add option for net failover |
Date: |
Fri, 25 Oct 2019 08:56:47 -0600 |
On Fri, 25 Oct 2019 12:52:32 +0200
Jens Freimann <address@hidden> wrote:
> On Wed, Oct 23, 2019 at 12:06:48PM -0600, Alex Williamson wrote:
> >On Wed, 23 Oct 2019 10:27:02 +0200
> >Jens Freimann <address@hidden> wrote:
> [...]
> >> @@ -2101,6 +2104,20 @@ static void pci_qdev_realize(DeviceState *qdev,
> >> Error **errp)
> >> }
> >> }
> >>
> >> + if (pci_dev->net_failover_pair_id) {
> >> + if (!pci_is_express(pci_dev)) {
> >> + error_setg(errp, "failover device is not a PCIExpress
> >> device");
> >> + error_propagate(errp, local_err);
> >> + return;
> >> + }
> >
> >Did we decide we don't need to test that the device is also in a
> >hotpluggable slot? Are there also multi-function considerations that
> >should be prevented or documented? For example, if a user tries to
> >configure both the primary and failover NICs in the same slot, I assume
> >bad things will happen.
>
> I added this check
>
> if (!(pci_dev->cap_present & QEMU_PCI_CAP_MULTIFUNCTION)
> && (PCI_FUNC(pci_dev->devfn) == 0)) {
> qdev->allow_unplug_during_migration = true;
> } else {
> error_setg(errp, "failover: primary device must be in its own "
> "PCI slot");
> error_propagate(errp, local_err);
> pci_qdev_unrealize(DEVICE(pci_dev), NULL);
> return;
> }
>
> When I first add a vfio-pci with net_failover_pair_id=x,multifunction=on
> and addr=0.0 I will now get an error.
>
> (qemu) device_add
> vfio-pci,...,bus=root2,net_failover_pair_id=net1,multifunction=on,addr=0.0
> Error: failover: primary device must be in its own PCI slot
>
> If I put in a virtio-net device in slot 0 and then try to add a
> vfio-pci device in the same slot I get the following error message:
>
> -device
> virtio-net-pci,...id=net1bus=root1,failover=on,multifunction=on,addr=0.0
> (qemu) device_add
> vfio-pci,id=hostdev1,host=0000:5e:00.2,bus=root1,net_failover_pair_id=net1,addr=0.1
> Error: PCI: slot 0 function 0 already ocuppied by virtio-net-pci,
> new func vfio-pci cannot be exposed to guest.
Cool, looks good. Thanks,
Alex
- [PATCH v5 0/11] add failover feature for assigned network devices, Jens Freimann, 2019/10/23
- [PATCH v5 01/11] qdev/qbus: add hidden device support, Jens Freimann, 2019/10/23
- [PATCH v5 02/11] pci: add option for net failover, Jens Freimann, 2019/10/23
- Re: [PATCH v5 02/11] pci: add option for net failover, Alex Williamson, 2019/10/23
- Re: [PATCH v5 02/11] pci: add option for net failover, Jens Freimann, 2019/10/23
- Re: [PATCH v5 02/11] pci: add option for net failover, Alex Williamson, 2019/10/23
- Re: [PATCH v5 02/11] pci: add option for net failover, Jens Freimann, 2019/10/23
- Re: [PATCH v5 02/11] pci: add option for net failover, Alex Williamson, 2019/10/23
- Re: [PATCH v5 02/11] pci: add option for net failover, Laine Stump, 2019/10/24
- Re: [PATCH v5 02/11] pci: add option for net failover, Jens Freimann, 2019/10/25
- Re: [PATCH v5 02/11] pci: add option for net failover,
Alex Williamson <=
RE: [PATCH v5 02/11] pci: add option for net failover, Parav Pandit, 2019/10/24
RE: [PATCH v5 02/11] pci: add option for net failover, Parav Pandit, 2019/10/24
Re: [PATCH v5 02/11] pci: add option for net failover, Alex Williamson, 2019/10/24
Re: [PATCH v5 02/11] pci: add option for net failover, Dr. David Alan Gilbert, 2019/10/24
[PATCH v5 03/11] pci: mark devices partially unplugged, Jens Freimann, 2019/10/23
[PATCH v5 04/11] pci: mark device having guest unplug request pending, Jens Freimann, 2019/10/23