[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [lwip-users] keep-alive not work
From: |
Kieran Mansley |
Subject: |
Re: [lwip-users] keep-alive not work |
Date: |
Wed, 18 Feb 2009 11:23:57 +0000 |
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] keep-alive not work, Bandu, 2009/02/17
- Re: [lwip-users] keep-alive not work, Kieran Mansley, 2009/02/18
- Re: [lwip-users] keep-alive not work, Bandu, 2009/02/18
- Re: [lwip-users] keep-alive not work, Kieran Mansley, 2009/02/18
- Re: [lwip-users] keep-alive not work, Bandu, 2009/02/18
- Re: [lwip-users] keep-alive not work, Kieran Mansley, 2009/02/18
- Re: [lwip-users] keep-alive not work, Bandu, 2009/02/18