iPXE
Data Structures | Macros | Enumerations
DHCP option tags

Data Structures

struct  dhcp_pxe_boot_server
 PXE boot server. More...
 
struct  dhcp_pxe_boot_menu
 PXE boot menu. More...
 
struct  dhcp_pxe_boot_menu_prompt
 PXE boot menu prompt. More...
 
struct  dhcp_pxe_boot_menu_item
 PXE boot menu item. More...
 
struct  dhcp_client_id
 Client identifier. More...
 
struct  dhcp_client_architecture
 DHCP client architecture. More...
 
struct  dhcp_client_uuid
 UUID client identifier. More...
 
struct  dhcp_netdev_desc
 Network device descriptor. More...
 

Macros

#define DHCP_PAD   0
 Padding. More...
 
#define DHCP_MIN_OPTION   1
 Minimum normal DHCP option. More...
 
#define DHCP_SUBNET_MASK   1
 Subnet mask. More...
 
#define DHCP_ROUTERS   3
 Routers. More...
 
#define DHCP_DNS_SERVERS   6
 DNS servers. More...
 
#define DHCP_LOG_SERVERS   7
 Syslog servers. More...
 
#define DHCP_HOST_NAME   12
 Host name. More...
 
#define DHCP_DOMAIN_NAME   15
 Domain name. More...
 
#define DHCP_ROOT_PATH   17
 Root path. More...
 
#define DHCP_MTU   26
 Maximum transmission unit. More...
 
#define DHCP_NTP_SERVERS   42
 NTP servers. More...
 
#define DHCP_VENDOR_ENCAP   43
 Vendor encapsulated options. More...
 
#define DHCP_PXE_DISCOVERY_CONTROL   DHCP_ENCAP_OPT ( DHCP_VENDOR_ENCAP, 6 )
 PXE boot server discovery control. More...
 
#define DHCP_PXE_BOOT_SERVER_MCAST   DHCP_ENCAP_OPT ( DHCP_VENDOR_ENCAP, 7 )
 PXE boot server multicast address. More...
 
#define DHCP_PXE_BOOT_SERVERS   DHCP_ENCAP_OPT ( DHCP_VENDOR_ENCAP, 8 )
 PXE boot servers. More...
 
#define DHCP_PXE_BOOT_MENU   DHCP_ENCAP_OPT ( DHCP_VENDOR_ENCAP, 9 )
 PXE boot menu. More...
 
#define DHCP_PXE_BOOT_MENU_PROMPT   DHCP_ENCAP_OPT ( DHCP_VENDOR_ENCAP, 10 )
 PXE boot menu prompt. More...
 
#define DHCP_PXE_BOOT_MENU_ITEM   DHCP_ENCAP_OPT ( DHCP_VENDOR_ENCAP, 71 )
 PXE boot menu item. More...
 
#define DHCP_REQUESTED_ADDRESS   50
 Requested IP address. More...
 
#define DHCP_LEASE_TIME   51
 Lease time. More...
 
#define DHCP_OPTION_OVERLOAD   52
 Option overloading. More...
 
#define DHCP_OPTION_OVERLOAD_FILE   1
 The "file" field is overloaded to contain extra DHCP options. More...
 
#define DHCP_OPTION_OVERLOAD_SNAME   2
 The "sname" field is overloaded to contain extra DHCP options. More...
 
#define DHCP_MESSAGE_TYPE   53
 DHCP message type. More...
 
#define DHCPNONE   0
 
#define DHCPDISCOVER   1
 
#define DHCPOFFER   2
 
#define DHCPREQUEST   3
 
#define DHCPDECLINE   4
 
#define DHCPACK   5
 
#define DHCPNAK   6
 
#define DHCPRELEASE   7
 
#define DHCPINFORM   8
 
#define DHCP_SERVER_IDENTIFIER   54
 DHCP server identifier. More...
 
#define DHCP_PARAMETER_REQUEST_LIST   55
 Parameter request list. More...
 
#define DHCP_MAX_MESSAGE_SIZE   57
 Maximum DHCP message size. More...
 
#define DHCP_VENDOR_CLASS_ID   60
 Vendor class identifier. More...
 
#define DHCP_VENDOR_PXECLIENT(arch, ndi)
 Vendor class identifier for PXE clients. More...
 
#define DHCP_VENDOR_PXECLIENT_ARCH(arch)
 Vendor class identifier architecture for PXE clients. More...
 
#define DHCP_VENDOR_PXECLIENT_UNDI(type, major, minor)
 Vendor class identifier UNDI version for PXE clients. More...
 
#define DHCP_VENDOR_PXECLIENT_UNDI_VERSION(version)
 
#define DHCP_CLIENT_ID   61
 Client identifier. More...
 
#define DHCP_TFTP_SERVER_NAME   66
 TFTP server name. More...
 
#define DHCP_BOOTFILE_NAME   67
 Bootfile name. More...
 
#define DHCP_USER_CLASS_ID   77
 User class identifier. More...
 
#define DHCP_CLIENT_ARCHITECTURE   93
 Client system architecture. More...
 
#define DHCP_CLIENT_NDI   94
 Client network device interface. More...
 
#define DHCP_CLIENT_UUID   97
 UUID client identifier. More...
 
#define DHCP_CLIENT_UUID_TYPE   0
 
#define DHCP_DOMAIN_SEARCH   119
 DNS domain search list. More...
 
#define DHCP_EB_ENCAP   175
 Etherboot-specific encapsulated options. More...
 
#define DHCP_EB_PRIORITY   DHCP_ENCAP_OPT ( DHCP_EB_ENCAP, 0x01 )
 Priority of this options block. More...
 
#define DHCP_EB_YIADDR   DHCP_ENCAP_OPT ( DHCP_EB_ENCAP, 0x02 )
 "Your" IP address More...
 
#define DHCP_EB_SIADDR   DHCP_ENCAP_OPT ( DHCP_EB_ENCAP, 0x03 )
 "Server" IP address More...
 
#define DHCP_EB_KEEP_SAN   DHCP_ENCAP_OPT ( DHCP_EB_ENCAP, 0x08 )
 Keep SAN drive registered. More...
 
#define DHCP_EB_SKIP_SAN_BOOT   DHCP_ENCAP_OPT ( DHCP_EB_ENCAP, 0x09 )
 Skip booting from SAN drive. More...
 
#define DHCP_EB_SCRIPTLET   DHCP_ENCAP_OPT ( DHCP_EB_ENCAP, 0x51 )
 Scriptlet. More...
 
#define DHCP_EB_SYSLOGS_SERVER   DHCP_ENCAP_OPT ( DHCP_EB_ENCAP, 0x55 )
 Encrypted syslog server. More...
 
#define DHCP_EB_TRUST   DHCP_ENCAP_OPT ( DHCP_EB_ENCAP, 0x5a )
 Trusted root certficate fingerprints. More...
 
#define DHCP_EB_CERT   DHCP_ENCAP_OPT ( DHCP_EB_ENCAP, 0x5b )
 Client certficate. More...
 
#define DHCP_EB_KEY   DHCP_ENCAP_OPT ( DHCP_EB_ENCAP, 0x5c )
 Client private key. More...
 
#define DHCP_EB_CROSS_CERT   DHCP_ENCAP_OPT ( DHCP_EB_ENCAP, 0x5d )
 Cross-signed certificate source. More...
 
#define DHCP_EB_NO_PXEDHCP   DHCP_ENCAP_OPT ( DHCP_EB_ENCAP, 0xb0 )
 Skip PXE DHCP protocol extensions such as ProxyDHCP. More...
 
#define DHCP_EB_BUS_ID   DHCP_ENCAP_OPT ( DHCP_EB_ENCAP, 0xb1 )
 Network device descriptor. More...
 
#define DHCP_EB_USE_CACHED   DHCP_ENCAP_OPT ( DHCP_EB_ENCAP, 0xb2 )
 Use cached network settings (obsolete; do not reuse this value) More...
 
#define DHCP_EB_SAN_RETRY   DHCP_ENCAP_OPT ( DHCP_EB_ENCAP, 0xbb )
 SAN retry count. More...
 
#define DHCP_EB_SAN_FILENAME   DHCP_ENCAP_OPT ( DHCP_EB_ENCAP, 0xbc )
 SAN filename. More...
 
#define DHCP_EB_SAN_DRIVE   DHCP_ENCAP_OPT ( DHCP_EB_ENCAP, 0xbd )
 SAN drive number. More...
 
#define DHCP_EB_USERNAME   DHCP_ENCAP_OPT ( DHCP_EB_ENCAP, 0xbe )
 Username. More...
 
#define DHCP_EB_PASSWORD   DHCP_ENCAP_OPT ( DHCP_EB_ENCAP, 0xbf )
 Password. More...
 
#define DHCP_EB_REVERSE_USERNAME   DHCP_ENCAP_OPT ( DHCP_EB_ENCAP, 0xc0 )
 Reverse username. More...
 
#define DHCP_EB_REVERSE_PASSWORD   DHCP_ENCAP_OPT ( DHCP_EB_ENCAP, 0xc1 )
 Reverse password. More...
 
#define DHCP_EB_UID   DHCP_ENCAP_OPT ( DHCP_EB_ENCAP, 0xc2 )
 User ID. More...
 
#define DHCP_EB_GID   DHCP_ENCAP_OPT ( DHCP_EB_ENCAP, 0xc3 )
 Group ID. More...
 
#define DHCP_EB_VERSION   DHCP_ENCAP_OPT ( DHCP_EB_ENCAP, 0xeb )
 iPXE version number More...
 
#define DHCP_ISCSI_PRIMARY_TARGET_IQN   201
 iSCSI primary target IQN More...
 
#define DHCP_ISCSI_SECONDARY_TARGET_IQN   202
 iSCSI secondary target IQN More...
 
#define DHCP_ISCSI_INITIATOR_IQN   203
 iSCSI initiator IQN More...
 
#define DHCP_MAX_OPTION   254
 Maximum normal DHCP option. More...
 
#define DHCP_END   255
 End of options. More...
 

Enumerations

enum  dhcp_pxe_discovery_control { PXEBS_NO_BROADCAST = 1, PXEBS_NO_MULTICAST = 2, PXEBS_NO_UNKNOWN_SERVERS = 4, PXEBS_SKIP = 8 }
 PXE boot server discovery control bits. More...
 
enum  dhcp_client_architecture_values {
  DHCP_CLIENT_ARCHITECTURE_X86 = 0x0000, DHCP_CLIENT_ARCHITECTURE_PC98 = 0x0001, DHCP_CLIENT_ARCHITECTURE_IA64 = 0x0002, DHCP_CLIENT_ARCHITECTURE_ALPHA = 0x0003,
  DHCP_CLIENT_ARCHITECTURE_ARCX86 = 0x0004, DHCP_CLIENT_ARCHITECTURE_LC = 0x0005, DHCP_CLIENT_ARCHITECTURE_IA32 = 0x0006, DHCP_CLIENT_ARCHITECTURE_X86_64 = 0x0007,
  DHCP_CLIENT_ARCHITECTURE_XSCALE = 0x0008, DHCP_CLIENT_ARCHITECTURE_EFI = 0x0009, DHCP_CLIENT_ARCHITECTURE_ARM32 = 0x000a, DHCP_CLIENT_ARCHITECTURE_ARM64 = 0x000b,
  DHCP_CLIENT_ARCHITECTURE_RISCV32 = 0x0019, DHCP_CLIENT_ARCHITECTURE_RISCV64 = 0x001b, DHCP_CLIENT_ARCHITECTURE_RISCV128 = 0x001d, DHCP_CLIENT_ARCHITECTURE_MIPS32 = 0x0021,
  DHCP_CLIENT_ARCHITECTURE_MIPS64 = 0x0022, DHCP_CLIENT_ARCHITECTURE_SUNWAY32 = 0x0023, DHCP_CLIENT_ARCHITECTURE_SUNWAY64 = 0x0024, DHCP_CLIENT_ARCHITECTURE_LOONG32 = 0x0025,
  DHCP_CLIENT_ARCHITECTURE_LOONG64 = 0x0027
}
 DHCP client architecture values. More...
 

Detailed Description

Macro Definition Documentation

◆ DHCP_PAD

#define DHCP_PAD   0

Padding.

This tag does not have a length field; it is always only a single byte in length.

Definition at line 60 of file dhcp.h.

◆ DHCP_MIN_OPTION

#define DHCP_MIN_OPTION   1

Minimum normal DHCP option.

Definition at line 63 of file dhcp.h.

◆ DHCP_SUBNET_MASK

#define DHCP_SUBNET_MASK   1

Subnet mask.

Definition at line 66 of file dhcp.h.

◆ DHCP_ROUTERS

#define DHCP_ROUTERS   3

Routers.

Definition at line 69 of file dhcp.h.

◆ DHCP_DNS_SERVERS

#define DHCP_DNS_SERVERS   6

DNS servers.

Definition at line 72 of file dhcp.h.

◆ DHCP_LOG_SERVERS

#define DHCP_LOG_SERVERS   7

Syslog servers.

Definition at line 75 of file dhcp.h.

◆ DHCP_HOST_NAME

#define DHCP_HOST_NAME   12

Host name.

Definition at line 78 of file dhcp.h.

◆ DHCP_DOMAIN_NAME

#define DHCP_DOMAIN_NAME   15

Domain name.

Definition at line 81 of file dhcp.h.

◆ DHCP_ROOT_PATH

#define DHCP_ROOT_PATH   17

Root path.

Definition at line 84 of file dhcp.h.

◆ DHCP_MTU

#define DHCP_MTU   26

Maximum transmission unit.

Definition at line 87 of file dhcp.h.

◆ DHCP_NTP_SERVERS

#define DHCP_NTP_SERVERS   42

NTP servers.

Definition at line 90 of file dhcp.h.

◆ DHCP_VENDOR_ENCAP

#define DHCP_VENDOR_ENCAP   43

Vendor encapsulated options.

Definition at line 93 of file dhcp.h.

◆ DHCP_PXE_DISCOVERY_CONTROL

#define DHCP_PXE_DISCOVERY_CONTROL   DHCP_ENCAP_OPT ( DHCP_VENDOR_ENCAP, 6 )

PXE boot server discovery control.

Definition at line 96 of file dhcp.h.

◆ DHCP_PXE_BOOT_SERVER_MCAST

#define DHCP_PXE_BOOT_SERVER_MCAST   DHCP_ENCAP_OPT ( DHCP_VENDOR_ENCAP, 7 )

PXE boot server multicast address.

Definition at line 111 of file dhcp.h.

◆ DHCP_PXE_BOOT_SERVERS

#define DHCP_PXE_BOOT_SERVERS   DHCP_ENCAP_OPT ( DHCP_VENDOR_ENCAP, 8 )

PXE boot servers.

Definition at line 114 of file dhcp.h.

◆ DHCP_PXE_BOOT_MENU

#define DHCP_PXE_BOOT_MENU   DHCP_ENCAP_OPT ( DHCP_VENDOR_ENCAP, 9 )

PXE boot menu.

Definition at line 127 of file dhcp.h.

◆ DHCP_PXE_BOOT_MENU_PROMPT

#define DHCP_PXE_BOOT_MENU_PROMPT   DHCP_ENCAP_OPT ( DHCP_VENDOR_ENCAP, 10 )

PXE boot menu prompt.

Definition at line 140 of file dhcp.h.

◆ DHCP_PXE_BOOT_MENU_ITEM

#define DHCP_PXE_BOOT_MENU_ITEM   DHCP_ENCAP_OPT ( DHCP_VENDOR_ENCAP, 71 )

PXE boot menu item.

Definition at line 159 of file dhcp.h.

◆ DHCP_REQUESTED_ADDRESS

#define DHCP_REQUESTED_ADDRESS   50

Requested IP address.

Definition at line 177 of file dhcp.h.

◆ DHCP_LEASE_TIME

#define DHCP_LEASE_TIME   51

Lease time.

Definition at line 180 of file dhcp.h.

◆ DHCP_OPTION_OVERLOAD

#define DHCP_OPTION_OVERLOAD   52

Option overloading.

The value of this option is the bitwise-OR of zero or more DHCP_OPTION_OVERLOAD_XXX constants.

Definition at line 187 of file dhcp.h.

◆ DHCP_OPTION_OVERLOAD_FILE

#define DHCP_OPTION_OVERLOAD_FILE   1

The "file" field is overloaded to contain extra DHCP options.

Definition at line 190 of file dhcp.h.

◆ DHCP_OPTION_OVERLOAD_SNAME

#define DHCP_OPTION_OVERLOAD_SNAME   2

The "sname" field is overloaded to contain extra DHCP options.

Definition at line 193 of file dhcp.h.

◆ DHCP_MESSAGE_TYPE

#define DHCP_MESSAGE_TYPE   53

DHCP message type.

Definition at line 196 of file dhcp.h.

◆ DHCPNONE

#define DHCPNONE   0

Definition at line 197 of file dhcp.h.

◆ DHCPDISCOVER

#define DHCPDISCOVER   1

Definition at line 198 of file dhcp.h.

◆ DHCPOFFER

#define DHCPOFFER   2

Definition at line 199 of file dhcp.h.

◆ DHCPREQUEST

#define DHCPREQUEST   3

Definition at line 200 of file dhcp.h.

◆ DHCPDECLINE

#define DHCPDECLINE   4

Definition at line 201 of file dhcp.h.

◆ DHCPACK

#define DHCPACK   5

Definition at line 202 of file dhcp.h.

◆ DHCPNAK

#define DHCPNAK   6

Definition at line 203 of file dhcp.h.

◆ DHCPRELEASE

#define DHCPRELEASE   7

Definition at line 204 of file dhcp.h.

◆ DHCPINFORM

#define DHCPINFORM   8

Definition at line 205 of file dhcp.h.

◆ DHCP_SERVER_IDENTIFIER

#define DHCP_SERVER_IDENTIFIER   54

DHCP server identifier.

Definition at line 208 of file dhcp.h.

◆ DHCP_PARAMETER_REQUEST_LIST

#define DHCP_PARAMETER_REQUEST_LIST   55

Parameter request list.

Definition at line 211 of file dhcp.h.

◆ DHCP_MAX_MESSAGE_SIZE

#define DHCP_MAX_MESSAGE_SIZE   57

Maximum DHCP message size.

Definition at line 214 of file dhcp.h.

◆ DHCP_VENDOR_CLASS_ID

#define DHCP_VENDOR_CLASS_ID   60

Vendor class identifier.

Definition at line 217 of file dhcp.h.

◆ DHCP_VENDOR_PXECLIENT

#define DHCP_VENDOR_PXECLIENT (   arch,
  ndi 
)
Value:
'P', 'X', 'E', 'C', 'l', 'i', 'e', 'n', 't', ':', \
'A', 'r', 'c', 'h', ':', DHCP_VENDOR_PXECLIENT_ARCH ( arch ), \
':', 'U', 'N', 'D', 'I', ':', DHCP_VENDOR_PXECLIENT_UNDI ( ndi )
#define DHCP_VENDOR_PXECLIENT_UNDI(type, major, minor)
Vendor class identifier UNDI version for PXE clients.
Definition: dhcp.h:234
#define DHCP_VENDOR_PXECLIENT_ARCH(arch)
Vendor class identifier architecture for PXE clients.
Definition: dhcp.h:226

Vendor class identifier for PXE clients.

Definition at line 220 of file dhcp.h.

◆ DHCP_VENDOR_PXECLIENT_ARCH

#define DHCP_VENDOR_PXECLIENT_ARCH (   arch)
Value:
( '0' + ( ( (arch) / 10000 ) % 10 ) ), \
( '0' + ( ( (arch) / 1000 ) % 10 ) ), \
( '0' + ( ( (arch) / 100 ) % 10 ) ), \
( '0' + ( ( (arch) / 10 ) % 10 ) ), \
( '0' + ( ( (arch) / 1 ) % 10 ) )

Vendor class identifier architecture for PXE clients.

Definition at line 226 of file dhcp.h.

◆ DHCP_VENDOR_PXECLIENT_UNDI

#define DHCP_VENDOR_PXECLIENT_UNDI (   type,
  major,
  minor 
)
Value:
DHCP_VENDOR_PXECLIENT_UNDI_VERSION ( minor )
uint32_t major
Major version.
Definition: netvsc.h:14
uint32_t minor
Minor version.
Definition: netvsc.h:16
#define DHCP_VENDOR_PXECLIENT_UNDI_VERSION(version)
Definition: dhcp.h:237

Vendor class identifier UNDI version for PXE clients.

Definition at line 234 of file dhcp.h.

◆ DHCP_VENDOR_PXECLIENT_UNDI_VERSION

#define DHCP_VENDOR_PXECLIENT_UNDI_VERSION (   version)
Value:
( '0' + ( ( (version) / 100 ) % 10 ) ), \
( '0' + ( ( (version) / 10 ) % 10 ) ), \
( '0' + ( ( (version) / 1 ) % 10 ) )
u32 version
Driver version.
Definition: ath9k_hw.c:1983

Definition at line 237 of file dhcp.h.

◆ DHCP_CLIENT_ID

#define DHCP_CLIENT_ID   61

Client identifier.

Definition at line 243 of file dhcp.h.

◆ DHCP_TFTP_SERVER_NAME

#define DHCP_TFTP_SERVER_NAME   66

TFTP server name.

This option replaces the fixed "sname" field, when that field is used to contain overloaded options.

Definition at line 258 of file dhcp.h.

◆ DHCP_BOOTFILE_NAME

#define DHCP_BOOTFILE_NAME   67

Bootfile name.

This option replaces the fixed "file" field, when that field is used to contain overloaded options.

Definition at line 265 of file dhcp.h.

◆ DHCP_USER_CLASS_ID

#define DHCP_USER_CLASS_ID   77

User class identifier.

Definition at line 268 of file dhcp.h.

◆ DHCP_CLIENT_ARCHITECTURE

#define DHCP_CLIENT_ARCHITECTURE   93

Client system architecture.

Definition at line 271 of file dhcp.h.

◆ DHCP_CLIENT_NDI

#define DHCP_CLIENT_NDI   94

Client network device interface.

Definition at line 330 of file dhcp.h.

◆ DHCP_CLIENT_UUID

#define DHCP_CLIENT_UUID   97

UUID client identifier.

Definition at line 333 of file dhcp.h.

◆ DHCP_CLIENT_UUID_TYPE

#define DHCP_CLIENT_UUID_TYPE   0

Definition at line 343 of file dhcp.h.

◆ DHCP_DOMAIN_SEARCH

#define DHCP_DOMAIN_SEARCH   119

DNS domain search list.

Definition at line 346 of file dhcp.h.

◆ DHCP_EB_ENCAP

#define DHCP_EB_ENCAP   175

Etherboot-specific encapsulated options.

This encapsulated options field is used to contain all options specific to Etherboot (i.e. not assigned by IANA or other standards bodies).

Definition at line 354 of file dhcp.h.

◆ DHCP_EB_PRIORITY

#define DHCP_EB_PRIORITY   DHCP_ENCAP_OPT ( DHCP_EB_ENCAP, 0x01 )

Priority of this options block.

This is a signed 8-bit integer field indicating the priority of this block of options. It can be used to specify the relative priority of multiple option blocks (e.g. options from non-volatile storage versus options from a DHCP server).

Definition at line 363 of file dhcp.h.

◆ DHCP_EB_YIADDR

#define DHCP_EB_YIADDR   DHCP_ENCAP_OPT ( DHCP_EB_ENCAP, 0x02 )

"Your" IP address

This option is used internally to contain the value of the "yiaddr" field, in order to provide a consistent approach to storing and processing options. It should never be present in a DHCP packet.

Definition at line 371 of file dhcp.h.

◆ DHCP_EB_SIADDR

#define DHCP_EB_SIADDR   DHCP_ENCAP_OPT ( DHCP_EB_ENCAP, 0x03 )

"Server" IP address

This option is used internally to contain the value of the "siaddr" field, in order to provide a consistent approach to storing and processing options. It should never be present in a DHCP packet.

Definition at line 379 of file dhcp.h.

◆ DHCP_EB_KEEP_SAN

#define DHCP_EB_KEEP_SAN   DHCP_ENCAP_OPT ( DHCP_EB_ENCAP, 0x08 )

Keep SAN drive registered.

If set to a non-zero value, iPXE will not detach any SAN drive after failing to boot from it. (This option is required in order to perform an installation direct to an iSCSI target.)

Definition at line 387 of file dhcp.h.

◆ DHCP_EB_SKIP_SAN_BOOT

#define DHCP_EB_SKIP_SAN_BOOT   DHCP_ENCAP_OPT ( DHCP_EB_ENCAP, 0x09 )

Skip booting from SAN drive.

If set to a non-zero value, iPXE will skip booting from any SAN drive. (This option is sometimes required in conjunction with DHCP_EB_KEEP_SAN in order to perform an installation direct to an iSCSI target.)

Definition at line 396 of file dhcp.h.

◆ DHCP_EB_SCRIPTLET

#define DHCP_EB_SCRIPTLET   DHCP_ENCAP_OPT ( DHCP_EB_ENCAP, 0x51 )

Scriptlet.

If a scriptlet exists, it will be executed in place of the usual call to autoboot()

Definition at line 408 of file dhcp.h.

◆ DHCP_EB_SYSLOGS_SERVER

#define DHCP_EB_SYSLOGS_SERVER   DHCP_ENCAP_OPT ( DHCP_EB_ENCAP, 0x55 )

Encrypted syslog server.

Definition at line 411 of file dhcp.h.

◆ DHCP_EB_TRUST

#define DHCP_EB_TRUST   DHCP_ENCAP_OPT ( DHCP_EB_ENCAP, 0x5a )

Trusted root certficate fingerprints.

Definition at line 414 of file dhcp.h.

◆ DHCP_EB_CERT

#define DHCP_EB_CERT   DHCP_ENCAP_OPT ( DHCP_EB_ENCAP, 0x5b )

Client certficate.

Definition at line 417 of file dhcp.h.

◆ DHCP_EB_KEY

#define DHCP_EB_KEY   DHCP_ENCAP_OPT ( DHCP_EB_ENCAP, 0x5c )

Client private key.

Definition at line 420 of file dhcp.h.

◆ DHCP_EB_CROSS_CERT

#define DHCP_EB_CROSS_CERT   DHCP_ENCAP_OPT ( DHCP_EB_ENCAP, 0x5d )

Cross-signed certificate source.

Definition at line 423 of file dhcp.h.

◆ DHCP_EB_NO_PXEDHCP

#define DHCP_EB_NO_PXEDHCP   DHCP_ENCAP_OPT ( DHCP_EB_ENCAP, 0xb0 )

Skip PXE DHCP protocol extensions such as ProxyDHCP.

If set to a non-zero value, iPXE will not wait for ProxyDHCP offers and will ignore any PXE-specific DHCP options that it receives.

Definition at line 430 of file dhcp.h.

◆ DHCP_EB_BUS_ID

#define DHCP_EB_BUS_ID   DHCP_ENCAP_OPT ( DHCP_EB_ENCAP, 0xb1 )

Network device descriptor.

Byte 0 is the bus type ID; remaining bytes depend on the bus type.

PCI devices: Byte 0 : 1 (PCI) Byte 1 : PCI vendor ID MSB Byte 2 : PCI vendor ID LSB Byte 3 : PCI device ID MSB Byte 4 : PCI device ID LSB

Definition at line 443 of file dhcp.h.

◆ DHCP_EB_USE_CACHED

#define DHCP_EB_USE_CACHED   DHCP_ENCAP_OPT ( DHCP_EB_ENCAP, 0xb2 )

Use cached network settings (obsolete; do not reuse this value)

Definition at line 456 of file dhcp.h.

◆ DHCP_EB_SAN_RETRY

#define DHCP_EB_SAN_RETRY   DHCP_ENCAP_OPT ( DHCP_EB_ENCAP, 0xbb )

SAN retry count.

This is the maximum number of times that SAN operations will be retried.

Definition at line 463 of file dhcp.h.

◆ DHCP_EB_SAN_FILENAME

#define DHCP_EB_SAN_FILENAME   DHCP_ENCAP_OPT ( DHCP_EB_ENCAP, 0xbc )

SAN filename.

This is the path of the bootloader within the SAN device.

Definition at line 469 of file dhcp.h.

◆ DHCP_EB_SAN_DRIVE

#define DHCP_EB_SAN_DRIVE   DHCP_ENCAP_OPT ( DHCP_EB_ENCAP, 0xbd )

SAN drive number.

This is the drive number for a SAN-hooked drive. For BIOS, 0x80 is the first hard disk, 0x81 is the second hard disk, etc.

Definition at line 476 of file dhcp.h.

◆ DHCP_EB_USERNAME

#define DHCP_EB_USERNAME   DHCP_ENCAP_OPT ( DHCP_EB_ENCAP, 0xbe )

Username.

This will be used as the username for any required authentication. It is expected that this option's value will be held in non-volatile storage, rather than transmitted as part of a DHCP packet.

Definition at line 485 of file dhcp.h.

◆ DHCP_EB_PASSWORD

#define DHCP_EB_PASSWORD   DHCP_ENCAP_OPT ( DHCP_EB_ENCAP, 0xbf )

Password.

This will be used as the password for any required authentication. It is expected that this option's value will be held in non-volatile storage, rather than transmitted as part of a DHCP packet.

Definition at line 494 of file dhcp.h.

◆ DHCP_EB_REVERSE_USERNAME

#define DHCP_EB_REVERSE_USERNAME   DHCP_ENCAP_OPT ( DHCP_EB_ENCAP, 0xc0 )

Reverse username.

This will be used as the reverse username (i.e. the username provided by the server) for any required authentication. It is expected that this option's value will be held in non-volatile storage, rather than transmitted as part of a DHCP packet.

Definition at line 503 of file dhcp.h.

◆ DHCP_EB_REVERSE_PASSWORD

#define DHCP_EB_REVERSE_PASSWORD   DHCP_ENCAP_OPT ( DHCP_EB_ENCAP, 0xc1 )

Reverse password.

This will be used as the reverse password (i.e. the password provided by the server) for any required authentication. It is expected that this option's value will be held in non-volatile storage, rather than transmitted as part of a DHCP packet.

Definition at line 512 of file dhcp.h.

◆ DHCP_EB_UID

#define DHCP_EB_UID   DHCP_ENCAP_OPT ( DHCP_EB_ENCAP, 0xc2 )

User ID.

This will be used as the user id for AUTH_SYS based authentication in NFS.

Definition at line 518 of file dhcp.h.

◆ DHCP_EB_GID

#define DHCP_EB_GID   DHCP_ENCAP_OPT ( DHCP_EB_ENCAP, 0xc3 )

Group ID.

This will be used as the group id for AUTH_SYS based authentication in NFS.

Definition at line 524 of file dhcp.h.

◆ DHCP_EB_VERSION

#define DHCP_EB_VERSION   DHCP_ENCAP_OPT ( DHCP_EB_ENCAP, 0xeb )

iPXE version number

Definition at line 527 of file dhcp.h.

◆ DHCP_ISCSI_PRIMARY_TARGET_IQN

#define DHCP_ISCSI_PRIMARY_TARGET_IQN   201

iSCSI primary target IQN

Definition at line 530 of file dhcp.h.

◆ DHCP_ISCSI_SECONDARY_TARGET_IQN

#define DHCP_ISCSI_SECONDARY_TARGET_IQN   202

iSCSI secondary target IQN

Definition at line 533 of file dhcp.h.

◆ DHCP_ISCSI_INITIATOR_IQN

#define DHCP_ISCSI_INITIATOR_IQN   203

iSCSI initiator IQN

Definition at line 536 of file dhcp.h.

◆ DHCP_MAX_OPTION

#define DHCP_MAX_OPTION   254

Maximum normal DHCP option.

Definition at line 539 of file dhcp.h.

◆ DHCP_END

#define DHCP_END   255

End of options.

This tag does not have a length field; it is always only a single byte in length.

Definition at line 546 of file dhcp.h.

Enumeration Type Documentation

◆ dhcp_pxe_discovery_control

PXE boot server discovery control bits.

Enumerator
PXEBS_NO_BROADCAST 

Inhibit broadcast discovery.

PXEBS_NO_MULTICAST 

Inhibit multicast discovery.

PXEBS_NO_UNKNOWN_SERVERS 

Accept only servers in DHCP_PXE_BOOT_SERVERS list.

PXEBS_SKIP 

Skip discovery if filename present.

Definition at line 99 of file dhcp.h.

99  {
100  /** Inhibit broadcast discovery */
101  PXEBS_NO_BROADCAST = 1,
102  /** Inhibit multicast discovery */
103  PXEBS_NO_MULTICAST = 2,
104  /** Accept only servers in DHCP_PXE_BOOT_SERVERS list */
106  /** Skip discovery if filename present */
107  PXEBS_SKIP = 8,
108 };
Accept only servers in DHCP_PXE_BOOT_SERVERS list.
Definition: dhcp.h:105
Inhibit broadcast discovery.
Definition: dhcp.h:101
Skip discovery if filename present.
Definition: dhcp.h:107
Inhibit multicast discovery.
Definition: dhcp.h:103

◆ dhcp_client_architecture_values

DHCP client architecture values.

These are originally defined by the PXE specification, redefined by RFC4578, redefined again by RFC5970, and now maintained in the IANA DHCPv6 parameters registry.

Enumerator
DHCP_CLIENT_ARCHITECTURE_X86 

Intel x86 PC.

DHCP_CLIENT_ARCHITECTURE_PC98 

NEC/PC98.

DHCP_CLIENT_ARCHITECTURE_IA64 

EFI Itanium.

DHCP_CLIENT_ARCHITECTURE_ALPHA 

DEC Alpha.

DHCP_CLIENT_ARCHITECTURE_ARCX86 

Arc x86.

DHCP_CLIENT_ARCHITECTURE_LC 

Intel Lean Client.

DHCP_CLIENT_ARCHITECTURE_IA32 

EFI IA32.

DHCP_CLIENT_ARCHITECTURE_X86_64 

EFI x86-64.

DHCP_CLIENT_ARCHITECTURE_XSCALE 

EFI Xscale.

DHCP_CLIENT_ARCHITECTURE_EFI 

EFI BC.

DHCP_CLIENT_ARCHITECTURE_ARM32 

EFI 32-bit ARM.

DHCP_CLIENT_ARCHITECTURE_ARM64 

EFI 64-bit ARM.

DHCP_CLIENT_ARCHITECTURE_RISCV32 

EFI 32-bit RISC-V.

DHCP_CLIENT_ARCHITECTURE_RISCV64 

EFI 64-bit RISC-V.

DHCP_CLIENT_ARCHITECTURE_RISCV128 

EFI 128-bit RISC-V.

DHCP_CLIENT_ARCHITECTURE_MIPS32 

EFI 32-bit MIPS.

DHCP_CLIENT_ARCHITECTURE_MIPS64 

EFI 64-bit MIPS.

DHCP_CLIENT_ARCHITECTURE_SUNWAY32 

EFI 32-bit Sunway.

DHCP_CLIENT_ARCHITECTURE_SUNWAY64 

EFI 64-bit Sunway.

DHCP_CLIENT_ARCHITECTURE_LOONG32 

EFI 32-bit LoongArch.

DHCP_CLIENT_ARCHITECTURE_LOONG64 

EFI 64-bit LoongArch.

Definition at line 284 of file dhcp.h.

284  {
285  /** Intel x86 PC */
287  /** NEC/PC98 */
289  /** EFI Itanium */
291  /** DEC Alpha */
293  /** Arc x86 */
295  /** Intel Lean Client */
297  /** EFI IA32 */
299  /** EFI x86-64 */
301  /** EFI Xscale */
303  /** EFI BC */
305  /** EFI 32-bit ARM */
307  /** EFI 64-bit ARM */
309  /** EFI 32-bit RISC-V */
311  /** EFI 64-bit RISC-V */
313  /** EFI 128-bit RISC-V */
315  /** EFI 32-bit MIPS */
317  /** EFI 64-bit MIPS */
319  /** EFI 32-bit Sunway */
321  /** EFI 64-bit Sunway */
323  /** EFI 32-bit LoongArch */
325  /** EFI 64-bit LoongArch */
327 };
EFI 64-bit RISC-V.
Definition: dhcp.h:312
EFI 32-bit LoongArch.
Definition: dhcp.h:324
EFI 64-bit MIPS.
Definition: dhcp.h:318
EFI 64-bit Sunway.
Definition: dhcp.h:322
EFI 64-bit LoongArch.
Definition: dhcp.h:326
EFI 32-bit MIPS.
Definition: dhcp.h:316
Intel Lean Client.
Definition: dhcp.h:296
EFI 32-bit ARM.
Definition: dhcp.h:306
EFI 64-bit ARM.
Definition: dhcp.h:308
EFI 128-bit RISC-V.
Definition: dhcp.h:314
EFI 32-bit RISC-V.
Definition: dhcp.h:310
EFI 32-bit Sunway.
Definition: dhcp.h:320