2017-10-24 1:13 GMT+08:00 Mattia Settin <[email protected]>:
> 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
[email protected]
https://lists.nongnu.org/mailman/listinfo/lwip-users