On Wed, 2009-02-18 at 10:37 +0000, Bandu wrote: > Sorry Kieran. Its turn out that I didn't subscribe to lwip-devel. I > posted it there wrong. sorry for that. > > I attached the wireshark trace. (its packet 117). > I used lwip 1.3.0.
There was a problem reported for a zero-window probes (which are very similar to the keep alive probes) where because we don't set the ACK flag windows hosts do not reply. The trace you provide shows that the keep alive probe doesn't have the ACK flag set, so I'd guess you've got the same problem. Could you try replacing, in src/core/tcp_out.c:tcp_keepalive(): tcphdr->ackno = htonl(pcb->rcv_nxt); TCPH_FLAGS_SET(tcphdr, 0); tcphdr->wnd = htons(pcb->rcv_ann_wnd); tcphdr->urgp = 0; with: tcphdr->ackno = htonl(pcb->rcv_nxt); TCPH_FLAGS_SET(tcphdr, TCP_ACK); tcphdr->wnd = htons(pcb->rcv_ann_wnd) + 1; tcphdr->urgp = 0; (I've also fixed the window in the packet with that change to not shrink what we advertise by one octet). If that works, please open a bug and this code should get checked in. We should really make the same change to the tcp_zero_window_probe() function below it which has the same block of code. Thanks Kieran _______________________________________________ lwip-users mailing list [email protected] http://lists.nongnu.org/mailman/listinfo/lwip-users
