iPXE uses a DHCP User Class (option 77) value of “iPXE
” to identify itself to the DHCP server as an iPXE client. This allows the DHCP server to customise its response for iPXE clients. For example, a DHCP server could instruct all iPXE clients to boot from a SAN.
One important practical application of the DHCP User Class is to break the infinite loop when using PXE chainloading. In this use case, the DHCP server is set to hand out the iPXE binary undionly.kpxe as the default boot filename for legacy PXE clients, with the “real” boot parameters being handed out only for requests from iPXE clients.
For more complex configurations, you may wish to customise the DHCP User Class sent by iPXE. You can do this by changing the user-class
setting. For example, an embedded script might contain:
#!ipxe set user-class ThinClient autoboot
This script would cause the DHCP requests sent by iPXE to specify a User Class of “ThinClient
” rather than the default “iPXE
”.