[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:
<http://savannah.nongnu.org/bugs/?34427>
_______________________________________________
Nachricht geschickt von/durch Savannah
http://savannah.nongnu.org/