MdePkg[all]  1.08
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Dhcp.h File Reference

Macros

#define DHCP4_TAG_PAD   0
 
#define DHCP4_TAG_EOP   255
 
#define DHCP4_TAG_NETMASK   1
 
#define DHCP4_TAG_TIME_OFFSET   2
 
#define DHCP4_TAG_ROUTER   3
 
#define DHCP4_TAG_TIME_SERVER   4
 
#define DHCP4_TAG_NAME_SERVER   5
 
#define DHCP4_TAG_DNS_SERVER   6
 
#define DHCP4_TAG_LOG_SERVER   7
 
#define DHCP4_TAG_COOKIE_SERVER   8
 
#define DHCP4_TAG_LPR_SERVER   9
 
#define DHCP4_TAG_IMPRESS_SERVER   10
 
#define DHCP4_TAG_RL_SERVER   11
 
#define DHCP4_TAG_HOSTNAME   12
 
#define DHCP4_TAG_BOOTFILE_LEN   13
 
#define DHCP4_TAG_DUMP   14
 
#define DHCP4_TAG_DOMAINNAME   15
 
#define DHCP4_TAG_SWAP_SERVER   16
 
#define DHCP4_TAG_ROOTPATH   17
 
#define DHCP4_TAG_EXTEND_PATH   18
 
#define DHCP4_TAG_IPFORWARD   19
 
#define DHCP4_TAG_NONLOCAL_SRR   20
 
#define DHCP4_TAG_POLICY_SRR   21
 
#define DHCP4_TAG_EMTU   22
 
#define DHCP4_TAG_TTL   23
 
#define DHCP4_TAG_PATHMTU_AGE   24
 
#define DHCP4_TAG_PATHMTU_PLATEAU   25
 
#define DHCP4_TAG_IFMTU   26
 
#define DHCP4_TAG_SUBNET_LOCAL   27
 
#define DHCP4_TAG_BROADCAST   28
 
#define DHCP4_TAG_DISCOVER_MASK   29
 
#define DHCP4_TAG_SUPPLY_MASK   30
 
#define DHCP4_TAG_DISCOVER_ROUTE   31
 
#define DHCP4_TAG_ROUTER_SOLICIT   32
 
#define DHCP4_TAG_STATIC_ROUTE   33
 
#define DHCP4_TAG_TRAILER   34
 
#define DHCP4_TAG_ARPAGE   35
 
#define DHCP4_TAG_ETHER_ENCAP   36
 
#define DHCP4_TAG_TCP_TTL   37
 
#define DHCP4_TAG_KEEP_INTERVAL   38
 
#define DHCP4_TAG_KEEP_GARBAGE   39
 
#define DHCP4_TAG_NIS_DOMAIN   40
 
#define DHCP4_TAG_NIS_SERVER   41
 
#define DHCP4_TAG_NTP_SERVER   42
 
#define DHCP4_TAG_VENDOR   43
 
#define DHCP4_TAG_NBNS   44
 
#define DHCP4_TAG_NBDD   45
 
#define DHCP4_TAG_NBTYPE   46
 
#define DHCP4_TAG_NBSCOPE   47
 
#define DHCP4_TAG_XFONT   48
 
#define DHCP4_TAG_XDM   49
 
#define DHCP4_TAG_REQUEST_IP   50
 
#define DHCP4_TAG_LEASE   51
 
#define DHCP4_TAG_OVERLOAD   52
 
#define DHCP4_TAG_MSG_TYPE   53
 
#define DHCP4_TAG_SERVER_ID   54
 
#define DHCP4_TAG_PARA_LIST   55
 
#define DHCP4_TAG_MESSAGE   56
 
#define DHCP4_TAG_MAXMSG   57
 
#define DHCP4_TAG_T1   58
 
#define DHCP4_TAG_T2   59
 
#define DHCP4_TAG_VENDOR_CLASS_ID   60
 
#define DHCP4_TAG_CLIENT_ID   61
 
#define DHCP4_TAG_NISPLUS   64
 
#define DHCP4_TAG_NISPLUS_SERVER   65
 
#define DHCP4_TAG_TFTP   66
 
#define DHCP4_TAG_BOOTFILE   67
 
#define DHCP4_TAG_MOBILEIP   68
 
#define DHCP4_TAG_SMTP   69
 
#define DHCP4_TAG_POP3   70
 
#define DHCP4_TAG_NNTP   71
 
#define DHCP4_TAG_WWW   72
 
#define DHCP4_TAG_FINGER   73
 
#define DHCP4_TAG_IRC   74
 
#define DHCP4_TAG_STTALK   75
 
#define DHCP4_TAG_STDA   76
 
#define DHCP4_TAG_USER_CLASS_ID   77
 
#define DHCP4_TAG_ARCH   93
 
#define DHCP4_TAG_UNDI   94
 
#define DHCP4_TAG_UUID   97
 
#define DHCP4_TAG_CLASSLESS_ROUTE   121
 
#define DHCP6_SOL_MAX_DELAY   1
 
#define DHCP6_SOL_IRT   1
 
#define DHCP6_SOL_MRC   0
 
#define DHCP6_SOL_MRT   120
 
#define DHCP6_SOL_MRD   0
 
#define DHCP6_REQ_IRT   1
 
#define DHCP6_REQ_MRC   10
 
#define DHCP6_REQ_MRT   30
 
#define DHCP6_REQ_MRD   0
 
#define DHCP6_CNF_MAX_DELAY   1
 
#define DHCP6_CNF_IRT   1
 
#define DHCP6_CNF_MRC   0
 
#define DHCP6_CNF_MRT   4
 
#define DHCP6_CNF_MRD   10
 
#define DHCP6_REN_IRT   10
 
#define DHCP6_REN_MRC   0
 
#define DHCP6_REN_MRT   600
 
#define DHCP6_REN_MRD   0
 
#define DHCP6_REB_IRT   10
 
#define DHCP6_REB_MRC   0
 
#define DHCP6_REB_MRT   600
 
#define DHCP6_REB_MRD   0
 
#define DHCP6_INF_MAX_DELAY   1
 
#define DHCP6_INF_IRT   1
 
#define DHCP6_INF_MRC   0
 
#define DHCP6_INF_MRT   120
 
#define DHCP6_INF_MRD   0
 
#define DHCP6_REL_IRT   1
 
#define DHCP6_REL_MRC   5
 
#define DHCP6_REL_MRT   0
 
#define DHCP6_REL_MRD   0
 
#define DHCP6_DEC_IRT   1
 
#define DHCP6_DEC_MRC   5
 
#define DHCP6_DEC_MRT   0
 
#define DHCP6_DEC_MRD   0
 
#define DHCP6_OPT_CLIENT_ID   1
 
#define DHCP6_OPT_SERVER_ID   2
 
#define DHCP6_OPT_IA_NA   3
 
#define DHCP6_OPT_IA_TA   4
 
#define DHCP6_OPT_IAADDR   5
 
#define DHCP6_OPT_ORO   6
 
#define DHCP6_OPT_PREFERENCE   7
 
#define DHCP6_OPT_ELAPSED_TIME   8
 
#define DHCP6_OPT_REPLAY_MSG   9
 
#define DHCP6_OPT_AUTH   11
 
#define DHCP6_OPT_UNICAST   12
 
#define DHCP6_OPT_STATUS_CODE   13
 
#define DHCP6_OPT_RAPID_COMMIT   14
 
#define DHCP6_OPT_USER_CLASS   15
 
#define DHCP6_OPT_VENDOR_CLASS   16
 
#define DHCP6_OPT_VENDOR_OPTS   17
 
#define DHCP6_OPT_INTERFACE_ID   18
 
#define DHCP6_OPT_RECONFIG_MSG   19
 
#define DHCP6_OPT_RECONFIG_ACCEPT   20
 
#define DHCP6_OPT_DNS_SERVERS   23
 
#define DHCP6_OPT_BOOT_FILE_URL   59
 
#define DHCP6_OPT_BOOT_FILE_PARAM   60
 
#define DHCP6_OPT_ARCH   61
 
#define DHCP6_OPT_UNDI   62
 
#define PXE_CLIENT_ARCH_X86_BIOS   0x0000
 
#define PXE_CLIENT_ARCH_IPF   0x0002
 
#define PXE_CLIENT_ARCH_IA32   0x0006
 
#define PXE_CLIENT_ARCH_X64   0x0007
 
#define PXE_CLIENT_ARCH_EBC   0x0009
 
#define PXE_CLIENT_ARCH_ARM   0x000A
 
#define PXE_CLIENT_ARCH_AARCH64   0x000B
 
#define PXE_CLIENT_ARCH_RISCV32   0x0019
 
#define PXE_CLIENT_ARCH_RISCV64   0x001B
 
#define PXE_CLIENT_ARCH_RISCV128   0x001D
 
#define HTTP_CLIENT_ARCH_IA32   0x000F
 
#define HTTP_CLIENT_ARCH_X64   0x0010
 
#define HTTP_CLIENT_ARCH_EBC   0x0011
 
#define HTTP_CLIENT_ARCH_ARM   0x0012
 
#define HTTP_CLIENT_ARCH_AARCH64   0x0013
 
#define HTTP_CLIENT_ARCH_RISCV32   0x001A
 
#define HTTP_CLIENT_ARCH_RISCV64   0x001C
 
#define HTTP_CLIENT_ARCH_RISCV128   0x001E
 

Enumerations

enum  DHCP6_MSG_TYPE {
  Dhcp6MsgSolicit = 1, Dhcp6MsgAdvertise = 2, Dhcp6MsgRequest = 3, Dhcp6MsgConfirm = 4,
  Dhcp6MsgRenew = 5, Dhcp6MsgRebind = 6, Dhcp6MsgReply = 7, Dhcp6MsgRelease = 8,
  Dhcp6MsgDecline = 9, Dhcp6MsgReconfigure = 10, Dhcp6MsgInfoRequest = 11
}
 
enum  DHCP6_OPT_CODE {
  Dhcp6OptClientId = 1, Dhcp6OptServerId = 2, Dhcp6OptIana = 3, Dhcp6OptIata = 4,
  Dhcp6OptIaAddr = 5, Dhcp6OptRequestOption = 6, Dhcp6OptPreference = 7, Dhcp6OptElapsedTime = 8,
  Dhcp6OptReplayMessage = 9, Dhcp6OptAuthentication = 11, Dhcp6OptServerUnicast = 12, Dhcp6OptStatusCode = 13,
  Dhcp6OptRapidCommit = 14, Dhcp6OptUserClass = 15, Dhcp6OptVendorClass = 16, Dhcp6OptVendorInfo = 17,
  Dhcp6OptInterfaceId = 18, Dhcp6OptReconfigMessage = 19, Dhcp6OptReconfigureAccept = 20
}
 
enum  DHCP6_STS_CODE {
  Dhcp6StsSuccess = 0, Dhcp6StsUnspecFail = 1, Dhcp6StsNoAddrsAvail = 2, Dhcp6StsNoBinding = 3,
  Dhcp6StsNotOnLink = 4, Dhcp6StsUseMulticast = 5
}
 
enum  DHCP6_DUID_TYPE { Dhcp6DuidTypeLlt = 1, Dhcp6DuidTypeEn = 2, Dhcp6DuidTypeLl = 3, Dhcp6DuidTypeUuid = 4 }
 

Detailed Description

This file contains the DHCPv4 and DHCPv6 option definitions and other configuration. They are used to carry additional information and parameters in DHCP messages.

Copyright (c) 2016, Intel Corporation. All rights reserved.
Copyright (c) 2020, Hewlett Packard Enterprise Development LP. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent

Macro Definition Documentation

#define DHCP4_TAG_ARCH   93
#define DHCP4_TAG_ARPAGE   35
#define DHCP4_TAG_BOOTFILE   67
#define DHCP4_TAG_BOOTFILE_LEN   13
#define DHCP4_TAG_BROADCAST   28
#define DHCP4_TAG_CLASSLESS_ROUTE   121
#define DHCP4_TAG_CLIENT_ID   61
#define DHCP4_TAG_COOKIE_SERVER   8
#define DHCP4_TAG_DISCOVER_MASK   29
#define DHCP4_TAG_DISCOVER_ROUTE   31
#define DHCP4_TAG_DNS_SERVER   6
#define DHCP4_TAG_DOMAINNAME   15
#define DHCP4_TAG_DUMP   14
#define DHCP4_TAG_EMTU   22
#define DHCP4_TAG_EOP   255
#define DHCP4_TAG_ETHER_ENCAP   36
#define DHCP4_TAG_EXTEND_PATH   18
#define DHCP4_TAG_FINGER   73
#define DHCP4_TAG_HOSTNAME   12
#define DHCP4_TAG_IFMTU   26
#define DHCP4_TAG_IMPRESS_SERVER   10
#define DHCP4_TAG_IPFORWARD   19
#define DHCP4_TAG_IRC   74
#define DHCP4_TAG_KEEP_GARBAGE   39
#define DHCP4_TAG_KEEP_INTERVAL   38
#define DHCP4_TAG_LEASE   51
#define DHCP4_TAG_LOG_SERVER   7
#define DHCP4_TAG_LPR_SERVER   9
#define DHCP4_TAG_MAXMSG   57
#define DHCP4_TAG_MESSAGE   56
#define DHCP4_TAG_MOBILEIP   68
#define DHCP4_TAG_MSG_TYPE   53
#define DHCP4_TAG_NAME_SERVER   5
#define DHCP4_TAG_NBDD   45
#define DHCP4_TAG_NBNS   44
#define DHCP4_TAG_NBSCOPE   47
#define DHCP4_TAG_NBTYPE   46
#define DHCP4_TAG_NETMASK   1
#define DHCP4_TAG_NIS_DOMAIN   40
#define DHCP4_TAG_NIS_SERVER   41
#define DHCP4_TAG_NISPLUS   64
#define DHCP4_TAG_NISPLUS_SERVER   65
#define DHCP4_TAG_NNTP   71
#define DHCP4_TAG_NONLOCAL_SRR   20
#define DHCP4_TAG_NTP_SERVER   42
#define DHCP4_TAG_OVERLOAD   52
#define DHCP4_TAG_PAD   0

Dynamic Host Configuration Protocol for IPv4 (DHCPv4)

Dhcpv4 Options, definitions from RFC 2132

#define DHCP4_TAG_PARA_LIST   55
#define DHCP4_TAG_PATHMTU_AGE   24
#define DHCP4_TAG_PATHMTU_PLATEAU   25
#define DHCP4_TAG_POLICY_SRR   21
#define DHCP4_TAG_POP3   70
#define DHCP4_TAG_REQUEST_IP   50
#define DHCP4_TAG_RL_SERVER   11
#define DHCP4_TAG_ROOTPATH   17
#define DHCP4_TAG_ROUTER   3
#define DHCP4_TAG_ROUTER_SOLICIT   32
#define DHCP4_TAG_SERVER_ID   54
#define DHCP4_TAG_SMTP   69
#define DHCP4_TAG_STATIC_ROUTE   33
#define DHCP4_TAG_STDA   76
#define DHCP4_TAG_STTALK   75
#define DHCP4_TAG_SUBNET_LOCAL   27
#define DHCP4_TAG_SUPPLY_MASK   30
#define DHCP4_TAG_SWAP_SERVER   16
#define DHCP4_TAG_T1   58
#define DHCP4_TAG_T2   59
#define DHCP4_TAG_TCP_TTL   37
#define DHCP4_TAG_TFTP   66
#define DHCP4_TAG_TIME_OFFSET   2
#define DHCP4_TAG_TIME_SERVER   4
#define DHCP4_TAG_TRAILER   34
#define DHCP4_TAG_TTL   23
#define DHCP4_TAG_UNDI   94
#define DHCP4_TAG_USER_CLASS_ID   77
#define DHCP4_TAG_UUID   97
#define DHCP4_TAG_VENDOR   43
#define DHCP4_TAG_VENDOR_CLASS_ID   60
#define DHCP4_TAG_WWW   72
#define DHCP4_TAG_XDM   49
#define DHCP4_TAG_XFONT   48
#define DHCP6_CNF_IRT   1
#define DHCP6_CNF_MAX_DELAY   1

Transmit parameters of confirm message, refers to section-5.5 of rfc-3315.

#define DHCP6_CNF_MRC   0
#define DHCP6_CNF_MRD   10
#define DHCP6_CNF_MRT   4
#define DHCP6_DEC_IRT   1

Transmit parameters of decline message, refers to section-5.5 of rfc-3315.

#define DHCP6_DEC_MRC   5
#define DHCP6_DEC_MRD   0
#define DHCP6_DEC_MRT   0
#define DHCP6_INF_IRT   1
#define DHCP6_INF_MAX_DELAY   1

Transmit parameters of information request message, refers to section-5.5 of rfc-3315.

#define DHCP6_INF_MRC   0
#define DHCP6_INF_MRD   0
#define DHCP6_INF_MRT   120
#define DHCP6_OPT_ARCH   61
#define DHCP6_OPT_AUTH   11
#define DHCP6_OPT_BOOT_FILE_PARAM   60
#define DHCP6_OPT_BOOT_FILE_URL   59
#define DHCP6_OPT_CLIENT_ID   1
#define DHCP6_OPT_DNS_SERVERS   23
#define DHCP6_OPT_ELAPSED_TIME   8
#define DHCP6_OPT_IA_NA   3
#define DHCP6_OPT_IA_TA   4
#define DHCP6_OPT_IAADDR   5
#define DHCP6_OPT_INTERFACE_ID   18
#define DHCP6_OPT_ORO   6
#define DHCP6_OPT_PREFERENCE   7
#define DHCP6_OPT_RAPID_COMMIT   14
#define DHCP6_OPT_RECONFIG_ACCEPT   20
#define DHCP6_OPT_RECONFIG_MSG   19
#define DHCP6_OPT_REPLAY_MSG   9
#define DHCP6_OPT_SERVER_ID   2
#define DHCP6_OPT_STATUS_CODE   13
#define DHCP6_OPT_UNDI   62
#define DHCP6_OPT_UNICAST   12
#define DHCP6_OPT_USER_CLASS   15
#define DHCP6_OPT_VENDOR_CLASS   16
#define DHCP6_OPT_VENDOR_OPTS   17
#define DHCP6_REB_IRT   10

Transmit parameters of rebind message, refers to section-5.5 of rfc-3315.

#define DHCP6_REB_MRC   0
#define DHCP6_REB_MRD   0
#define DHCP6_REB_MRT   600
#define DHCP6_REL_IRT   1

Transmit parameters of release message, refers to section-5.5 of rfc-3315.

#define DHCP6_REL_MRC   5
#define DHCP6_REL_MRD   0
#define DHCP6_REL_MRT   0
#define DHCP6_REN_IRT   10

Transmit parameters of renew message, refers to section-5.5 of rfc-3315.

#define DHCP6_REN_MRC   0
#define DHCP6_REN_MRD   0
#define DHCP6_REN_MRT   600
#define DHCP6_REQ_IRT   1

Transmit parameters of request message, refers to section-5.5 of rfc-3315.

#define DHCP6_REQ_MRC   10
#define DHCP6_REQ_MRD   0
#define DHCP6_REQ_MRT   30
#define DHCP6_SOL_IRT   1
#define DHCP6_SOL_MAX_DELAY   1

Transmission and Retransmission Parameters This section presents a table of values used to describe the message transmission behavior of clients and servers.

Transmit parameters of solicit message, refers to section-5.5 of rfc-3315.

#define DHCP6_SOL_MRC   0
#define DHCP6_SOL_MRD   0
#define DHCP6_SOL_MRT   120
#define HTTP_CLIENT_ARCH_AARCH64   0x0013
#define HTTP_CLIENT_ARCH_ARM   0x0012
#define HTTP_CLIENT_ARCH_EBC   0x0011
#define HTTP_CLIENT_ARCH_IA32   0x000F
#define HTTP_CLIENT_ARCH_RISCV128   0x001E
#define HTTP_CLIENT_ARCH_RISCV32   0x001A
#define HTTP_CLIENT_ARCH_RISCV64   0x001C
#define HTTP_CLIENT_ARCH_X64   0x0010
#define PXE_CLIENT_ARCH_AARCH64   0x000B
#define PXE_CLIENT_ARCH_ARM   0x000A
#define PXE_CLIENT_ARCH_EBC   0x0009
#define PXE_CLIENT_ARCH_IA32   0x0006
#define PXE_CLIENT_ARCH_IPF   0x0002
#define PXE_CLIENT_ARCH_RISCV128   0x001D
#define PXE_CLIENT_ARCH_RISCV32   0x0019
#define PXE_CLIENT_ARCH_RISCV64   0x001B
#define PXE_CLIENT_ARCH_X64   0x0007
#define PXE_CLIENT_ARCH_X86_BIOS   0x0000

Processor Architecture Types These identifiers are defined by IETF: http://www.ietf.org/assignments/dhcpv6-parameters/dhcpv6-parameters.xml

Enumeration Type Documentation

Enumeration of Duid type recorded by IANA, refers to section-24.5 of rfc-3315.

Enumerator
Dhcp6DuidTypeLlt 
Dhcp6DuidTypeEn 
Dhcp6DuidTypeLl 
Dhcp6DuidTypeUuid 

Dynamic Host Configuration Protocol for IPv6 (DHCPv6)

Enumeration of Dhcp6 message type, refers to section-5.3 of rfc-3315.

Enumerator
Dhcp6MsgSolicit 
Dhcp6MsgAdvertise 
Dhcp6MsgRequest 
Dhcp6MsgConfirm 
Dhcp6MsgRenew 
Dhcp6MsgRebind 
Dhcp6MsgReply 
Dhcp6MsgRelease 
Dhcp6MsgDecline 
Dhcp6MsgReconfigure 
Dhcp6MsgInfoRequest 

Enumeration of option code in Dhcp6 packet, refers to section-24.3 of rfc-3315.

Enumerator
Dhcp6OptClientId 
Dhcp6OptServerId 
Dhcp6OptIana 
Dhcp6OptIata 
Dhcp6OptIaAddr 
Dhcp6OptRequestOption 
Dhcp6OptPreference 
Dhcp6OptElapsedTime 
Dhcp6OptReplayMessage 
Dhcp6OptAuthentication 
Dhcp6OptServerUnicast 
Dhcp6OptStatusCode 
Dhcp6OptRapidCommit 
Dhcp6OptUserClass 
Dhcp6OptVendorClass 
Dhcp6OptVendorInfo 
Dhcp6OptInterfaceId 
Dhcp6OptReconfigMessage 
Dhcp6OptReconfigureAccept 

Enumeration of status code recorded by IANA, refers to section-24.4 of rfc-3315.

Enumerator
Dhcp6StsSuccess 
Dhcp6StsUnspecFail 
Dhcp6StsNoAddrsAvail 
Dhcp6StsNoBinding 
Dhcp6StsNotOnLink 
Dhcp6StsUseMulticast