lwip-users
[Top][All Lists]
Advanced

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

Re: [lwip-users] Router issues with lwip


From: Martin Glunz
Subject: Re: [lwip-users] Router issues with lwip
Date: Tue, 22 Jun 2004 07:20:19 +0200

"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:

PC side with my hack applied to lwip:

address@hidden:/home/mg > tcpdump -i eth0 port 1235
Kernel filter, protocol ALL, datagram packet socket
tcpdump: listening on eth0
06:48:18.312474 l6.ek.32812 > p5085B789.dip0.t-ipconnect.de.1235: S
3565398445:3565398445(0) win 5840 <mss 1460,sackOK,timestamp 141243
0,nop,wscale 0> (DF)
06:48:18.372474 p5085B789.dip0.t-ipconnect.de.1235 > l6.ek.32812: S
267398:267398(0) ack 3565398446 win 5840 <mss 1410>
06:48:18.372474 l6.ek.32812 > p5085B789.dip0.t-ipconnect.de.1235: .
1:1(0) ack 1 win 5840 (DF)
06:48:18.372474 l6.ek.32812 > p5085B789.dip0.t-ipconnect.de.1235: .
1:1(0) ack 1 win 5840 (DF)
06:48:18.592474 p5085B789.dip0.t-ipconnect.de.1235 > l6.ek.32812: .
1:1411(1410) ack 1 win 5840
06:48:18.592474 l6.ek.32812 > p5085B789.dip0.t-ipconnect.de.1235: .
1:1(0) ack 1411 win 8460 (DF)
06:48:18.752473 p5085B789.dip0.t-ipconnect.de.1235 > l6.ek.32812: .
1411:2821(1410) ack 1 win 5840
06:48:18.752473 l6.ek.32812 > p5085B789.dip0.t-ipconnect.de.1235: .
1:1(0) ack 2821 win 11280 (DF)
06:48:18.832473 p5085B789.dip0.t-ipconnect.de.1235 > l6.ek.32812: .
2821:4231(1410) ack 1 win 5840
06:48:18.832473 l6.ek.32812 > p5085B789.dip0.t-ipconnect.de.1235: .
1:1(0) ack 4231 win 14100 (DF)
06:48:18.842473 l6.ek.32812 > p5085B789.dip0.t-ipconnect.de.1235: F
1:1(0) ack 4231 win 14100 (DF)
06:48:18.962473 p5085B789.dip0.t-ipconnect.de.1235 > l6.ek.32812: .
4231:5641(1410) ack 1 win 5840
06:48:18.962473 l6.ek.32812 > p5085B789.dip0.t-ipconnect.de.1235: R
3565398446:3565398446(0) win 0 (DF)
06:48:19.052473 p5085B789.dip0.t-ipconnect.de.1235 > l6.ek.32812: .
5641:7051(1410) ack 1 win 5840
06:48:19.052473 l6.ek.32812 > p5085B789.dip0.t-ipconnect.de.1235: R
3565398446:3565398446(0) win 0 (DF)
06:48:19.142472 p5085B789.dip0.t-ipconnect.de.1235 > l6.ek.32812: .
7051:8461(1410) ack 1 win 5840
06:48:19.142472 l6.ek.32812 > p5085B789.dip0.t-ipconnect.de.1235: R
3565398446:3565398446(0) win 0 (DF)
06:48:19.222472 p5085B789.dip0.t-ipconnect.de.1235 > l6.ek.32812: .
8461:9871(1410) ack 1 win 5840
06:48:19.222472 l6.ek.32812 > p5085B789.dip0.t-ipconnect.de.1235: R
3565398446:3565398446(0) win 0 (DF)
06:48:19.222472 p5085B789.dip0.t-ipconnect.de.1235 > l6.ek.32812: .
9871:9871(0) ack 2 win 5839
06:48:19.222472 l6.ek.32812 > p5085B789.dip0.t-ipconnect.de.1235: R
3565398447:3565398447(0) win 0 (DF)

LWIP side with hack:

address@hidden:/home/mg > tcpdump -i eth1 port 1235
Kernel filter, protocol ALL, datagram packet socket
tcpdump: listening on eth1
06:48:18.342474 pD9EF134E.dip.t-dialin.net.65002 > 192.168.3.235.1235: S
3565398445:3565398445(0) win 5840 <mss 1410,sackOK,timestamp 141243
0,nop,wscale 0> (DF)
06:48:18.342474 192.168.3.235.1235 > pD9EF134E.dip.t-dialin.net.65002: S
267398:267398(0) ack 3565398446 win 5840 <mss 1410>
06:48:18.392474 pD9EF134E.dip.t-dialin.net.65002 > 192.168.3.235.1235: .
1:1(0) ack 1 win 5840 (DF)
06:48:18.402474 pD9EF134E.dip.t-dialin.net.65002 > 192.168.3.235.1235: .
1:1(0) ack 1 win 5840 (DF)
06:48:18.462474 192.168.3.235.1235 > pD9EF134E.dip.t-dialin.net.65002: .
1:1411(1410) ack 1 win 5840
06:48:18.612474 pD9EF134E.dip.t-dialin.net.65002 > 192.168.3.235.1235: .
1:1(0) ack 1411 win 8460 (DF)
06:48:18.622474 192.168.3.235.1235 > pD9EF134E.dip.t-dialin.net.65002: .
1411:2821(1410) ack 1 win 5840
06:48:18.622474 192.168.3.235.1235 > pD9EF134E.dip.t-dialin.net.65002: .
2821:4231(1410) ack 1 win 5840
06:48:18.832473 pD9EF134E.dip.t-dialin.net.65002 > 192.168.3.235.1235: .
1:1(0) ack 2821 win 11280 (DF)
06:48:18.842473 192.168.3.235.1235 > pD9EF134E.dip.t-dialin.net.65002: .
4231:5641(1410) ack 1 win 5840
06:48:18.842473 192.168.3.235.1235 > pD9EF134E.dip.t-dialin.net.65002: .
5641:7051(1410) ack 1 win 5840
06:48:18.862473 pD9EF134E.dip.t-dialin.net.65002 > 192.168.3.235.1235: .
1:1(0) ack 4231 win 14100 (DF)
06:48:18.872473 192.168.3.235.1235 > pD9EF134E.dip.t-dialin.net.65002: .
7051:8461(1410) ack 1 win 5840
06:48:18.872473 192.168.3.235.1235 > pD9EF134E.dip.t-dialin.net.65002: .
8461:9871(1410) ack 1 win 5840
06:48:19.052473 pD9EF134E.dip.t-dialin.net.65002 > 192.168.3.235.1235: F
1:1(0) ack 4231 win 14100 (DF)
06:48:19.052473 192.168.3.235.1235 > pD9EF134E.dip.t-dialin.net.65002: .
9871:9871(0) ack 2 win 5839
06:48:19.222472 pD9EF134E.dip.t-dialin.net.65002 > 192.168.3.235.1235: R
3565398446:3565398446(0) win 0 (DF)

PC side without the hack:

address@hidden:/home/mg > tcpdump -i eth0 port 1235
Kernel filter, protocol ALL, datagram packet socket
tcpdump: listening on eth0
06:51:41.891989 l6.ek.32819 > p5085B789.dip0.t-ipconnect.de.1235: S
3780613830:3780613830(0) win 5840 <mss 1460,sackOK,timestamp 161601
0,nop,wscale 0> (DF)
06:51:41.951989 p5085B789.dip0.t-ipconnect.de.1235 > l6.ek.32819: S
6534:6534(0) ack 3780613831 win 5840 <mss 1410>
06:51:41.951989 l6.ek.32819 > p5085B789.dip0.t-ipconnect.de.1235: .
1:1(0) ack 1 win 5840 (DF)
06:51:41.951989 l6.ek.32819 > p5085B789.dip0.t-ipconnect.de.1235: .
1:1(0) ack 1 win 5840 (DF)
06:51:42.121989 p5085B789.dip0.t-ipconnect.de.1235 > l6.ek.32819: .
1:1411(1410) ack 1 win 5840
06:51:42.121989 l6.ek.32819 > p5085B789.dip0.t-ipconnect.de.1235: .
1:1(0) ack 1411 win 8460 (DF)
06:51:42.281989 p5085B789.dip0.t-ipconnect.de.1235 > l6.ek.32819: .
1411:2821(1410) ack 1 win 5840
06:51:42.281989 l6.ek.32819 > p5085B789.dip0.t-ipconnect.de.1235: .
1:1(0) ack 2821 win 11280 (DF)
06:51:42.281989 l6.ek.32819 > p5085B789.dip0.t-ipconnect.de.1235: F
1:1(0) ack 2821 win 11280 (DF)
06:51:42.361988 p5085B789.dip0.t-ipconnect.de.1235 > l6.ek.32819: .
2821:4231(1410) ack 1 win 5840
06:51:42.361988 l6.ek.32819 > p5085B789.dip0.t-ipconnect.de.1235: R
3780613831:3780613831(0) win 0 (DF)
06:51:42.491988 p5085B789.dip0.t-ipconnect.de.1235 > l6.ek.32819: .
4231:5641(1410) ack 1 win 5840
06:51:42.491988 l6.ek.32819 > p5085B789.dip0.t-ipconnect.de.1235: R
3780613831:3780613831(0) win 0 (DF)
06:51:42.581988 p5085B789.dip0.t-ipconnect.de.1235 > l6.ek.32819: .
5641:7051(1410) ack 1 win 5840
06:51:42.581988 l6.ek.32819 > p5085B789.dip0.t-ipconnect.de.1235: R
3780613831:3780613831(0) win 0 (DF)
06:51:42.581988 p5085B789.dip0.t-ipconnect.de.1235 > l6.ek.32819: .
7051:7051(0) ack 2 win 5839
06:51:42.581988 l6.ek.32819 > p5085B789.dip0.t-ipconnect.de.1235: R
3780613832:3780613832(0) win 0 (DF)

LWIP side without the hack:

address@hidden:/home/mg > tcpdump -i eth1 port 1235
Kernel filter, protocol ALL, datagram packet socket
tcpdump: listening on eth1
06:51:41.921989 pD9EF134E.dip.t-dialin.net.65004 > 192.168.3.235.1235: S
3780613830:3780613830(0) win 5840 <mss 1410,sackOK,timestamp 161601
0,nop,wscale 0> (DF)
06:51:41.921989 192.168.3.235.1235 > pD9EF134E.dip.t-dialin.net.65004: S
6534:6534(0) ack 3780613831 win 5840 <mss 1410>
06:51:41.981989 pD9EF134E.dip.t-dialin.net.65004 > 192.168.3.235.1235: .
1:1(0) ack 1 win 5840 (DF)
06:51:41.981989 pD9EF134E.dip.t-dialin.net.65004 > 192.168.3.235.1235: .
1:1(0) ack 1 win 5840 (DF)
06:51:41.991989 192.168.3.235.1235 > pD9EF134E.dip.t-dialin.net.65004: .
1:1411(1410) ack 1 win 5840
06:51:42.151989 pD9EF134E.dip.t-dialin.net.65004 > 192.168.3.235.1235: .
1:1(0) ack 1411 win 8460 (DF)
06:51:42.151989 192.168.3.235.1235 > pD9EF134E.dip.t-dialin.net.65004: .
1411:2821(1410) ack 1 win 5840
06:51:42.151989 192.168.3.235.1235 > pD9EF134E.dip.t-dialin.net.65004: .
2821:4231(1410) ack 1 win 5840
06:51:42.361988 pD9EF134E.dip.t-dialin.net.65004 > 192.168.3.235.1235: .
1:1(0) ack 2821 win 11280 (DF)
06:51:42.361988 pD9EF134E.dip.t-dialin.net.65004 > 192.168.3.235.1235: F
1:1(0) ack 2821 win 11280 (DF)
06:51:42.371988 192.168.3.235.1235 > pD9EF134E.dip.t-dialin.net.65004: .
4231:5641(1410) ack 1 win 5840
06:51:42.371988 192.168.3.235.1235 > pD9EF134E.dip.t-dialin.net.65004: .
5641:7051(1410) ack 1 win 5840
06:51:42.371988 192.168.3.235.1235 > pD9EF134E.dip.t-dialin.net.65004: .
7051:7051(0) ack 2 win 5839
06:51:42.391988 pD9EF134E.dip.t-dialin.net.65004 > 192.168.3.235.1235: R
3780613831:3780613831(0) win 0 (DF)
06:51:44.011984 192.168.3.235.1235 > pD9EF134E.dip.t-dialin.net.65004: .
2821:4231(1410) ack 2 win 5839
06:51:44.021984 192.168.3.235.1235 > pD9EF134E.dip.t-dialin.net.65004: .
4231:5641(1410) ack 2 win 5839
06:51:44.021984 192.168.3.235.1235 > pD9EF134E.dip.t-dialin.net.65004: .
5641:7051(1410) ack 2 win 5839
06:51:48.191974 192.168.3.235.1235 > pD9EF134E.dip.t-dialin.net.65004: .
2821:4231(1410) ack 2 win 5839
06:51:56.511954 192.168.3.235.1235 > pD9EF134E.dip.t-dialin.net.65004: .
2821:4231(1410) ack 2 win 5839
06:52:13.051914 192.168.3.235.1235 > pD9EF134E.dip.t-dialin.net.65004: .
2821:4231(1410) ack 2 win 5839
06:52:46.161834 192.168.3.235.1235 > pD9EF134E.dip.t-dialin.net.65004: .
2821:4231(1410) ack 2 win 5839
06:53:52.471674 192.168.3.235.1235 > pD9EF134E.dip.t-dialin.net.65004: .
2821:4231(1410) ack 2 win 5839



-- 
MfG
Martin Glunz

fortune says today:
Under a government which imprisons any unjustly, the true place for a
just man is also a prison.
                -- Henry David Thoreau

WANTED: Schrödinger's Cat. Dead or Alive.

Isn't vi that text editor with two modes... one that beeps and one that
corrupts your file?




reply via email to

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