mirror of
https://github.com/ipxe/ipxe
synced 2025-12-13 15:31:42 +03:00
[dhcp] Allow for variable encapsulation of architecture-specific options
DHCPv4 and DHCPv6 share some values in common for the architecture- specific options (such as the client system architecture type), but use different encapsulations: DHCPv4 has a single byte for the option length while DHCPv6 has a 16-bit field for the option length. Move the containing DHCP_OPTION() and related wrappers from the individual dhcp_arch.h files to dhcp.c, thus allowing for the architecture-specific values to be reused in dhcpv6.c. Signed-off-by: Michael Brown <mcb30@ipxe.org>
This commit is contained in:
@@ -82,9 +82,9 @@ static uint8_t dhcp_request_options_data[] = {
|
||||
DHCP_MESSAGE_TYPE, DHCP_BYTE ( 0 ),
|
||||
DHCP_MAX_MESSAGE_SIZE,
|
||||
DHCP_WORD ( ETH_MAX_MTU - 20 /* IP header */ - 8 /* UDP header */ ),
|
||||
DHCP_CLIENT_ARCHITECTURE, DHCP_ARCH_CLIENT_ARCHITECTURE,
|
||||
DHCP_CLIENT_NDI, DHCP_ARCH_CLIENT_NDI,
|
||||
DHCP_VENDOR_CLASS_ID, DHCP_ARCH_VENDOR_CLASS_ID,
|
||||
DHCP_CLIENT_ARCHITECTURE, DHCP_WORD ( DHCP_ARCH_CLIENT_ARCHITECTURE ),
|
||||
DHCP_CLIENT_NDI, DHCP_OPTION ( DHCP_ARCH_CLIENT_NDI ),
|
||||
DHCP_VENDOR_CLASS_ID, DHCP_STRING ( DHCP_ARCH_VENDOR_CLASS_ID ),
|
||||
DHCP_USER_CLASS_ID, DHCP_STRING ( 'i', 'P', 'X', 'E' ),
|
||||
DHCP_PARAMETER_REQUEST_LIST,
|
||||
DHCP_OPTION ( DHCP_SUBNET_MASK, DHCP_ROUTERS, DHCP_DNS_SERVERS,
|
||||
|
||||
Reference in New Issue
Block a user