[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[lwip-devel] [bug #32417] TCP_OVERSIZE seems to have problems with (fast
From: |
Joe Eykholt |
Subject: |
[lwip-devel] [bug #32417] TCP_OVERSIZE seems to have problems with (fast-)retransmission |
Date: |
Tue, 06 Dec 2011 17:18:24 +0000 |
User-agent: |
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_2) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.59 Safari/535.7 |
Follow-up Comment #5, bug #32417 (project lwip):
On September 4, 2011, I posted this on the developer list:
I think I've come up with fixes for this and a related problem.
1. pcb->last_oversize would not match last_seg->oversize_left
causing an assert failure. This occurs after retransmission when
the retransmitted frame becomes the only frame on the unsent list.
Fix by clearing seg->oversize_left when sending the frame for the
first time.
2. When a segment is requeued on the unsent list for retransmission,
occasionally tcp_write() would tack on more data either in the oversize,
or as additional pbufs. If the window size is sufficiently small,
and the original transmission was eventually acked, the frame would
not be re-sent, causing the (one-way) connection to hang.
3. The fix to bug 34019 may also help, so I included that in my patch.
Note that the single-PBUF #define should keep tcp_write() from
appending additional PBUFs, but doesn't. I haven't fixed that yet.
The patch I used is attached. This is for 1.4.0-rc1, but should apply to
later versions as well. I'll verify later and may be back with an update.
http://old.nabble.com/file/p32397830/lwip-32417.patch lwip-32417.patch
I think this explains the root cause (at least in my setup) for this problem,
and I've been running this fix for three months. Could these changes be
checked in as well?
_______________________________________________________
Reply to this item at:
<http://savannah.nongnu.org/bugs/?32417>
_______________________________________________
Message sent via/by Savannah
http://savannah.nongnu.org/
- [lwip-devel] [bug #32417] TCP_OVERSIZE seems to have problems with (fast-)retransmission,
Joe Eykholt <=