|
From: | Mattia Settin |
Subject: | Re: [lwip-users] lwip 1.4.1 send a sporadic RST ACK |
Date: | Tue, 24 Oct 2017 11:35:56 +0200 |
2017-10-24 1:13 GMT+08:00 Mattia Settin <address@hidden>:
> Dear all
> After a week of debugging I finally find the issue. The problem is related to priority in pcb.
> Taking a deep look I saw that the priority in the stack 1.4.1 is change, in particular:
> Tcp_alloc return e pcb with a prior equal to the prior passed in input.
> Tcp_listen_with_backlog return e pcb with a prior equal to the pcb.prior passed in input.
> This two changes lead to a sporadic RST ACK call from the kill_prio routine.
> Finally I fix this issue removing the equal condition in the kill_prio function.
The comment on the code seems confusion for "the same priority case":
(I check the latest git tree)
Th comment on the caller:
/* Try killing active connections with lower priority than
the new one. */
LWIP_DEBUGF(TCP_DEBUG, ("tcp_alloc: killing connection with
prio lower than %d\n", prio));
tcp_kill_prio(prio);
But the comment on tcp_kill_prio() function:
/**
* Kills the oldest active connection that has the same or lower priority than
* 'prio'.
_______________________________________________
lwip-users mailing list
address@hidden
https://lists.nongnu.org/mailman/listinfo/lwip-users
[Prev in Thread] | Current Thread | [Next in Thread] |