Post Reply 
 
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
client identifier
2012-01-26, 17:11
Post: #1
client identifier
Hi,

I try to install CentOS
ipxe is getting a lease:

Code:
lease 10.10.11.215 {
  starts 4 2012/01/26 15:35:37;
  ends 4 2012/01/26 21:35:37;
  binding state active;
  next binding state free;
  hardware ethernet XX:XX:XX:XX:XX:XX;
  uid "YYY";
  set vendorclass = "PXEClient:Arch:00000:UNDI:002001";
}

I boot the kernel and after that the network interface is reset by the installation routine, it gets a new lease

Code:
lease 10.10.11.213 {
  starts 4 2012/01/26 15:40:56;
  ends 4 2012/01/26 21:40:56;
  binding state active;
  next binding state free;
  hardware ethernet XX:XX:XX:XX:XX:XX;
  set vendorclass = "anaconda-Linux 2.6.32-220.el6.i686 i686";
}

You see what happens? Another IP!
I believe it is because iPXE is setting a Client Identifier (the uid "YYY") and Linux Installation does not. One Problem with that is that some post installation Tasks are not acting as expected because they are IP based.

Is it possible to disable the Client Identifier like "set client-identifier nil" or something or a compile time option to disable it?
Find all posts by this user
Quote this message in a reply
2012-01-26, 21:20
Post: #2
RE: client identifier
A simple recursive search identified the two files containing the string DHCP_CLIENT_ID:

Code:
src/net/udp/dhcp.c
src/include/ipxe/dhcp.h

If you have a look and try to disable some code in one of those you might get lucky. Line 1024 of dhcp.c seems quite interesting. Unfortunately there is no simple config flag to disable.
Visit this user's website Find all posts by this user
Quote this message in a reply
2012-03-20, 19:39
Post: #3
RE: client identifier
I've encountered this in a different context.

One easy way to stop iPXE from doing UID-present DHCP call is to 'skip' it entirely. Use undionly.kkpxe, and use the use-cache 1 flag in your .ipxe script to keep the IP info from the PXE stack DHCP response packet instead of making a new request. PXE doesn't support UID, so will have the MAC-only lease assigned to it, which the linux install will then re-use.

More linux distros are including UID now, so if this matters in a lab with many reboots it can be helpful to know that you can disable UID (Client Identifier) support in all the common dhcpc implementations.

E.g. udhcpc has ' -C ' to disable client identifier.
Find all posts by this user
Quote this message in a reply
Post Reply 




User(s) browsing this thread: 3 Guest(s)