---- a/networking/udhcp/clientpacket.c
-+++ b/networking/udhcp/clientpacket.c
-@@ -101,6 +101,7 @@ int send_decline(uint32_t xid, uint32_t
- int send_discover(uint32_t xid, uint32_t requested)
+--- a/networking/udhcp/dhcpc.c
++++ b/networking/udhcp/dhcpc.c
+@@ -436,6 +436,7 @@ static int raw_bcast_from_client_config_
+ static NOINLINE int send_discover(uint32_t xid, uint32_t requested)
{
- struct dhcpMessage packet;
+ struct dhcp_packet packet;
+ static int msgs = 0;
- init_packet(&packet, DHCPDISCOVER);
- packet.xid = xid;
-@@ -113,6 +114,7 @@ int send_discover(uint32_t xid, uint32_t
-
- add_param_req_option(&packet);
+ /* Fill in: op, htype, hlen, cookie, chaddr fields,
+ * random xid field (we override it below),
+@@ -453,6 +454,7 @@ static NOINLINE int send_discover(uint32
+ */
+ add_client_options(&packet);
+ if (msgs++ < 3)
bb_info_msg("Sending discover...");
- return udhcp_send_raw_packet(&packet, INADDR_ANY, CLIENT_PORT, INADDR_BROADCAST,
- SERVER_PORT, MAC_BCAST_ADDR, client_config.ifindex);
+ return raw_bcast_from_client_config_ifindex(&packet);
+ }