aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShao Miller <shao.miller@yrdsb.edu.on.ca>2009-10-22 17:00:24 -0400
committerMarty Connor <mdc@etherboot.org>2010-01-14 11:13:10 -0500
commit9de525c34cad0252fe6ff823ee7e18240e472298 (patch)
tree2967ede491777bdfc63e7e8e903799517e49e1a4
parent5736f5eb329cf9904687915194bd2005ee531064 (diff)
downloadipxe-9de525c34cad0252fe6ff823ee7e18240e472298.zip
ipxe-9de525c34cad0252fe6ff823ee7e18240e472298.tar.gz
ipxe-9de525c34cad0252fe6ff823ee7e18240e472298.tar.bz2
[dhcp] Ensure message type is first DHCP option
Apparently, the DHCP relay logic on a Nortel 470-48T layer 2 switch cares about the order of DHCP options. Specifically, it requires that the DHCP message type option be the first option present in the DHCP packet. We achieve this by having this option appear first in our dhcp_request_options_data array, which pre-populates DHCP requests. Signed-off-by: Marty Connor <mdc@etherboot.org>
-rw-r--r--src/net/udp/dhcp.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/net/udp/dhcp.c b/src/net/udp/dhcp.c
index 17e543a..b0dd952 100644
--- a/src/net/udp/dhcp.c
+++ b/src/net/udp/dhcp.c
@@ -71,6 +71,7 @@ static const uint8_t dhcp_op[] = {
/** Raw option data for options common to all DHCP requests */
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_WORD ( 0 ),