For a few weeks I run in this problem too. Unfortunately, I cannot reproduce it on every day. There are days where it works out-of-the-box and there are days like today. Using the iso-image of ipxe, it works.
I debugged the tap-network device with tcpdump while booting and find out that
- stock ipxe send one dhcp request and got one answer, yet no ip and no booting
- cd-based ipxe send multiple (identical) dhcp requests and got multiple (identitical) answers back. Then it boots fine.
I was able to replace ipxe in Proxmox itself and will report it upstream:
- Clone http://git.ipxe.org/ipxe.git
- build virt-net.rom
make bin/virtio-net.rom
- copy to proxmox:
scp bin/virtio-net.rom proxmox:/usr/share/kvm/pxe-virtio.rom
Of course this does not survive a package update.
I debugged the tap-network device with tcpdump while booting and find out that
- stock ipxe send one dhcp request and got one answer, yet no ip and no booting
- cd-based ipxe send multiple (identical) dhcp requests and got multiple (identitical) answers back. Then it boots fine.
I was able to replace ipxe in Proxmox itself and will report it upstream:
- Clone http://git.ipxe.org/ipxe.git
- build virt-net.rom
make bin/virtio-net.rom
- copy to proxmox:
scp bin/virtio-net.rom proxmox:/usr/share/kvm/pxe-virtio.rom
Of course this does not survive a package update.