[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [lwip-users] Timeout in LAST-ACK state
From: |
Mitani Hiroshi |
Subject: |
Re: [lwip-users] Timeout in LAST-ACK state |
Date: |
Tue, 20 Dec 2005 10:07:45 +0900 |
User-agent: |
Mozilla Thunderbird 1.0.7 (Windows/20050923) |
Hi Leon,
I observed lwip stalling at passive-close. TCP state was LAST-ACK.
Maybe ack-packet was lost. It is not so often, but possible.
I want lwip to close connection after 2MSL timer expired.
Here is a patch(just cut&paste from other timeouts).
*** tcp.c.orig Tue Dec 20 09:40:52 2005
--- tcp.c Tue Dec 20 09:43:55 2005
***************
*** 561,566 ****
--- 561,573 ----
}
}
+ /* Check if this PCB has stayed too long in LAST-ACK */
+ if (pcb->state == LAST_ACK) {
+ if ((u32_t)(tcp_ticks - pcb->tmr) > 2 * TCP_MSL / TCP_SLOW_INTERVAL) {
+ ++pcb_remove;
+ LWIP_DEBUGF(TCP_DEBUG, ("tcp_slowtmr: removing pcb stuck in
LAST-ACK\n"));
+ }
+ }
/* If the PCB should be removed, do it. */
if (pcb_remove) {
Is this meaningless?
Leon Woestenberg wrote:
> Hello Mitrani Hiroshi,
>
> Mitani Hiroshi wrote:
>
>>Hi,
>>
>>In 1.1.0, the lwip waits ack forever in LAST-ACK state.
>>Isn't 2-MSL timer necessary to move to CLOSE state?
>>
>>
> Please explain more thoroughly what is the problem and what is the fix?
> (Sorry, my knowledge of TCP is not in-detail).
>
> Regards,
>
> Leon.
>
>
> _______________________________________________
> lwip-users mailing list
> address@hidden
> http://lists.nongnu.org/mailman/listinfo/lwip-users