Interesting libvirt's behavior is different between attaching 30 new interfaces from the case when the VM is created with that 30 interfaces in the first place.
In the boot case[1] there will be an extra device added to the guest
<controller type='pci' index='1' model='pci-bridge'> <model name='pci-bridge'/> <target chassisNr='1'/> <alias name='pci.1'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/> </controller>
and this allows booting with more than 30 NICs.
In the attach case[2] there is no pci-bridge device.
[1] https://paste.opendev.org/show/811300/ [2] https://paste.opendev.org/show/811301/
Interesting libvirt's behavior is different between attaching 30 new interfaces from the case when the VM is created with that 30 interfaces in the first place.
In the boot case[1] there will be an extra device added to the guest
<controller type='pci' index='1' model='pci-bridge'>
<model name='pci-bridge'/>
<target chassisNr='1'/>
<alias name='pci.1'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
</controller>
and this allows booting with more than 30 NICs.
In the attach case[2] there is no pci-bridge device.
[1] https:/ /paste. opendev. org/show/ 811300/ /paste. opendev. org/show/ 811301/
[2] https:/