+2014-01-21 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
+
+ * grub-core/net/arp.c (grub_net_arp_send_request): Increase network try
+ interval gradually.
+ * grub-core/net/icmp6.c (grub_net_icmp6_send_request): Likewise.
+ * grub-core/net/net.c (grub_net_fs_read_real): Likewise.
+ * grub-core/net/tftp.c (tftp_open): Likewise.
+ * include/grub/net.h (GRUB_NET_INTERVAL_ADDITION): New define.
+
2014-01-21 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
* grub-core/net/net.c (receive_packets): Change stop condition to avoid
return GRUB_ERR_NONE;
pending_req = proto_addr->ipv4;
have_pending = 0;
- grub_net_poll_cards (GRUB_NET_INTERVAL, &have_pending);
+ grub_net_poll_cards (GRUB_NET_INTERVAL + (i * GRUB_NET_INTERVAL_ADDITION),
+ &have_pending);
if (grub_net_link_layer_resolve_check (inf, proto_addr))
return GRUB_ERR_NONE;
nb.data = nbd;
{
if (grub_net_link_layer_resolve_check (inf, proto_addr))
break;
- grub_net_poll_cards (GRUB_NET_INTERVAL, 0);
+ grub_net_poll_cards (GRUB_NET_INTERVAL + (i * GRUB_NET_INTERVAL_ADDITION),
+ 0);
if (grub_net_link_layer_resolve_check (inf, proto_addr))
break;
nb->data = nbd;
if (!net->eof)
{
try++;
- grub_net_poll_cards (GRUB_NET_INTERVAL, &net->stall);
- }
+ grub_net_poll_cards (GRUB_NET_INTERVAL +
+ (try * GRUB_NET_INTERVAL_ADDITION), &net->stall);
+ }
else
return total;
}
destroy_pq (data);
return err;
}
- grub_net_poll_cards (GRUB_NET_INTERVAL, &data->have_oack);
+ grub_net_poll_cards (GRUB_NET_INTERVAL + (i * GRUB_NET_INTERVAL_ADDITION),
+ &data->have_oack);
if (data->have_oack)
break;
}
#define GRUB_NET_TRIES 40
#define GRUB_NET_INTERVAL 400
+#define GRUB_NET_INTERVAL_ADDITION 20
#endif /* ! GRUB_NET_HEADER */