[gPXE] DHCP Client ID in gPXE 1.0.0?
Steven Shiau
steven at nchc.org.tw
Wed Mar 17 03:17:32 EDT 2010
Hi,
Is DHCP client ID of gPXE different from that of etherboot and PXE?
It looks different. I did a test about this, and the machine got a
different IP address if gPXE, instead of Etherboot or PXE, was used to boot.
This is how I tested it:
1. In the dhcpd.conf of dhcp3-server (3.1.1-6+lenny4) on my Debian Lenny
box, the following lines were added:
====================================================
log(info, concat("Client ",
binary-to-ascii(16, 8, ":", substring(hardware, 1, 6)),
" requests ",
binary-to-ascii(16, 8, ":", option dhcp-parameter-request-list),
" - ",
pick-first-value(option vendor-class-identifier, "no vendor-id"),
" - ",
pick-first-value(option dhcp-client-identifier, "no
dhcp-client-id"))
);
====================================================
Then I tried to boot the same client via gPXE 1.0.0, Etherboot 5.4.4,
and PXE respectively. The results are:
A. Result for gPXE 1.0.0 (gpxe-1.0.0-gpxe.iso file was got from
http://rom-o-matic.net/gpxe/gpxe-1.0.0/contrib/rom-o-matic, the default
values were used)
The log file showed:
==================================================
Mar 17 14:57:23 drbldbn dhcpd: Client 0:50:56:1:1:1 requests
1:3:6:7:c:f:11:2b:3c:42:43:af:cb - PXEClient:Arch:00000:UNDI:002001 - ^A
Mar 17 14:57:23 drbldbn dhcpd: DHCPDISCOVER from 00:50:56:01:01:01 via
vmnet1
Mar 17 14:57:24 drbldbn dhcpd: DHCPOFFER on 192.168.120.2 to
00:50:56:01:01:01 via vmnet1
==================================================
//NOTE// In the DHCP client ID part, you can see there is "^A", i.e.
it's not empty.
B. Result for etherboot 5.4.4 (eb-5.4.4-pcnet32.iso file was got from
http://rom-o-matic.net/etherboot/etherboot-5.4.4/contrib/rom-o-matic,
the default values were used)
==================================================
Mar 17 15:02:59 drbldbn dhcpd: Client 0:50:56:1:1:1 requests 1:3:c:2b -
Etherboot-5.4 - no dhcp-client-id
Mar 17 15:02:59 drbldbn dhcpd: DHCPDISCOVER from 00:50:56:01:01:01 via
vmnet1
Mar 17 15:02:59 drbldbn dhcpd: DHCPOFFER on 192.168.120.1 to
00:50:56:01:01:01 via vmnet1
==================================================
Here you can see the DHCP client ID is empty, so in the server's log
file "no dhcp-client-id" was printed.
C. Results for PXE (the PXE function in VMWare workstation 6.5).
==================================================
Mar 17 15:04:23 drbldbn dhcpd: Client 0:50:56:1:1:1 requests
1:2:3:5:6:b:c:d:f:10:11:12:2b:36:3c:43:80:81:82:83:84:85:86:87 -
PXEClient:Arch:00000:UNDI:002001 - no dhcp-client-id
Mar 17 15:04:23 drbldbn dhcpd: DHCPDISCOVER from 00:50:56:01:01:01 via
vmnet1
Mar 17 15:04:23 drbldbn dhcpd: DHCPOFFER on 192.168.120.1 to
00:50:56:01:01:01 via vmnet1
==================================================
Again, here you can see the DHCP client ID is empty, so in the server's
log file "no dhcp-client-id" was printed.
So apparently that for gPXE, the DHCP Client ID is not the same with
that of Etherboot or PXE. Is that done on purpose? Is there any method I
can try to make it the same with that of Etherboot or PXE? Otherwise the
gPXE client will request an IP address first, and after booting into
GNU/Linux, the same machine will request another, different IP address
(since the DHCP client ID normally is empty for GNU/Linux). Sometimes
this is really annoying.
Thanks.
Steven.
--
Steven Shiau <steven _at_ nchc org tw> <steven _at_ stevenshiau org>
National Center for High-performance Computing, Taiwan.
http://www.nchc.org.tw
Public Key Server PGP Key ID: 1024D/9762755A
Fingerprint: A2A1 08B7 C22C 3D06 34DB F4BC 08B3 E3D7 9762 755A
More information about the gPXE
mailing list