[libvirt-users] unable to add pci network to existing vm

daggs daggs at gmx.com
Tue Dec 11 08:40:43 UTC 2018


Greetings Laine,

> Sent: Monday, December 10, 2018 at 8:35 PM
> From: "Laine Stump" <laine at redhat.com>
> To: libvirt-users at redhat.com
> Cc: daggs <daggs at gmx.com>
> Subject: Re: [libvirt-users] unable to add pci network to existing vm
>
> On 12/10/18 1:24 PM, daggs wrote:
> > Greetings,
> > 
> > I'm trying to add a virtual nic to an existing and active vm and I'm getting this error:
> > error: internal error: No more available PCI slots
> > 
> > the cmd I'm trying to run is: virsh -c qemu:///system attach-interface --domain router --type bridge --source virbr0 --model virtio --config --live
> > 
> > the lspci output within the vm is this:
> > # lspci
> > 00:00.0 Host bridge: Intel Corporation 82G33/G31/P35/P31 Express DRAM Controller
> > 00:01.0 PCI bridge: Intel Corporation 7500/5520/5500/X58 I/O Hub PCI Express Root Port 0 (rev 02)
> > 00:01.1 PCI bridge: Intel Corporation 7500/5520/5500/X58 I/O Hub PCI Express Root Port 0 (rev 02)
> > 00:01.2 PCI bridge: Intel Corporation 7500/5520/5500/X58 I/O Hub PCI Express Root Port 0 (rev 02)
> > 00:01.3 PCI bridge: Intel Corporation 7500/5520/5500/X58 I/O Hub PCI Express Root Port 0 (rev 02)
> > 00:01.4 PCI bridge: Intel Corporation 7500/5520/5500/X58 I/O Hub PCI Express Root Port 0 (rev 02)
> > 00:01.5 PCI bridge: Intel Corporation 7500/5520/5500/X58 I/O Hub PCI Express Root Port 0 (rev 02)
> > 00:01.6 PCI bridge: Intel Corporation 7500/5520/5500/X58 I/O Hub PCI Express Root Port 0 (rev 02)
> 
> You have 7 pcie-root-ports...
> 
> > 00:1d.0 USB controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #1 (rev 03)
> > 00:1d.1 USB controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #2 (rev 03)
> > 00:1d.2 USB controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #3 (rev 03)
> > 00:1d.7 USB controller: Intel Corporation 82801I (ICH9 Family) USB2 EHCI Controller #1 (rev 03)
> > 00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev 92)
> > 00:1f.0 ISA bridge: Intel Corporation 82801IB (ICH9) LPC Interface Controller (rev 02)
> > 00:1f.2 SATA controller: Intel Corporation 82801IR/IO/IH (ICH9R/DO/DH) 6 port SATA Controller [AHCI mode] (rev 02)
> > 00:1f.3 SMBus: Intel Corporation 82801I (ICH9 Family) SMBus Controller (rev 02)
> > 00:1f.6 Ethernet controller: Intel Corporation Ethernet Connection (2) I219-V (rev 31)
> > 01:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 06)
> > 02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 06)
> > 03:00.0 SCSI storage controller: Red Hat, Inc. Virtio block device (rev 01)
> > 04:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 06)
> > 05:00.0 Unclassified device [00ff]: Red Hat, Inc. Virtio memory balloon (rev 01)
> > 06:00.0 Ethernet controller: Red Hat, Inc. Virtio network device (rev 01)
> > 07:00.0 Unclassified device [0002]: Red Hat, Inc. Virtio filesystem (rev 01)
> 
> ...and 7 PCIe devices, each taking up one of those root ports.
> 
> On a PCIe-based archicture, you can only hotplug a device into a
> pcie-root-port (not into the root bus), but you can't hotplug the
> pcie-root-port itself. libvirt knows this, and since your guest is
> running and has no unused pcie-root-ports, it can't do the hotplug.
> 
> If you do the attach-interface command with --config *only* (remove the
> --live), libvirt will be able to automatically add the pcie-root-port
> that it knows is required. Then you'll just need to shutdown and restart
> the guest for the device to be added to the running guest instance (a
> simple reboot from the guest is insufficient, you need to fully shut it
> down, so that a new qemu process is started)
> 
Thanks, that indeed fixed the trick.

Dagg.

> > 08:00.0 PCI bridge: Red Hat, Inc. QEMU PCI-PCI bridge
> > 
> > how can I add additional pci entry? I don't mind if I need to edit the xml file and restart the vm, I just don't want to cause the vm not to start due to bad xml or something.
> > 
> > Thanks,
> > 
> > Dagg.
> > 
> > _______________________________________________
> > libvirt-users mailing list
> > libvirt-users at redhat.com
> > https://www.redhat.com/mailman/listinfo/libvirt-users
> > 
> 
> 




More information about the libvirt-users mailing list