diff --git a/include/dhcp.h b/include/dhcp.h index ce5ed61..0dced8e 100644 --- a/include/dhcp.h +++ b/include/dhcp.h @@ -28,6 +28,7 @@ IPaddr_t gateway; IPaddr_t nameserver; IPaddr_t serverip; + IPaddr_t dhcp_serverip; char *hostname; char *domainname; char *rootpath; diff --git a/net/dhcp.c b/net/dhcp.c index 984d32a..f41d2dd 100644 --- a/net/dhcp.c +++ b/net/dhcp.c @@ -300,7 +300,7 @@ net_copy_uint32(&dhcp_result->leasetime, popt); break; case 54: - dhcp_result->serverip = net_read_ip(popt); + dhcp_result->dhcp_serverip = net_read_ip(popt); break; case 66: dhcp_result->tftp_server_name = xstrndup(popt, optlen); @@ -378,8 +378,8 @@ /* * Copy options from OFFER packet if present */ - extlen = dhcp_extended(bp->bp_vend, DHCP_REQUEST, dhcp_result->serverip, - dhcp_result->ip); + extlen = dhcp_extended(bp->bp_vend, DHCP_REQUEST, + dhcp_result->dhcp_serverip, dhcp_result->ip); debug("Transmitting DHCPREQUEST packet\n"); net_udp_send(dhcp_con, sizeof(*bp) + extlen);