summaryrefslogtreecommitdiffstats
path: root/src/net
diff options
context:
space:
mode:
authorMichael Brown2016-07-04 16:07:05 +0200
committerMichael Brown2016-07-04 16:07:05 +0200
commitaeb62038119f1988b06fa6a55a74d3db65c64d79 (patch)
treeebc9d4c6f06f6af2de4e22d437815fbfd0ebe6fc /src/net
parent[dhcpv6] Include vendor class identifier option in DHCPv6 requests (diff)
downloadipxe-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.c4
-rw-r--r--src/net/udp/dhcpv6.c4
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 ),