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_uuid
 UUID client identifier. More...
struct  dhcp_netdev_desc
 Network device descriptor. More...

Defines

#define DHCP_PAD   0
 Padding.
#define DHCP_MIN_OPTION   1
 Minimum normal DHCP option.
#define DHCP_SUBNET_MASK   1
 Subnet mask.
#define DHCP_ROUTERS   3
 Routers.
#define DHCP_DNS_SERVERS   6
 DNS servers.
#define DHCP_LOG_SERVERS   7
 Syslog servers.
#define DHCP_HOST_NAME   12
 Host name.
#define DHCP_DOMAIN_NAME   15
 Domain name.
#define DHCP_ROOT_PATH   17
 Root path.
#define DHCP_VENDOR_ENCAP   43
 Vendor encapsulated options.
#define DHCP_PXE_DISCOVERY_CONTROL   DHCP_ENCAP_OPT ( DHCP_VENDOR_ENCAP, 6 )
 PXE boot server discovery control.
#define DHCP_PXE_BOOT_SERVER_MCAST   DHCP_ENCAP_OPT ( DHCP_VENDOR_ENCAP, 7 )
 PXE boot server multicast address.
#define DHCP_PXE_BOOT_SERVERS   DHCP_ENCAP_OPT ( DHCP_VENDOR_ENCAP, 8 )
 PXE boot servers.
#define DHCP_PXE_BOOT_MENU   DHCP_ENCAP_OPT ( DHCP_VENDOR_ENCAP, 9 )
 PXE boot menu.
#define DHCP_PXE_BOOT_MENU_PROMPT   DHCP_ENCAP_OPT ( DHCP_VENDOR_ENCAP, 10 )
 PXE boot menu prompt.
#define DHCP_PXE_BOOT_MENU_ITEM   DHCP_ENCAP_OPT ( DHCP_VENDOR_ENCAP, 71 )
 PXE boot menu item.
#define DHCP_REQUESTED_ADDRESS   50
 Requested IP address.
#define DHCP_LEASE_TIME   51
 Lease time.
#define DHCP_OPTION_OVERLOAD   52
 Option overloading.
#define DHCP_OPTION_OVERLOAD_FILE   1
 The "file" field is overloaded to contain extra DHCP options.
#define DHCP_OPTION_OVERLOAD_SNAME   2
 The "sname" field is overloaded to contain extra DHCP options.
#define DHCP_MESSAGE_TYPE   53
 DHCP message type.
#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.
#define DHCP_PARAMETER_REQUEST_LIST   55
 Parameter request list.
#define DHCP_MAX_MESSAGE_SIZE   57
 Maximum DHCP message size.
#define DHCP_VENDOR_CLASS_ID   60
 Vendor class identifier.
#define DHCP_CLIENT_ID   61
 Client identifier.
#define DHCP_TFTP_SERVER_NAME   66
 TFTP server name.
#define DHCP_BOOTFILE_NAME   67
 Bootfile name.
#define DHCP_USER_CLASS_ID   77
 User class identifier.
#define DHCP_CLIENT_ARCHITECTURE   93
 Client system architecture.
#define DHCP_CLIENT_NDI   94
 Client network device interface.
#define DHCP_CLIENT_UUID   97
 UUID client identifier.
#define DHCP_CLIENT_UUID_TYPE   0
#define DHCP_EB_ENCAP   175
 Etherboot-specific encapsulated options.
#define DHCP_EB_PRIORITY   DHCP_ENCAP_OPT ( DHCP_EB_ENCAP, 0x01 )
 Priority of this options block.
#define DHCP_EB_YIADDR   DHCP_ENCAP_OPT ( DHCP_EB_ENCAP, 0x02 )
 "Your" IP address
#define DHCP_EB_SIADDR   DHCP_ENCAP_OPT ( DHCP_EB_ENCAP, 0x03 )
 "Server" IP address
#define DHCP_EB_KEEP_SAN   DHCP_ENCAP_OPT ( DHCP_EB_ENCAP, 0x08 )
 Keep SAN drive registered.
#define DHCP_EB_NO_PXEDHCP   DHCP_ENCAP_OPT ( DHCP_EB_ENCAP, 0xb0 )
 Skip PXE DHCP protocol extensions such as ProxyDHCP.
#define DHCP_EB_BUS_ID   DHCP_ENCAP_OPT ( DHCP_EB_ENCAP, 0xb1 )
 Network device descriptor.
#define DHCP_EB_USE_CACHED   DHCP_ENCAP_OPT ( DHCP_EB_ENCAP, 0xb2 )
 Use cached network settings.
#define DHCP_EB_BIOS_DRIVE   DHCP_ENCAP_OPT ( DHCP_EB_ENCAP, 0xbd )
 BIOS drive number.
#define DHCP_EB_USERNAME   DHCP_ENCAP_OPT ( DHCP_EB_ENCAP, 0xbe )
 Username.
#define DHCP_EB_PASSWORD   DHCP_ENCAP_OPT ( DHCP_EB_ENCAP, 0xbf )
 Password.
#define DHCP_EB_REVERSE_USERNAME   DHCP_ENCAP_OPT ( DHCP_EB_ENCAP, 0xc0 )
 Reverse username.
#define DHCP_EB_REVERSE_PASSWORD   DHCP_ENCAP_OPT ( DHCP_EB_ENCAP, 0xc1 )
 Reverse password.
#define DHCP_EB_VERSION   DHCP_ENCAP_OPT ( DHCP_EB_ENCAP, 0xeb )
 gPXE version number
#define DHCP_ISCSI_PRIMARY_TARGET_IQN   201
 iSCSI primary target IQN
#define DHCP_ISCSI_SECONDARY_TARGET_IQN   202
 iSCSI secondary target IQN
#define DHCP_ISCSI_INITIATOR_IQN   203
 iSCSI initiator IQN
#define DHCP_MAX_OPTION   254
 Maximum normal DHCP option.
#define DHCP_END   255
 End of options.

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...

Define Documentation

#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 59 of file dhcp.h.

Referenced by dhcp_option_len(), dhcpopt_update_len(), find_dhcp_option_with_encap(), and set_dhcp_option().

#define DHCP_MIN_OPTION   1

Minimum normal DHCP option.

Definition at line 62 of file dhcp.h.

Referenced by copy_encap_settings().

#define DHCP_SUBNET_MASK   1

Subnet mask.

Definition at line 65 of file dhcp.h.

#define DHCP_ROUTERS   3

Routers.

Definition at line 68 of file dhcp.h.

#define DHCP_DNS_SERVERS   6

DNS servers.

Definition at line 71 of file dhcp.h.

#define DHCP_LOG_SERVERS   7

Syslog servers.

Definition at line 74 of file dhcp.h.

#define DHCP_HOST_NAME   12

Host name.

Definition at line 77 of file dhcp.h.

#define DHCP_DOMAIN_NAME   15

Domain name.

Definition at line 80 of file dhcp.h.

#define DHCP_ROOT_PATH   17

Root path.

Definition at line 83 of file dhcp.h.

#define DHCP_VENDOR_ENCAP   43

Vendor encapsulated options.

Definition at line 86 of file dhcp.h.

Referenced by copy_encap_settings().

#define DHCP_PXE_DISCOVERY_CONTROL   DHCP_ENCAP_OPT ( DHCP_VENDOR_ENCAP, 6 )

PXE boot server discovery control.

Definition at line 89 of file dhcp.h.

Referenced by netboot(), and start_pxebs().

#define DHCP_PXE_BOOT_SERVER_MCAST   DHCP_ENCAP_OPT ( DHCP_VENDOR_ENCAP, 7 )

PXE boot server multicast address.

Definition at line 104 of file dhcp.h.

Referenced by start_pxebs().

#define DHCP_PXE_BOOT_SERVERS   DHCP_ENCAP_OPT ( DHCP_VENDOR_ENCAP, 8 )

PXE boot servers.

Definition at line 107 of file dhcp.h.

Referenced by start_pxebs().

#define DHCP_PXE_BOOT_MENU   DHCP_ENCAP_OPT ( DHCP_VENDOR_ENCAP, 9 )

PXE boot menu.

Definition at line 120 of file dhcp.h.

Referenced by dhcp_rx_offer(), netboot(), and pxe_menu_parse().

#define DHCP_PXE_BOOT_MENU_PROMPT   DHCP_ENCAP_OPT ( DHCP_VENDOR_ENCAP, 10 )

PXE boot menu prompt.

Definition at line 133 of file dhcp.h.

Referenced by pxe_menu_parse().

#define DHCP_PXE_BOOT_MENU_ITEM   DHCP_ENCAP_OPT ( DHCP_VENDOR_ENCAP, 71 )

PXE boot menu item.

Definition at line 152 of file dhcp.h.

Referenced by dhcp_pxebs_rx(), and dhcp_pxebs_tx().

#define DHCP_REQUESTED_ADDRESS   50

Requested IP address.

Definition at line 170 of file dhcp.h.

Referenced by dhcp_request_tx().

#define DHCP_LEASE_TIME   51

Lease time.

Definition at line 173 of file dhcp.h.

#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 180 of file dhcp.h.

#define DHCP_OPTION_OVERLOAD_FILE   1

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

Definition at line 183 of file dhcp.h.

#define DHCP_OPTION_OVERLOAD_SNAME   2

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

Definition at line 186 of file dhcp.h.

#define DHCP_MESSAGE_TYPE   53

DHCP message type.

Definition at line 189 of file dhcp.h.

Referenced by dhcp_create_packet(), and dhcp_deliver_iob().

#define DHCPNONE   0

Definition at line 190 of file dhcp.h.

Referenced by dhcp_msgtype_name().

#define DHCPDISCOVER   1

Definition at line 191 of file dhcp.h.

#define DHCPOFFER   2

Definition at line 192 of file dhcp.h.

#define DHCPREQUEST   3

Definition at line 193 of file dhcp.h.

#define DHCPDECLINE   4

Definition at line 194 of file dhcp.h.

Referenced by dhcp_msgtype_name().

#define DHCPACK   5

Definition at line 195 of file dhcp.h.

#define DHCPNAK   6

Definition at line 196 of file dhcp.h.

Referenced by dhcp_msgtype_name().

#define DHCPRELEASE   7

Definition at line 197 of file dhcp.h.

Referenced by dhcp_msgtype_name().

#define DHCPINFORM   8

Definition at line 198 of file dhcp.h.

Referenced by dhcp_msgtype_name().

#define DHCP_SERVER_IDENTIFIER   54

DHCP server identifier.

Definition at line 201 of file dhcp.h.

Referenced by dhcp_deliver_iob(), dhcp_proxy_tx(), and dhcp_request_tx().

#define DHCP_PARAMETER_REQUEST_LIST   55

Parameter request list.

Definition at line 204 of file dhcp.h.

#define DHCP_MAX_MESSAGE_SIZE   57

Maximum DHCP message size.

Definition at line 207 of file dhcp.h.

#define DHCP_VENDOR_CLASS_ID   60

Vendor class identifier.

Definition at line 210 of file dhcp.h.

Referenced by dhcp_rx_offer(), and netboot().

#define DHCP_CLIENT_ID   61

Client identifier.

Definition at line 213 of file dhcp.h.

Referenced by dhcp_create_request().

#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 228 of file dhcp.h.

#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 235 of file dhcp.h.

#define DHCP_USER_CLASS_ID   77

User class identifier.

Definition at line 238 of file dhcp.h.

Referenced by dhcp_create_request().

#define DHCP_CLIENT_ARCHITECTURE   93

Client system architecture.

Definition at line 241 of file dhcp.h.

#define DHCP_CLIENT_NDI   94

Client network device interface.

Definition at line 244 of file dhcp.h.

#define DHCP_CLIENT_UUID   97

UUID client identifier.

Definition at line 247 of file dhcp.h.

Referenced by dhcp_create_request().

#define DHCP_CLIENT_UUID_TYPE   0

Definition at line 257 of file dhcp.h.

Referenced by dhcp_create_request().

#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 265 of file dhcp.h.

Referenced by copy_encap_settings(), and dhcp_create_request().

#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 274 of file dhcp.h.

Referenced by dhcp_rx_offer().

#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 282 of file dhcp.h.

#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 290 of file dhcp.h.

#define DHCP_EB_KEEP_SAN   DHCP_ENCAP_OPT ( DHCP_EB_ENCAP, 0x08 )

Keep SAN drive registered.

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

Definition at line 299 of file dhcp.h.

#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, gPXE will not wait for ProxyDHCP offers and will ignore any PXE-specific DHCP options that it receives.

Definition at line 311 of file dhcp.h.

Referenced by dhcp_rx_offer().

#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 324 of file dhcp.h.

Referenced by dhcp_create_request().

#define DHCP_EB_USE_CACHED   DHCP_ENCAP_OPT ( DHCP_EB_ENCAP, 0xb2 )

Use cached network settings.

Cached network settings may be available from a prior DHCP request (if running as a PXE NBP), non-volatile storage on the NIC, or settings set via the command line or an embedded image. If this flag is not set, it will be assumed that those sources are insufficient and that DHCP should still be run when autobooting.

Definition at line 344 of file dhcp.h.

#define DHCP_EB_BIOS_DRIVE   DHCP_ENCAP_OPT ( DHCP_EB_ENCAP, 0xbd )

BIOS drive number.

This is the drive number for a drive emulated via INT 13. 0x80 is the first hard disk, 0x81 is the second hard disk, etc.

Definition at line 351 of file dhcp.h.

#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 360 of file dhcp.h.

#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 369 of file dhcp.h.

#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 378 of file dhcp.h.

#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 387 of file dhcp.h.

#define DHCP_EB_VERSION   DHCP_ENCAP_OPT ( DHCP_EB_ENCAP, 0xeb )

gPXE version number

Definition at line 390 of file dhcp.h.

#define DHCP_ISCSI_PRIMARY_TARGET_IQN   201

iSCSI primary target IQN

Definition at line 393 of file dhcp.h.

#define DHCP_ISCSI_SECONDARY_TARGET_IQN   202

iSCSI secondary target IQN

Definition at line 396 of file dhcp.h.

#define DHCP_ISCSI_INITIATOR_IQN   203

iSCSI initiator IQN

Definition at line 399 of file dhcp.h.

#define DHCP_MAX_OPTION   254

Maximum normal DHCP option.

Definition at line 402 of file dhcp.h.

Referenced by copy_encap_settings().

#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 409 of file dhcp.h.

Referenced by dhcp_option_len(), find_dhcp_option_with_encap(), and set_dhcp_option().


Enumeration Type Documentation

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 92 of file dhcp.h.

00092                                 {
00093         /** Inhibit broadcast discovery */
00094         PXEBS_NO_BROADCAST = 1,
00095         /** Inhibit multicast discovery */
00096         PXEBS_NO_MULTICAST = 2,
00097         /** Accept only servers in DHCP_PXE_BOOT_SERVERS list */
00098         PXEBS_NO_UNKNOWN_SERVERS = 4,
00099         /** Skip discovery if filename present */
00100         PXEBS_SKIP = 8,
00101 };


Generated on Tue Apr 6 20:01:58 2010 for gPXE by  doxygen 1.5.7.1