is there a way to tell the Windows DHCP-Client not to send along this useless UID parameter with its DHCP requests?
Thing is: We have dual boot machines (Windows and Linux). When Windows gets started first it gets the lease based on a UID that it sends along. Subsequent Linux DHCP requests get a new lease because the DHCP client there - as the rest of the world excluding Windows - doesn't send a UID. The DHCP protocol allows this and if there's a lease with UID, it's preferred and the MAC address isn't even considered.
Our DHCP server has a configuration option to ignore the UID and handle requests only based on the mac address. This however is a violation of the DHCP protocol and therefor I would really be painfull to change this, even though it would most probably not do any harm.
A quick google search held nothing but one mailing list / forum conversation in which some Microsoft guy actually told the topic starter to fiddle with the DHCP server or to reconfigure the DCHP clients to send the same UID as Windows does.
I don't understand the "painful" part (mostly where exactly its going to cause pain). I am assuming that UID stands for "unique identifier". The MAC address IS a unique identifier and a duplicate is something you will rarely if ever see. There is no harm in doing this.
This behavior of windows is by design and in accordance with the spec. Until the linux DHCP clients come up to 2131 spec (it's only been 15 years which is nothing in *nix time) your best bet is to set your DHCP server to ignore the client identifier and instead rely on the chaddr field (essentially reverting it to rfc 1541 behavior). You cannot remove the UID field from the windows client.
No
This is possible for Windows 8.1 with the November 2014 update rollup and Windows 10: https://support.microsoft.com/en-us/kb/3004537
I would put that rule in the category of crossing a deserted street a few meters left a pedestrian crossing.
If the client is not sending an UID or the server is ignoring it should make no difference in my opinion. The windows client asks for an IP and gets one. How can it tell on which grounds the server selects it?
Also, it is much easier to change one server than all the clients.