Bug in iPXE while booting DHCP

Florent

Member
Apr 3, 2012
91
4
8
Hi all,

From a few weeks, I have a problem booting VMs via PXE, using DHCP.

DHCP does not work if network card type is Virtio or Intel e1000.

But DHCP is OK if type is RTL8139.

In the first case, I can see DHCPDISCOVER (from iPXE) and DHCPOFFER (from my DHCP server) on the interface of the VM. But nothing else and it ends with a Connection timed out.

All is working fine if I set network card to RTL8139.

Another strange thing, if I run a tcpdump on the host, while VM is looking for DHCP, it ends to a Connection timed out even if type is RTL8139 ! But it works if no tcpdump is running.

Have you encounter this ? Is it a known bug ?

Thank you.
 
I think problem occurs only on 3.10 kernel, but not on 2.6.32 ;)

Can someone check it ?

I use kernel bridge between VMs, and DHCP server and VM are on the same host.
 
Someone can confirm please ? I don't know if it is Proxmox, KVM, Kernel related...

I have the same problem on 2 clusters
 
For information, I solved this problem moving PVE network (cman...) from the network of VM (my DHCP). Using 2 different networks is OK.
 
I'm having this problem too since I've switched to 3.10 kernel. How did you move your PVE network to another physical network? I might try that and see if it helps.
 
I'm having this problem too since I've switched to 3.10 kernel. How did you move your PVE network to another physical network? I might try that and see if it helps.

Hi, thank you for pointing this problem too ! I thought I was alone.

In fact I use "virtual networks" (i.e. VPN), so I created a new network for PVE. I have network bridges (like vmbr10, vmbr11..) with a tap device on it. And tap device is a meshed VPN (Tinc).

Then to switch from a network to another, just replace IP address of $(hostname) in /etc/hosts, then restart pve services on all nodes (from memory, pve-cluster and pvestats). It is absolutely not guaranted but it worked for me. I know that officiel team does not like when we change IP of a node.
 
Hi, thank you for pointing this problem too ! I thought I was alone.

In fact I use "virtual networks" (i.e. VPN), so I created a new network for PVE. I have network bridges (like vmbr10, vmbr11..) with a tap device on it. And tap device is a meshed VPN (Tinc).

Then to switch from a network to another, just replace IP address of $(hostname) in /etc/hosts, then restart pve services on all nodes (from memory, pve-cluster and pvestats). It is absolutely not guaranted but it worked for me. I know that officiel team does not like when we change IP of a node.

Sounds a bit scary but might work because pvecm status and clustat shows the nodes' names and not the actual IP address. I'll give it a try and let you know how it went. Thanks!
 
Code:
service cman restart; service pve-cluster restart; service pvestatd restart

This worked for me ;)
 
Code:
service cman restart; service pve-cluster restart; service pvestatd restart

This worked for me ;)

Thanks! It appears to be that cman has to be on another physical network. In my case I've tried with a different network inteface but same VLAN and it didn't work.
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!