mirror of
https://github.com/xcat2/xNBA.git
synced 2025-01-08 12:35:28 +00:00
[DHCP] Fix DHCP state confusion.
DHCP code was using an incorrect check for whether to construct a DHCPDISCOVER or DHCPREQUEST packet.
This commit is contained in:
parent
8f00c84828
commit
7234f91bf8
@ -622,7 +622,7 @@ static int dhcp_send_request ( struct dhcp_session *dhcp ) {
|
||||
.netdev = dhcp->netdev,
|
||||
};
|
||||
struct io_buffer *iobuf;
|
||||
struct dhcp_packet *dhcpoffer;
|
||||
struct dhcp_packet *dhcpoffer = NULL;
|
||||
struct dhcp_packet dhcppkt;
|
||||
int rc;
|
||||
|
||||
@ -643,7 +643,10 @@ static int dhcp_send_request ( struct dhcp_session *dhcp ) {
|
||||
return -ENOMEM;
|
||||
|
||||
/* Create DHCP packet in temporary buffer */
|
||||
dhcpoffer = ( dhcp->response ? &dhcp->response->dhcppkt : NULL );
|
||||
if ( dhcp->state == DHCPREQUEST ) {
|
||||
assert ( dhcp->response );
|
||||
dhcpoffer = &dhcp->response->dhcppkt;
|
||||
}
|
||||
if ( ( rc = create_dhcp_request ( &dhcppkt, dhcp->netdev,
|
||||
dhcpoffer, iobuf->data,
|
||||
iob_tailroom ( iobuf ) ) ) != 0 ) {
|
||||
|
Loading…
Reference in New Issue
Block a user