qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [Bug 1543163] Re: VMs unable to boot from network with e100


From: John Doe
Subject: [Qemu-devel] [Bug 1543163] Re: VMs unable to boot from network with e1000 since 2.2
Date: Sun, 07 Aug 2016 18:36:01 -0000

Probably the same issue in different scenario: DHCP server is running on
the host machine (VMs use virtual NICs connected to a bridge) and is
also configured to do PXE, which works, but only when VMs are launched
in BIOS mode. When launched in UEFI mode using Tianocore, they fail. Now
the interesting bit is again provided by Wireshark:


BIOS mode
*********
1) VM sends DHCP discover, flag 0x0000 (Unicast)
2) DHCP replies with an offer, also 0x0000 (Unicast)
3) normal process continues


UEFI MODE
********
1) VM sends DHCP discover, flag 0x8000 (Broadcast)
2) DHCP replies with an offer, also 0x8000 (Broadcast)
3) VM ignores the offer
4) goto 1)

-- 
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1543163

Title:
  VMs unable to boot from network with e1000 since 2.2

Status in QEMU:
  New

Bug description:
  With KVM/QEMU version 1.4, using e1000 NIC, virtual machines boot from
  network alright; they get an IP from DHCP server (machine A), then
  connect to Microsoft System Center (machine B) and proceed to boot
  into Windows PE, install images etc.

  However, with versions at least 2.2 and 2.5, using same NIC, virtual
  machines fail to boot from network; they still get an IP from A, but
  then fail "contacting B using gateway (0.0.0.0). Different NICs do not
  help except for i82551, which however causes problems further down the
  road (presumably because there is no driver for that card in PE (based
  on Windows 7/8/10)).

  Note that actual physical machines work.

  Wireshark reveals this:

  QEMU 1.4 + Intel e1000
  **********************
  1) client sends DHCP discover
  2) machine A answers, offers an IP, gateway and itself as next server
  3) machine B answers, offers no IP, but gateway and itself as next server
  4) client requests the IP
  5) machine A ACKs
  6) client sends unicast request for ??? to B
  7) B offers (unicast) a boot file (some .com)
  8) client sends another unicast request for ??? to B
  9) B again offers the boot file
  (then they chat a bit, B offers another file, client downloads some stuff via 
TFTP etc.)

  
  QEMU 2.2/2.5 + Intel e1000
  **************************
  1) client sends DHCP discover
  2) machine A answers, offers an IP, gateway and itself as next server
  3) machine B answers, offers no IP, but gateway and itself as next server
  4) client requests the IP
  5) machine A ACKs
  6) client sends _broadcast_ request for ??? to B
  7) B offers (likewise broadcast) a boot file
  8) client sends another request, this time unicast and claims "Client IP 
address = 0.0.0.0"
  (and it basically hangs)

  
  So, since some time after 1.4, QEMUlated machines with otherwise trusty e1000 
can no longer boot from network and it might be due to different behaviour.

To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1543163/+subscriptions



reply via email to

[Prev in Thread] Current Thread [Next in Thread]