-diff -ur busybox.old/networking/udhcp/clientpacket.c busybox.dev/networking/udhcp/clientpacket.c
---- busybox.old/networking/udhcp/clientpacket.c 2007-03-18 17:59:24.000000000 +0100
-+++ busybox.dev/networking/udhcp/clientpacket.c 2007-05-14 16:03:26.698979472 +0200
-@@ -78,6 +78,7 @@
- int send_discover(unsigned long xid, unsigned long requested)
+--- a/networking/udhcp/dhcpc.c
++++ b/networking/udhcp/dhcpc.c
+@@ -428,6 +428,7 @@ static int raw_bcast_from_client_config_
+ static 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;
-@@ -85,7 +86,8 @@
- add_simple_option(packet.options, DHCP_REQUESTED_IP, requested);
+@@ -438,6 +439,7 @@ static int send_discover(uint32_t xid, u
+ udhcp_add_simple_option(&packet, DHCP_MAX_SIZE, htons(576));
+ add_client_options(&packet);
- add_requests(&packet);
-- bb_info_msg("Sending discover...");
+ if (msgs++ < 3)
-+ bb_info_msg("Sending discover...");
- return udhcp_raw_packet(&packet, INADDR_ANY, CLIENT_PORT, INADDR_BROADCAST,
- SERVER_PORT, MAC_BCAST_ADDR, client_config.ifindex);
+ bb_info_msg("Sending discover...");
+ return raw_bcast_from_client_config_ifindex(&packet);
}