9
0
Fork 0

net: arp_request: do not retry endlessly

Signed-off-by: Wolfram Sang <w.sang@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
This commit is contained in:
Wolfram Sang 2012-04-04 18:04:42 +02:00 committed by Sascha Hauer
parent f31693eb58
commit 56f6bfb820
2 changed files with 7 additions and 0 deletions

View File

@ -21,6 +21,8 @@
#include <led.h>
#include <asm/byteorder.h> /* for nton* / ntoh* stuff */
/* How often do we retry to send packages */
#define PKT_NUM_RETRIES 4
/* The number of receive packet buffers */
#define PKTBUFSRX 4

View File

@ -223,6 +223,7 @@ static int arp_request(IPaddr_t dest, unsigned char *ether)
uint64_t arp_start;
static char *arp_packet;
struct ethernet *et;
unsigned retries = 0;
if (!arp_packet) {
arp_packet = net_alloc_packet();
@ -277,8 +278,12 @@ static int arp_request(IPaddr_t dest, unsigned char *ether)
printf("T ");
arp_start = get_time_ns();
eth_send(arp_packet, ETHER_HDR_SIZE + ARP_HDR_SIZE);
retries++;
}
if (retries > PKT_NUM_RETRIES)
return -ETIMEDOUT;
net_poll();
}