Description of problem: I used the Virtualization Machine Manager to set up a Windows 2000 guest. At first things, seemed to work (possibly because I was playing around with settings). I decided to use "shared physical device" to get the guest operating system on the network. After upgrading the guest with SP4 and all updates, Windows could no longer see the emulated Realtek NIC. When I looked in Device Manager, it was simply gone. (There is a PCI Device and an Unknown Device, but they do not seem to be related to the NIC.) If I shutdown the guest, switch the setup to use "virtual network" and restart it, then it sees the network card. I can then shut it down, switch it back to "shared physical device" and restart it and it still sees the network card (and it works correctly). If, however, I reboot Dom0, then the Realtek NIC disappears again. It also works if I add one NIC as a "shared physical device" and add a second NIC as a "virtual network". However, if I reboot Dom0, it is broken again. So, adding a "virtual network" device from Virtual Machine Manager temporarily fixes the problem, until the next reboot. This is a simple setup--one physical NIC, no VLANs, etc. I looked online and Xen's mailing list, and most network problems seem to be related to the bridge setup in Dom0. This does not seem to be the issue--the bridging, virtual interfaces, etc. all seem to be fine; it's just that the guest OS does not see the emulated NIC. I've disabled the firewall and SELinux on Dom0 to make sure they are not interfering. My server is a Dell PowerEdge SC440 with a Broadcom NetXtreme BCM5754 NIC and an Intel Xeon processor. Since the guest NIC is emulated, however, I doubt this is a hardware issue. Version-Release number of selected component (if applicable): xen-3.1.0-2 virt-manager-0.4.0-2.fc7 How reproducible: Always. If I reboot Dom0, and start the guest, the emulated NIC is gone. If I add a "virtual network device", it reappears and works fine. Steps to Reproduce: 1. Use the Virtual Machine Manager to create a Windows 2000 guest with "shared physical device" 2. Upgrade to SP4 3. Install all updates using Windows Update (network card should disappear at this point--maybe have to reboot Dom0) 4a. Shutdown guest, switch to a "virtual network device", start and stop the guest, then switch back to "shared physical device" OR, 4b. Shutdown guest, add a second NIC as a "virtual network device" and start guest 5. Network card reappears in Device Manager and works fine Actual results: Using Virtual Machine Manager to add a "virtual network device" fixes some part of the NIC emulation in xen. Expected results: NIC emulation in xen works over a reboot of Dom0. Additional info: I'm tempted to mark this as "high" severity, because it makes it impossible to automatically start Windows guests in case of a reboot or power failure, but I'll leave it at medium.
Just to add a "me too" on this one, domU installs Win2003 64bit edition, NIC works and rebooting the domU many times is OK, but as soon as the dom0 is rebooted the domU loses the NIC when it next starts. at which point the dom0 dmesg only shows device vif13.0 entered promiscuous mode ADDRCONF(NETDEV_UP): vif13.0: link is not ready when starting the windows domU instead of the ADDRCONF(NETDEV_UP): vif12.0: link is not ready ADDRCONF(NETDEV_CHANGE): vif12.0: link becomes ready eth0: port 7(vif12.0) entering learning state eth0: topology change detected, propagating eth0: port 7(vif12.0) entering forwarding state which occurs on other another working domU I also got a "him too" via email from Thomas Antony, who notes that if the NIC is removed from the domU and a new one re-added, this will work until the next dom0 reboot. Likewise, I'd be tempted to class it as high severity, maybe higher than "low" priority too ;-)
I'm running F7 x86_64 and i have setup 5 domU's with different windows os. When i reboot dom0, all 5 windows os loses the realtek nic's.
I see the same results with a Fedora 7/i386 (hvm) guest on a F7 x86_64 guest. The error message in /var/log/message is the same. Furthermore, I don't think this is a SElinux issue as I executed 'setenforce 0' before starting the guest. "virsh dumpxml f7_32_build" shows a network card ... <devices> <emulator>/usr/lib64/xen/bin/qemu-dm</emulator> <interface type='bridge'> <source bridge='eth0'/> <mac address='00:16:3e:19:3c:47'/> <script path='vif-bridge'/> </interface> ... but lspci in the guest does not show me the Realtek ethernet controller I'm seeing in other hvm guests on the machine which do use the old config system. Maybe the bug title can be changed to "no NIC in visible in HVM guests".
Pretty sure now that this is the same as bug 296061. If you can attach output of 'xm list --long' I can confirm. If not, I'll build the same fix into F7 Xen RPMs anyway, since it can definitely impact us.
NLITE AND WIN2K3 domUs are HVM [root@localhost ~]# xm list --long (domain (domid 0) (on_crash restart) (uuid 00000000-0000-0000-0000-000000000000) (bootloader_args ) (vcpus 2) (name Domain-0) (on_poweroff destroy) (on_reboot restart) (bootloader ) (maxmem 16777215) (memory 7917) (shadow_memory 0) (cpu_weight 256) (cpu_cap 0) (features ) (on_xend_start ignore) (on_xend_stop ignore) (cpu_time 21.367398856) (online_vcpus 2) (image (linux (kernel ) (rtc_timeoffset 0))) (status 2) (state r-----) ) (domain (on_crash restart) (uuid 11be65ab-8777-2f27-a180-f81fde35c20c) (bootloader_args ) (vcpus 1) (name builder) (on_poweroff destroy) (on_reboot restart) (bootloader /usr/bin/pygrub) (maxmem 256) (memory 256) (shadow_memory 0) (cpu_weight 256) (cpu_cap 0) (features ) (on_xend_start ignore) (on_xend_stop ignore) (start_time 1185093618.86) (image (linux (kernel ) (notes (FEATURES 'writable_page_tables|writable_descriptor_tables|auto_translated_physmap|pae_pgdir_above_4gb|supervisor_mode_kernel' ) (VIRT_BASE 18446744071562067968) (GUEST_VERSION 2.6) (PADDR_OFFSET 18446744071562067968) (GUEST_OS linux) (HYPERCALL_PAGE 18446744071564189696) (LOADER generic) (ENTRY 18446744071564165120) (XEN_VERSION xen-3.0) ) ) ) (status 0) (device (vif (bridge eth0) (uuid 44bab9fd-0eda-7494-ccb6-792127a40fd9) (script vif-bridge) (mac 00:16:3e:6a:e7:a8) (type netfront) (backend 0) ) ) (device (vbd (uuid bd2ab231-811d-fea8-9ea1-eccc9c4a6e74) (bootable 1) (driver paravirtualised) (dev xvda:disk) (uname phy:/dev/vgmirror/builder) (mode w) (backend 0) ) ) ) (domain (on_crash restart) (uuid 71101572-e86f-3be5-959b-8d690bdfca5c) (bootloader_args ) (vcpus 1) (name db1) (on_poweroff destroy) (on_reboot restart) (bootloader /usr/bin/pygrub) (maxmem 1000) (memory 1000) (shadow_memory 0) (cpu_weight 256) (cpu_cap 0) (features ) (on_xend_start ignore) (on_xend_stop ignore) (start_time 1186750424.91) (cpu_time 290.701701931) (image (linux (kernel ) (rtc_timeoffset 0) (notes (FEATURES 'writable_page_tables|writable_descriptor_tables|auto_translated_physmap|pae_pgdir_above_4gb|supervisor_mode_kernel' ) (VIRT_BASE 18446744071562067968) (GUEST_VERSION 2.6) (PADDR_OFFSET 18446744071562067968) (GUEST_OS linux) (HYPERCALL_PAGE 18446744071564189696) (LOADER generic) (ENTRY 18446744071564165120) (XEN_VERSION xen-3.0) ) ) ) (status 0) (device (vif (bridge eth0) (uuid 1e915bda-34c4-dc09-0a5d-70ce31c1acdb) (script vif-bridge) (mac 00:16:3e:6c:a5:12) (type netfront) (backend 0) ) ) (device (vbd (uuid 565cbdef-1b9f-e6d2-2d73-2c0300f07585) (bootable 1) (driver paravirtualised) (dev xvda:disk) (uname phy:/dev/vgmirror/lvdb1rootandlog) (mode w) (backend 0) ) ) (device (vbd (uuid c40b460b-c81d-c937-201e-3536c49b48a3) (bootable 0) (driver paravirtualised) (dev xvdb:disk) (uname phy:/dev/vgstripe/lvdb1data) (mode w) (backend 0) ) ) ) (domain (on_crash restart) (uuid a5647d01-89f6-4d74-fefd-e3d2ec31cf7b) (bootloader_args ) (vcpus 1) (name db2) (on_poweroff destroy) (on_reboot restart) (bootloader /usr/bin/pygrub) (maxmem 1000) (memory 1000) (shadow_memory 0) (cpu_weight 256) (cpu_cap 0) (features ) (on_xend_start ignore) (on_xend_stop ignore) (start_time 1186750436.96) (cpu_time 61.636158774) (image (linux (kernel ) (rtc_timeoffset 0) (notes (FEATURES 'writable_page_tables|writable_descriptor_tables|auto_translated_physmap|pae_pgdir_above_4gb|supervisor_mode_kernel' ) (VIRT_BASE 18446744071562067968) (GUEST_VERSION 2.6) (PADDR_OFFSET 18446744071562067968) (GUEST_OS linux) (HYPERCALL_PAGE 18446744071564189696) (LOADER generic) (ENTRY 18446744071564165120) (XEN_VERSION xen-3.0) ) ) ) (status 0) (device (vif (bridge eth0) (uuid 27f9ffb1-c2ee-8cdc-4cb9-5659ba04ec37) (script vif-bridge) (mac 00:16:3e:1b:15:46) (type netfront) (backend 0) ) ) (device (vbd (uuid d351a39f-9b50-9516-407a-59ead5e116ea) (bootable 1) (driver paravirtualised) (dev xvda:disk) (uname phy:/dev/vgmirror/lvdb2root) (mode w) (backend 0) ) ) ) (domain (on_crash restart) (uuid 4a605812-d530-961f-0712-2650ea23c743) (bootloader_args ) (vcpus 1) (name ldap) (on_poweroff destroy) (on_reboot restart) (bootloader /usr/bin/pygrub) (maxmem 256) (memory 256) (shadow_memory 0) (cpu_weight 256) (cpu_cap 0) (features ) (on_xend_start ignore) (on_xend_stop ignore) (start_time 1187011092.58) (image (linux (kernel ) (notes (FEATURES 'writable_page_tables|writable_descriptor_tables|auto_translated_physmap|pae_pgdir_above_4gb|supervisor_mode_kernel' ) (VIRT_BASE 18446744071562067968) (GUEST_VERSION 2.6) (PADDR_OFFSET 18446744071562067968) (GUEST_OS linux) (HYPERCALL_PAGE 18446744071564189696) (LOADER generic) (ENTRY 18446744071564165120) (XEN_VERSION xen-3.0) ) ) ) (status 0) (device (vif (bridge eth0) (uuid 30fffcb9-0005-b060-bd66-1c13a5860c24) (script vif-bridge) (mac 00:16:3e:18:bd:ef) (type netfront) (backend 0) ) ) (device (vbd (uuid bd0ba670-1872-ef3a-9c2c-444da133a67b) (bootable 1) (driver paravirtualised) (dev xvda:disk) (uname phy:/dev/vgmirror/ldap) (mode w) (backend 0) ) ) ) (domain (on_crash restart) (uuid bde1c355-841b-815a-4965-d93310fa1f93) (bootloader_args ) (vcpus 1) (name nlite) (on_poweroff destroy) (on_reboot restart) (bootloader ) (maxmem 500) (memory 500) (shadow_memory 0) (cpu_weight 256) (cpu_cap 0) (features ) (on_xend_start ignore) (on_xend_stop ignore) (image (hvm (kernel /usr/lib/xen/boot/hvmloader) (acpi 1) (apic 1) (boot c) (device_model /usr/lib64/xen/bin/qemu-dm) (pae 1) (serial pty) ) ) (status 0) (device (vif (bridge eth0) (mac 00:16:3e:14:68:77) (uuid 1efe4e75-ec1f-362e-2a6a-9ecd1105cd05) (script vif-bridge) ) ) (device (vbd (uuid 9f33b3e1-1066-a635-d24c-0837267959aa) (bootable 1) (driver paravirtualised) (dev hda:disk) (uname phy:/dev/vgmirror/nlite) (mode w) ) ) (device (vbd (uuid 43afe5c7-f7f2-9fcb-fc40-dee1beb3e4f0) (bootable 0) (driver paravirtualised) (dev hdb:disk) (uname file:/root/WinLite.iso) (mode w) ) ) (device (vbd (uuid e9abef92-5fb7-4695-4710-6457b38f3c23) (bootable 0) (driver paravirtualised) (dev hdb:disk) (uname file:/root/WinLite.iso) (mode w) ) ) (device (vkbd (uuid 4cdb4ae1-2d06-1a28-4b42-28901b8bfcf4))) (device (vfb (type vnc) (vncdisplay 0) (uuid 67610d08-5421-43c4-503f-2795ee1c69a1) ) ) ) (domain (on_crash restart) (uuid 9666581a-01aa-3982-5cf2-b736e863a558) (bootloader_args ) (vcpus 1) (name repo) (on_poweroff destroy) (on_reboot restart) (bootloader /usr/bin/pygrub) (maxmem 125) (memory 125) (shadow_memory 0) (cpu_weight 256) (cpu_cap 0) (features ) (on_xend_start ignore) (on_xend_stop ignore) (start_time 1189158630.33) (cpu_time 0.0) (image (linux (kernel ) (rtc_timeoffset 0) (notes (FEATURES 'writable_page_tables|writable_descriptor_tables|auto_translated_physmap|pae_pgdir_above_4gb|supervisor_mode_kernel' ) (VIRT_BASE 18446744071562067968) (GUEST_VERSION 2.6) (PADDR_OFFSET 18446744071562067968) (GUEST_OS linux) (HYPERCALL_PAGE 18446744071564189696) (LOADER generic) (SUSPEND_CANCEL 1) (ENTRY 18446744071564165120) (XEN_VERSION xen-3.0) ) ) ) (status 0) (device (vif (bridge eth0) (uuid e945fdd0-1062-a4a2-4e03-59670c406729) (script vif-bridge) (mac 00:16:3e:5c:30:e7) (type netfront) (backend 0) ) ) (device (vbd (uuid 6560dd29-8d1c-f637-3559-6a90fb1ea4bb) (bootable 1) (driver paravirtualised) (dev xvda:disk) (uname phy:/dev/vgmirror/lv-repo-root) (mode w) (backend 0) ) ) (device (vbd (uuid f41470a4-bd0d-1a00-0b8a-3dca5de4aacf) (bootable 0) (driver paravirtualised) (dev /dev/xvdb:disk) (uname phy:/dev/vgstripe/lv-repo-data) (mode w) (backend 0) ) ) ) (domain (on_crash restart) (uuid f49ff9f9-f705-58f2-b96d-6cca56854fd9) (bootloader_args ) (vcpus 1) (name sequoia1) (on_poweroff destroy) (on_reboot restart) (bootloader /usr/bin/pygrub) (maxmem 256) (memory 256) (shadow_memory 0) (cpu_weight 256) (cpu_cap 0) (features ) (on_xend_start ignore) (on_xend_stop ignore) (start_time 1186750459.99) (cpu_time 42.149213663) (image (linux (kernel ) (rtc_timeoffset 0) (notes (FEATURES 'writable_page_tables|writable_descriptor_tables|auto_translated_physmap|pae_pgdir_above_4gb|supervisor_mode_kernel' ) (VIRT_BASE 18446744071562067968) (GUEST_VERSION 2.6) (PADDR_OFFSET 18446744071562067968) (GUEST_OS linux) (HYPERCALL_PAGE 18446744071564189696) (LOADER generic) (ENTRY 18446744071564165120) (XEN_VERSION xen-3.0) ) ) ) (status 0) (device (vif (bridge eth0) (uuid e223e178-307c-c4c7-ea73-a97c1cb1f352) (script vif-bridge) (mac 00:16:3e:77:67:a4) (type netfront) (backend 0) ) ) (device (vbd (uuid 307c7ab8-fe8f-9a5f-ce29-a92f40961294) (bootable 1) (driver paravirtualised) (dev xvda:disk) (uname phy:/dev/vgmirror/sequoia1) (mode w) (backend 0) ) ) ) (domain (on_crash restart) (uuid e173c567-1526-4233-357b-780b021e6a90) (bootloader_args ) (vcpus 1) (name sequoia2) (on_poweroff destroy) (on_reboot restart) (bootloader /usr/bin/pygrub) (maxmem 256) (memory 256) (shadow_memory 0) (cpu_weight 256) (cpu_cap 0) (features ) (on_xend_start ignore) (on_xend_stop ignore) (start_time 1186750470.25) (cpu_time 13.912441171) (image (linux (kernel ) (rtc_timeoffset 0) (notes (FEATURES 'writable_page_tables|writable_descriptor_tables|auto_translated_physmap|pae_pgdir_above_4gb|supervisor_mode_kernel' ) (VIRT_BASE 18446744071562067968) (GUEST_VERSION 2.6) (PADDR_OFFSET 18446744071562067968) (GUEST_OS linux) (HYPERCALL_PAGE 18446744071564189696) (LOADER generic) (ENTRY 18446744071564165120) (XEN_VERSION xen-3.0) ) ) ) (status 0) (device (vif (bridge eth0) (uuid 2d815d05-ca34-ec49-6569-55de7d120e11) (script vif-bridge) (mac 00:16:3e:6c:81:cc) (type netfront) (backend 0) ) ) (device (vbd (uuid 2092a638-b6d0-e080-9bf1-fe670bf09332) (bootable 1) (driver paravirtualised) (dev xvda:disk) (uname phy:/dev/vgmirror/sequoia2) (mode w) (backend 0) ) ) ) (domain (on_crash restart) (uuid acb23512-c9b3-425c-da36-305fcf3fe507) (bootloader_args ) (vcpus 1) (name svn) (on_poweroff destroy) (on_reboot restart) (bootloader /usr/bin/pygrub) (maxmem 256) (memory 256) (shadow_memory 0) (cpu_weight 256) (cpu_cap 0) (features ) (on_xend_start ignore) (on_xend_stop ignore) (start_time 1186767666.96) (cpu_time 0.0) (image (linux (kernel ) (notes (FEATURES 'writable_page_tables|writable_descriptor_tables|auto_translated_physmap|pae_pgdir_above_4gb|supervisor_mode_kernel' ) (VIRT_BASE 18446744071562067968) (GUEST_VERSION 2.6) (PADDR_OFFSET 18446744071562067968) (GUEST_OS linux) (HYPERCALL_PAGE 18446744071564189696) (LOADER generic) (ENTRY 18446744071564165120) (XEN_VERSION xen-3.0) ) ) ) (status 0) (device (vif (bridge eth0) (uuid 9c84bbbf-1902-ca0c-82be-3711ed17d9d6) (script vif-bridge) (mac 00:16:3e:29:14:39) (type netfront) (backend 0) ) ) (device (vbd (uuid ec4d10f8-1f2e-3697-c3cb-80b3812a0abb) (bootable 1) (driver paravirtualised) (dev xvda:disk) (uname phy:/dev/vgmirror/svn) (mode w) (backend 0) ) ) ) (domain (on_crash restart) (uuid 9dfebc5f-d896-4a45-a582-90ae694bf659) (bootloader_args ) (vcpus 1) (name voip) (on_poweroff destroy) (on_reboot restart) (bootloader /usr/bin/pygrub) (maxmem 256) (memory 256) (shadow_memory 0) (cpu_weight 256) (cpu_cap 0) (features ) (on_xend_start ignore) (on_xend_stop ignore) (start_time 1190150117.73) (image (linux (kernel ) (notes (FEATURES 'writable_page_tables|writable_descriptor_tables|auto_translated_physmap|pae_pgdir_above_4gb|supervisor_mode_kernel' ) (VIRT_BASE 18446744071562067968) (GUEST_VERSION 2.6) (PADDR_OFFSET 18446744071562067968) (GUEST_OS linux) (HYPERCALL_PAGE 18446744071564189696) (LOADER generic) (SUSPEND_CANCEL 1) (ENTRY 18446744071564165120) (XEN_VERSION xen-3.0) ) ) ) (status 0) (device (vif (bridge eth0) (uuid e0a9a783-0900-fe40-58a6-8836720d12e6) (script vif-bridge) (mac 00:16:3e:0e:c7:a4) (type netfront) (backend 0) ) ) (device (vbd (uuid 346433b5-3650-928a-18da-ae6d792fc04a) (bootable 1) (driver paravirtualised) (dev xvda:disk) (uname phy:/dev/vgmirror/voip) (mode w) (backend 0) ) ) ) (domain (on_crash restart) (uuid 55999ca9-81c8-5d69-2496-c9d831657acc) (bootloader_args ) (vcpus 1) (name win2k3) (on_poweroff destroy) (on_reboot restart) (bootloader ) (maxmem 500) (memory 500) (shadow_memory 5) (cpu_weight 256) (cpu_cap 0) (features ) (on_xend_start ignore) (on_xend_stop ignore) (start_time 1186938973.43) (cpu_time 368.276225507) (image (hvm (kernel /usr/lib/xen/boot/hvmloader) (acpi 1) (apic 1) (boot c) (device_model /usr/lib64/xen/bin/qemu-dm) (pae 1) (rtc_timeoffset 0) (usb 1) (notes (SUSPEND_CANCEL 1)) ) ) (status 0) (device (vif (bridge eth0) (uuid d942e375-953a-f348-f679-a81fd6550dca) (script vif-bridge) (mac 00:16:3e:49:4c:4d) (type netfront) (backend 0) ) ) (device (vbd (uuid 4ef21b4e-a4d1-0282-e664-a02670006d28) (bootable 1) (driver paravirtualised) (dev hda:disk) (uname phy:/dev/vgmirror/lv-w2k3test) (mode w) (backend 0) ) ) (device (vkbd (uuid e08cfb5c-eeb3-1c9f-0830-3e397e4a2be3) (backend 0))) (device (vfb (vncunused 1) (type vnc) (uuid fde92b46-63fc-c3ad-e62f-3c66605e9f6b) ) ) )
Excellant, your 'win2k' HVM guest is definitely suffering from the problems described in bug 296061. Notice the prescense of '(type netfront)' which is bogus for an HVM guest, causing the NIC to disappear when booted. (device (vif (bridge eth0) (uuid d942e375-953a-f348-f679-a81fd6550dca) (script vif-bridge) (mac 00:16:3e:49:4c:4d) (type netfront) (backend 0) ) ) I'll prepare an update for F7 with the fix.
Just to confirm, I also see (type netfront): (device (vif (bridge eth0) (uuid 8f62a7df-52af-7295-2694-8eea6343fbde) (script vif-bridge) (mac 00:16:3e:2c:5c:e0) (type netfront) (backend 0) ) )
Fix built into xen-3.1.0-3.fc7 NB, it will not automatically fix existing guests. After installing this update, ensure that XenD is restarted (service xend restart), then for each existing fullyvirt guest you will need to remove the network card, and re-add it. This can be accomplished with virsh, or virt-manager.
Downloaded and installed -3.fc7 xen and xen-libs from koji, installed both, restarted xend, win2k3 domU not running, tried to remove VNIC using virsh detach-interface win2k3 bridge --mac 00:16:3e:49:4c:4d but NIC didn't get removed, if I use an incorrect MAC address then virsh notices and complains, also tried without specifying MAC at all, I know I could dumpxml the VM, undefine it and then create it again from the XML file, but am I missing something about detach-interface?
The attach/detach commands for only for hot-plug/unplug of a running guest - they don't change the underlying config. To read/change the config use the dumpxml/define commands. Define once to remove it, and then define it again to add the NIC back
xen-3.1.0-4.fc7 has been pushed to the Fedora 7 testing repository. If problems still persist, please make note of it in this bug report.
Sorry took a while before I had an opportunity to reboot the dom0, can confirm that the NIC of the win2k3 HVM domU survived.
xen-3.1.0-6.fc7 has been pushed to the Fedora 7 testing repository. If problems still persist, please make note of it in this bug report.
xen-3.1.0-6.fc7 has been pushed to the Fedora 7 stable repository. If problems still persist, please make note of it in this bug report.