david/ipxe
david
/
ipxe
Archived
1
0
Fork 0

Set DHCP_MESSAGE_TYPE option within the main options block. This

doesn't seem to be required by the RFCs, but at least ISC dhcpd and
ethereal refuse to recognise it otherwise.
This commit is contained in:
Michael Brown 2006-07-20 00:18:50 +00:00
parent 881b90e82c
commit 9ad5cede96
1 changed files with 8 additions and 6 deletions

View File

@ -232,7 +232,6 @@ static int create_dhcp_packet ( struct dhcp_session *dhcp, uint8_t msgtype,
struct dhcphdr *dhcphdr = data;
static const uint8_t overloading = ( DHCP_OPTION_OVERLOAD_FILE |
DHCP_OPTION_OVERLOAD_SNAME );
int rc;
/* Sanity check */
if ( max_len < sizeof ( *dhcphdr ) )
@ -264,11 +263,14 @@ static int create_dhcp_packet ( struct dhcp_session *dhcp, uint8_t msgtype,
sizeof ( overloading ) ) == NULL )
return -ENOSPC;
/* Set DHCP_MESSAGE_TYPE option */
if ( ( rc = set_dhcp_packet_option ( dhcppkt, DHCP_MESSAGE_TYPE,
&msgtype,
sizeof ( msgtype ) ) ) != 0 )
return rc;
/* Set DHCP_MESSAGE_TYPE option within the main options block.
* This doesn't seem to be required by the RFCs, but at least
* ISC dhcpd and ethereal refuse to recognise it otherwise.
*/
if ( set_dhcp_option ( &dhcppkt->options[OPTS_MAIN],
DHCP_MESSAGE_TYPE, &msgtype,
sizeof ( msgtype ) ) == NULL )
return -ENOSPC;
return 0;
}