I think I tracked the problem down. I had this situation several times: (R = remote; L = LWIP) 1: R -> L Syn 2: L -> R Ack, Syn 3: R -> L Ack (probably missed) 4: R -> L POST Data (probably missed) ... n: R -> L Fin, Ack
After line 1 and 2 pcb->state should be SYN_SENT. I assume line 3 and 4 are missed. The next received packet is line n (Fin, Ack), so tcp_process does a tcp_rst. But the pbuf that contains line n is never freed!
I think tcp_process should return an error to free pbuf. Please correct me when I'm wrong. Gustl _______________________________________________ lwip-users mailing list lwip-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/lwip-users