[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[lwip-devel] [bug #34427] In RAW/NO_SYS mode, tcp_output may send out la

From: Simon Goldschmidt
Subject: [lwip-devel] [bug #34427] In RAW/NO_SYS mode, tcp_output may send out large number of ARQ REQ if destination ARP entry has expired
Date: Thu, 29 Sep 2011 06:03:23 +0000
User-agent: Mozilla/5.0 (Windows NT 5.1; rv:7.0) Gecko/20100101 Firefox/7.0

Follow-up Comment #1, bug #34427 (project lwip):

We should at least limit the number of ARP requests to 1 per second or so
(I'll check the RFCs for a value), to prevent ARP flooding (a general problem,
not only for TCP). Unfortunately, we only have a 5-second timer in etharp.c
(which is too long for retransmissions, I guess), so we might need to decrease
that timer.

As an optimization, making TCP aware of the ARP status (in a more general
form) seems like a good idea to improve both throughput and resource usage
(prevent packets being buffered by TCP *and* ARP). However, this would mean
the TCP code would have to poll for success (in tcp_fasttmr), which would mean
quite an overhead.

Doesn't enabling ARP_QUEUEING help you (if the number of ARP requests per
second was limited)? That way, all original packets would be sent when the
response comes in.

BTW: The problem of ARP entries timing out although in frequent use is solved
in git already, so your problem only arises when you have a long time of
silence on a TCP connection without closing it - a new TCP connection doesn't
lead to ARP flooding since only the SYN is transmitted.


Reply to this item at:


  Nachricht geschickt von/durch Savannah

reply via email to

[Prev in Thread] Current Thread [Next in Thread]