[dhcp] Ensure message type is first DHCP option
authorShao Miller <shao.miller@yrdsb.edu.on.ca>
Thu, 22 Oct 2009 21:00:24 +0000 (17:00 -0400)
committerMarty Connor <mdc@etherboot.org>
Thu, 14 Jan 2010 16:13:10 +0000 (11:13 -0500)
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>
src/net/udp/dhcp.c

index 17e543a..b0dd952 100644 (file)
@@ -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 ),