Can't PXE boot VM with a network interface using a macvtap direct connection

Solution Verified - Updated -


  • RHN Satellite with provisioning and PXE capabilities
  • RHEL6.3 hypervisor with RHEL6.3 VM guests


  • We configured satellite with cobblerd+tftp for provisioning, and our VMs cannot PXE boot giving timeout while it download "pxelinux.0"
  • The VMs are able to get a DHCP address ok, but can't download the pxelinux.0 file.
  • tftp works fine with "tftp tftp-server -c get pxelinux.0" for physical machines
  • We tried with virtio, e1000 and rtl8139 network interfaces all give the same error.
  • We have verified DNS and DHCP are configured correctly

  • Error as seen when booting the VM:

Waiting for link-up on net0... ok
DHCP (net0 52:54:00:93:76:bb).... ok
net0: gw
Booting from filename "pxelinux.0"
tftp:// Connection timed out (0x4c126035)
Could not load tftp:// Connection timed out (0x4c126035)
No more network devices


Until an official resolution is released a workaround is to disable TX checksum offloading on the Satellite.

If eth0 is used as the outgoing interface on the Satellite the command to turn off TX offloading would be:

ethtool -K eth0 tx off

Root Cause
"PXE boot issue with macvtap"

Diagnostic Steps

  • Manually downloading the pxelinux.0 from the VM BIOS gPXE shell (accessed by pressing Ctrl-B) shows the following error:
gPXE> dhcp net0
DHCP (net0 52:54:00:56:4e:1f).... ok
gPXE> kernel tftp://
tftp:// Connection timed out (0x4c126035)
Could not fetch tftp:// Connection timed out (0x4c126035) 

  • Gather a network trace from the satellite showing the traffic between Satellite and VM guest:
# tcpdump -i eth0 -s0 -w network-trace.pcap

No.     Time        Source                Destination           Protocol Info
     80 9.263243            DHCP     DHCP Offer    - Transaction ID 0x9376bb
    118 10.250118            DHCP     DHCP Offer    - Transaction ID 0x9376bb
    125 12.227488            DHCP     DHCP ACK      - Transaction ID 0x9376bb
    131 13.380343            TFTP     Read Request, File: pxelinux.0\000, Transfer type: octet\000
    132 13.384756            TFTP     Option Acknowledgement
    135 14.386168            TFTP     Option Acknowledgement
    136 14.918302            TFTP     Read Request, File: pxelinux.0\000, Transfer type: octet\000
    137 14.919102            TFTP     Option Acknowledgement
    142 15.920294            TFTP     Option Acknowledgement
    155 16.388359            TFTP     Option Acknowledgement
    159 17.922434            TFTP     Option Acknowledgement
    160 17.994094            TFTP     Read Request, File: pxelinux.0\000, Transfer type: octet\000
    161 17.994958            TFTP     Option Acknowledgement
    165 18.996212            TFTP     Option Acknowledgement
    168 20.392477            TFTP     Option Acknowledgement
    204 21.000954            TFTP     Option Acknowledgement
    607 21.926674            TFTP     Option Acknowledgement
    612 25.004966            TFTP     Option Acknowledgement
    631 28.400775            TFTP     Option Acknowledgement
    636 29.934933            TFTP     Option Acknowledgement

From the tcpdump output the satellite ( is receiving the tftp 'Read-Request' for pxelinux.0 from the VM ( from DHCP) and the satellite is responding with an 'Option-Acknowledge', however the bug causes the response to have an incorrect checksum. Thus the VM keeps doing "Read-Request" indicating that it doesn't receive the packets from the satellite.

From the /etc/libvirt/qemu/VM.xml file, the VM is using a macvtap direct network connection:

    <interface type='direct'>
      <mac address='52:54:00:93:76:af'/>
      <source dev='bond2' mode='bridge'/>
      <model type='virtio'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>

This solution is part of Red Hat’s fast-track publication program, providing a huge library of solutions that Red Hat engineers have created while supporting our customers. To give you the knowledge you need the instant it becomes available, these articles may be presented in a raw and unedited form.