lkml.org 
[lkml]   [1996]   [Mar]   [31]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: Slow PPP - caused by duplicate packets?
>>>>> Linus Torvalds <torvalds@cs.helsinki.fi> writes:

> On Sat, 30 Mar 1996, David Monro wrote:

>> So I grabbed tcpdump and had a look at the packets, and there seem to be
>> duplicate packets on my link! At the end of this mail, you will find the
>> tcpdump output for one screenful of text. staff is the remote server
>> machine, running Solaris 2.5. Fuzzbox is the local Linux box, running
>> 1.3.79.

> Umm.. The tcpdump info you include would seem to indicate that linux is
> doing everything correctly, and that the Solaris box is doing something
> stupid.

> However, I can't imagine that Solaris started doing stupid things for
> everybody in the 1.3.7x timeframe and worked fine before that, so there
> must be something we're not seeing here. Does anybody have access to
> tcpdump at the _other_ end?

I am seeing a similar problem between two Linux boxes, python and yorick.
python is my home machine, a P90 running 1.3.80. yorick is the machine on
my desk at work, a P133 also running 1.3.80. I'm dialed up to a Livingston
Portmaster using CSLIP. The below is what I get from tcpdump on both ends
from typing 'jason' quickly.

The problem appears to begin when python sends a packet twice to change the
ack rather than sending an ack without the packet (bug?). After that, each
host acks twice and sends the packet twice. I presume that sending a
packet twice in response to two acks is a bug...

From python:

[root@python tcpdump-3.0.2]# ./tcpdump port 1023
tcpdump: listening on sl0
16:22:03.877276 python.cygnus.com.1023 > yorick.cygnus.com.login: P 4196702082:4196702083(1) ack 4196806364 win 29648 (DF) [tos 0x10]
16:22:04.007276 yorick.cygnus.com.login > python.cygnus.com.1023: P 1:2(1) ack 1 win 29634 (DF) [tos 0x10]
16:22:04.007276 python.cygnus.com.1023 > yorick.cygnus.com.login: P 1:2(1) ack 1 win 29648 (DF) [tos 0x10]
16:22:04.197276 python.cygnus.com.1023 > yorick.cygnus.com.login: P 1:2(1) ack 2 win 29647 (DF) [tos 0x10]
16:22:04.337276 yorick.cygnus.com.login > python.cygnus.com.1023: P 2:3(1) ack 2 win 29633 (DF) [tos 0x10]
16:22:04.337276 python.cygnus.com.1023 > yorick.cygnus.com.login: P 2:5(3) ack 2 win 29647 (DF) [tos 0x10]
16:22:04.337276 yorick.cygnus.com.login > python.cygnus.com.1023: . ack 2 win 29633 [tos 0x10]
16:22:04.727276 python.cygnus.com.1023 > yorick.cygnus.com.login: P 2:5(3) ack 3 win 29646 (DF) [tos 0x10]
16:22:04.847276 yorick.cygnus.com.login > python.cygnus.com.1023: P 3:6(3) ack 5 win 29630 (DF) [tos 0x10]
16:22:04.857276 yorick.cygnus.com.login > python.cygnus.com.1023: . ack 5 win 29630 [tos 0x10]
16:22:05.217276 yorick.cygnus.com.login > python.cygnus.com.1023: . ack 5 win 29630 [tos 0x10]
16:22:05.637276 yorick.cygnus.com.login > python.cygnus.com.1023: P 3:6(3) ack 5 win 29630 (DF) [tos 0x10]
16:22:05.637276 python.cygnus.com.1023 > yorick.cygnus.com.login: . ack 6 win 29643 [tos 0x10]
16:22:05.727276 python.cygnus.com.1023 > yorick.cygnus.com.login: . ack 6 win 29643 [tos 0x10]

14 packets received by filter
0 packets dropped by kernel

From yorick:

# ./tcpdump host python and port 1023
tcpdump: listening on eth0
16:22:03.983909 python.cygnus.com.1023 > yorick.cygnus.com.login: P 4196702082:4196702083(1) ack 4196806364 win 29648 (DF) [tos 0x10]
16:22:03.983909 yorick.cygnus.com.login > python.cygnus.com.1023: P 1:2(1) ack 1 win 29634 (DF) [tos 0x10]
16:22:04.093923 python.cygnus.com.1023 > yorick.cygnus.com.login: P 1:2(1) ack 1 win 29648 (DF) [tos 0x10]
16:22:04.303950 python.cygnus.com.1023 > yorick.cygnus.com.login: P 1:2(1) ack 2 win 29647 (DF) [tos 0x10]
16:22:04.303950 yorick.cygnus.com.login > python.cygnus.com.1023: P 2:3(1) ack 2 win 29633 (DF) [tos 0x10]
16:22:04.303950 yorick.cygnus.com.login > python.cygnus.com.1023: . ack 2 win 29633 [tos 0x10]
16:22:04.423966 python.cygnus.com.1023 > yorick.cygnus.com.login: P 2:5(3) ack 2 win 29647 (DF) [tos 0x10]
16:22:04.834018 python.cygnus.com.1023 > yorick.cygnus.com.login: P 2:5(3) ack 3 win 29646 (DF) [tos 0x10]
16:22:04.834018 yorick.cygnus.com.login > python.cygnus.com.1023: P 3:6(3) ack 5 win 29630 (DF) [tos 0x10]
16:22:04.834018 yorick.cygnus.com.login > python.cygnus.com.1023: . ack 5 win 29630 [tos 0x10]
16:22:05.174062 yorick.cygnus.com.login > python.cygnus.com.1023: . ack 5 win 29630 [tos 0x10]
16:22:05.614119 yorick.cygnus.com.login > python.cygnus.com.1023: P 3:6(3) ack 5 win 29630 (DF) [tos 0x10]
16:22:05.744136 python.cygnus.com.1023 > yorick.cygnus.com.login: . ack 6 win 29643 [tos 0x10]
16:22:05.844148 python.cygnus.com.1023 > yorick.cygnus.com.login: . ack 6 win 29643 [tos 0x10]

14 packets received by filter
0 packets dropped by kernel

For comparison, here's what I get typing 'jason' to a Sunos 4 host:

[root@python tcpdump-3.0.2]# ./tcpdump host cygnus.com
tcpdump: listening on sl0
16:30:13.817276 python.cygnus.com.1041 > cygnus.com.543: P 3226879281:3226879282(1) ack 1275203344 win 29681 (DF)
16:30:13.937276 cygnus.com.543 > python.cygnus.com.1041: P 1:2(1) ack 1 win 4096
16:30:13.937276 python.cygnus.com.1041 > cygnus.com.543: P 1:2(1) ack 1 win 29681 (DF)
16:30:14.117276 cygnus.com.543 > python.cygnus.com.1041: P 2:3(1) ack 2 win 4096
16:30:14.117276 python.cygnus.com.1041 > cygnus.com.543: P 2:5(3) ack 2 win 29680 (DF)
16:30:14.257276 python.cygnus.com.1041 > cygnus.com.543: . ack 3 win 29679
16:30:14.327276 cygnus.com.543 > python.cygnus.com.1041: P 3:6(3) ack 5 win 4096
16:30:14.477276 python.cygnus.com.1041 > cygnus.com.543: . ack 6 win 29676

8 packets received by filter
0 packets dropped by kernel

Jason


\
 
 \ /
  Last update: 2005-03-22 13:36    [W:0.188 / U:0.384 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site