[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [lwip-users] Router issues with lwip

From: K.J. Mansley
Subject: Re: [lwip-users] Router issues with lwip
Date: 23 Jun 2004 09:28:36 +0100

On Tue, 2004-06-22 at 06:20, Martin Glunz wrote:
> "K.J. Mansley" wrote:
> > 
> > > I've done a simple (and obvious) workaround:
> > >
> > >       if (TCP_SEQ_GEQ(seqno, pcb->rcv_nxt - pcb->rcv_wnd) &&   //
> > > workaround for rp614v2
> > >         TCP_SEQ_LEQ(seqno, pcb->rcv_nxt + pcb->rcv_wnd)) {
> > >
> > > Any comments?
> > 
> > That's a rather hacky solution, and I'm not convinced that it is correct
> > to send a RST with an out-of-window sequence number.  Can you provide a
> > tcpdump or ethereal trace (from the PC node) showing the seq numbers,
> > flags, and the times they are sent/received?
> > 
> I totally agree that this a quick and dirty hack, but I needed to get
> the device to work ...
> OK, here's the tcpdump:

As I understand there seems to be two problems here:

1) The missed FIN

2) The missed RST

With the latter, it seems odd to me that the sequence number of the RST
is the same as that of the FIN.  As I understand TCP, SYN and FIN
packets increment the sequence number, so you would expect the RST to
have (in your trace) a sequence number of 3780613832 rather than
3780613831.  Does anyone else have any thoughts on this?  

Perhaps the easiest thing to do here would be less picky about the
sequence numbers of RST packets that we except?

As far as the missed FIN goes, that is indeed odd, and difficult for me
to debug.  It does get acknowledged, after a short delay and a couple of
other packets being sent out (as you might expect), but nothing seems to
be acting on that.  Is it possible that whatever application you have
using the lwIP stack is not responding to the EOF, or whatever?  If
everything is OK there, any chance you could turn some of the debug
flags on to see if anything interesting is output there?



reply via email to

[Prev in Thread] Current Thread [Next in Thread]