diff options
author | Michael Brown | 2016-07-04 16:07:05 +0200 |
---|---|---|
committer | Michael Brown | 2016-07-04 16:07:05 +0200 |
commit | aeb62038119f1988b06fa6a55a74d3db65c64d79 (patch) | |
tree | ebc9d4c6f06f6af2de4e22d437815fbfd0ebe6fc /src/net | |
parent | [dhcpv6] Include vendor class identifier option in DHCPv6 requests (diff) | |
download | ipxe-aeb62038119f1988b06fa6a55a74d3db65c64d79.tar.gz ipxe-aeb62038119f1988b06fa6a55a74d3db65c64d79.tar.xz ipxe-aeb62038119f1988b06fa6a55a74d3db65c64d79.zip |
[dhcp] Automatically generate vendor class identifier string
The vendor class identifier strings in DHCP_ARCH_VENDOR_CLASS_ID are
out of sync with the (correct) client architecture values in
DHCP_ARCH_CLIENT_ARCHITECTURE.
Fix by removing all definitions of DHCP_ARCH_VENDOR_CLASS_ID, and
instead generating the vendor class identifier string automatically
based on DHCP_ARCH_CLIENT_ARCHITECTURE and DHCP_ARCH_CLIENT_NDI.
Signed-off-by: Michael Brown <mcb30@ipxe.org>
Diffstat (limited to 'src/net')
-rw-r--r-- | src/net/udp/dhcp.c | 4 | ||||
-rw-r--r-- | src/net/udp/dhcpv6.c | 4 |
2 files changed, 6 insertions, 2 deletions
diff --git a/src/net/udp/dhcp.c b/src/net/udp/dhcp.c index 0c6cea0f..b9c1fd90 100644 --- a/src/net/udp/dhcp.c +++ b/src/net/udp/dhcp.c @@ -84,7 +84,9 @@ static uint8_t dhcp_request_options_data[] = { DHCP_WORD ( ETH_MAX_MTU - 20 /* IP header */ - 8 /* UDP header */ ), 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_VENDOR_CLASS_ID, + DHCP_STRING ( DHCP_VENDOR_PXECLIENT ( DHCP_ARCH_CLIENT_ARCHITECTURE, + DHCP_ARCH_CLIENT_NDI ) ), DHCP_USER_CLASS_ID, DHCP_STRING ( 'i', 'P', 'X', 'E' ), DHCP_PARAMETER_REQUEST_LIST, DHCP_OPTION ( DHCP_SUBNET_MASK, DHCP_ROUTERS, DHCP_DNS_SERVERS, diff --git a/src/net/udp/dhcpv6.c b/src/net/udp/dhcpv6.c index ef07f54e..be1ed4ec 100644 --- a/src/net/udp/dhcpv6.c +++ b/src/net/udp/dhcpv6.c @@ -374,7 +374,9 @@ static uint8_t dhcpv6_request_options_data[] = { DHCPV6_CODE ( DHCPV6_BOOTFILE_PARAM ) ), DHCPV6_CODE ( DHCPV6_VENDOR_CLASS ), DHCPV6_OPTION ( DHCPV6_DWORD_VALUE ( DHCPV6_VENDOR_CLASS_PXE ), - DHCPV6_STRING ( DHCP_ARCH_VENDOR_CLASS_ID ) ), + DHCPV6_STRING ( + DHCP_VENDOR_PXECLIENT ( DHCP_ARCH_CLIENT_ARCHITECTURE, + DHCP_ARCH_CLIENT_NDI ) ) ), DHCPV6_CODE ( DHCPV6_CLIENT_ARCHITECTURE ), DHCPV6_WORD ( DHCP_ARCH_CLIENT_ARCHITECTURE ), DHCPV6_CODE ( DHCPV6_CLIENT_NDI ), |