> > Also I am getting the following Messages: (I have some debugging
> > turned on).
> >
> > tpc_listen_input: ACK in LISTEN, sending reset.
> > tcp_rst: seqno 5984823 ackno 3514939349.
>
> This suggests that packets are being sent or delivered to the
> listening socket when there should obviously be none other
> than SYNs going there.
> If you can get a packet capture of one of these that might
> through some light on it.
Could it be that the same pcb was set to listening state through
tcp_listen() and at
the same time (the same pcb) was used to connect somewhere (using
tcp_connect())?
That way, it could be that the pcb is on both lists (tcp_active_pcbs &
tcp_listen_pcbs),
which could be the reason a LISTEN pcb gets data...?
If I'm right, this could be tested by inserting the following line into
tcp_listen():
LWIP_ASSERT("connected pcb can't change to listen state!", (pcb->state
== LISTEN) || (pcb->state == CLOSED));
And the following line into tcp_connect():
LWIP_ASSERT("connected pcb can't change from listen state to
connect!", (pcb->state != LISTEN));
Any comments from Kieran are welcome, as I can't tell if this is right
or not, just seems right to me ;-)
Simon
_______________________________________________
lwip-users mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/lwip-users