On Thu, Apr 15, 2010 at 07:34:54AM -0400, Stefan Berger wrote: > "Daniel P. Berrange" <berrange@xxxxxxxxxx> wrote on 04/15/2010 05:22:22 > AM: > > > > > > > Please respond to "Daniel P. Berrange" > > > > On Wed, Apr 14, 2010 at 08:16:22PM -0400, Stefan Berger wrote: > > > With the current tip: While extending a test case I found that > attaching > > > and detaching the following network device works only 7 times with the > > > below script: > > > > > > <interface type='bridge'> > > > <source bridge='static'/> > > > <mac address='52:54:00:4d:a2:58'/> > > > <target dev='attach0'/> > > > </interface> > > > > > > > > > let c=1; while test 1; do virsh attach-device acl attach.xml ; virsh > > > detach-device acl attach.xml; echo ${c}; let c=c+1; done > > > > > > Then the following error occurs: > > > > > > error: Failed to attach device from attach.xml > > > error: operation failed: parsing pci_add reply failed: Too Many NICs > > > failed to add macaddr=52:54:00:4d:a2:58,vlan=1,name=net1 > > > > > > It looks like the detachment of the device is not done by qemu? > > > > Yeah, sounds like it - what version of QEMU do you have ? > > > > rpm -q --whatprovides /usr/bin/qemu-kvm > qemu-system-x86-0.12.3-6.fc13.x86_64 It looks like PCI device delete is completely fubar in qemu 0.12.x to me # qemu-kvm -monitor stdio QEMU 0.12.1 monitor - type 'help' for more information (qemu) device_add lsi,id=foo (qemu) info qtree bus: main-system-bus type System dev: i440FX-pcihost, id "" bus: pci.0 type PCI dev: lsi53c895a, id "foo" bus-prop: addr = 04.0 bus-prop: romfile = <null> bus-prop: rombar = 1 class SCSI controller, addr 00:04.0, pci id 1000:0012 (sub 1af4:1000) bar 0: i/o at 0xffffffffffffffff [0xfe] bar 1: mem at 0xffffffffffffffff [0x3fe] bar 2: mem at 0xffffffffffffffff [0x1ffe] bus: foo.0 type SCSI ...snip... (qemu) device_del foo (qemu) info qtree bus: main-system-bus type System dev: i440FX-pcihost, id "" bus: pci.0 type PCI dev: lsi53c895a, id "foo" bus-prop: addr = 04.0 bus-prop: romfile = <null> bus-prop: rombar = 1 class SCSI controller, addr 00:04.0, pci id 1000:0012 (sub 1af4:1000) bar 0: i/o at 0xffffffffffffffff [0xfe] bar 1: mem at 0xffffffffffffffff [0x3fe] bar 2: mem at 0xffffffffffffffff [0x1ffe] bus: foo.0 type SCSI ...snip... Notice 'device_del' completed without error, but didn't actually delete the device. The same seems to be true of 'pci_del' :-( Even if that wasn't broken though, I don't see how NIC hotplug would work in your scenario. That error message about Too Many NICs is becuase the 'nd_table' in QEMU's net.c has all fields set 'used = 1'. I don't see any code which ever sets 'used = 0'. Regards, Daniel -- |: Red Hat, Engineering, London -o- http://people.redhat.com/berrange/ :| |: http://libvirt.org -o- http://virt-manager.org -o- http://deltacloud.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: GnuPG: 7D3B9505 -o- F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :| -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list