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

Laine Stump laine at redhat.com
Mon Dec 10 18:35:06 UTC 2018


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)

> 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
> 

-------------- next part --------------
A non-text attachment was scrubbed...
Name: pEpkey.asc
Type: application/pgp-keys
Size: 2927 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/libvirt-users/attachments/20181210/64a96e49/attachment.bin>


More information about the libvirt-users mailing list