At 02/24/2011 10:40 PM, William Dauchy Write: > Hi, > > I got some troubles hot plugging network pci devices. An attach works > as expected but the mac address is still set to "00:00:00:00:00:00" on > the guest machine. I have to reboot the guest to get the correct mac > address. > I first tried through libvirt with: > # virsh attach-interface dom0 network default --mac 52:54:00:f6:84:ba > > and then through qemu monitor to make sure that it wasn't a libvirt issue: > device_add rtl8139 > or > device_add rtl8139,mac=01:02:03:04:05:06 > > Always the same result on the guest. A device info on qemu give the > correct result, that is to say, with a correct mac address. > I went through rtl8139.c and saw that the mac address is set in > `rtl8139_reset`. > This function was called in `pci_rtl8139_init` but removed since > c169998802505c244b8bcad562633f29de7d74a4 commit, because it doesn't > make sense to call it when the virtual machine is shutdown. > I'm now wondering where I am supposed to call this reset function when > live attaching a pci device. I think it could fix the mac address > issue. > I will be very pleased to receive some tips to create a patch for this issue.
I got the same troubles, but I don't notice commit c1699988, and I sent a patch(call reset function in init) some days before. So I think this patch is wrong. I think the following method can solve this problem: move eeprom init from reset function into init function, as it is read only, and does not need init again in reset function. I will test this method. If it's OK, I will send a new patch. Thnaks Wen Congyang > > Regards,