Re: TCP window updates [Was: PROBLEM: Sending mail-attachment]

Andrea Arcangeli (andrea@e-mind.com)
Tue, 9 Mar 1999 02:15:07 +0100 (CET)


On Mon, 8 Mar 1999, David Miller wrote:

>tcpdump sniffs the "wire", this means incoming and outgoing packets,
>thus you are seeing loopback transmit and receive every frame.

Yes infact a tcpdump -l | uniq should be enough to simplify the duplicated
data.

I know this, but my point is that it seems to me that some packet gets
completly dropped in some cases.

If you look closely at the tcp trace I attached at my previous email:

01:22:08.669493 localhost.1029 > localhost.3334: S 846173315:846173315(0) win 31072 <mss 3884,sackOK,timestamp 89653 0,nop,wscale 0> (DF)
01:22:08.669493 localhost.1029 > localhost.3334: S 846173315:846173315(0) win 31072 <mss 3884,sackOK,timestamp 89653 0,nop,wscale 0> (DF)
01:22:08.669547 localhost.3334 > localhost.1029: S 844580933:844580933(0) ack 846173316 win 31072 <mss 3884,sackOK,timestamp 89653 89653,nop,wscale 0> (DF)
01:22:08.669547 localhost.3334 > localhost.1029: S 844580933:844580933(0) ack 846173316 win 31072 <mss 3884,sackOK,timestamp 89653 89653,nop,wscale 0> (DF)
01:22:08.669587 localhost.1029 > localhost.3334: . ack 1 win 31072 <nop,nop,timestamp 89653 89653> (DF)
01:22:08.669587 localhost.1029 > localhost.3334: . ack 1 win 31072 <nop,nop,timestamp 89653 89653> (DF)
01:22:08.669739 localhost.3334 > localhost.1029: . 1:3873(3872) ack 1 win 31072 <nop,nop,timestamp 89653 89653> (DF)
01:22:08.669739 localhost.3334 > localhost.1029: . 1:3873(3872) ack 1 win 31072 <nop,nop,timestamp 89653 89653> (DF)
01:22:08.669781 localhost.1029 > localhost.3334: . ack 3873 win 27200 <nop,nop,timestamp 89653 89653> (DF)
01:22:08.669781 localhost.1029 > localhost.3334: . ack 3873 win 27200 <nop,nop,timestamp 89653 89653> (DF)
01:22:08.670064 localhost.3334 > localhost.1029: . 3873:7745(3872) ack 1 win 31072 <nop,nop,timestamp 89653 89653> (DF)
01:22:08.670073 localhost.3334 > localhost.1029: . 7745:11617(3872) ack 1 win 31072 <nop,nop,timestamp 89653 89653> (DF)
01:22:08.670064 localhost.3334 > localhost.1029: . 3873:7745(3872) ack 1 win 31072 <nop,nop,timestamp 89653 89653> (DF)
01:22:08.670098 localhost.1029 > localhost.3334: . ack 7745 win 27104 <nop,nop,timestamp 89653 89653> (DF)
01:22:08.670073 localhost.3334 > localhost.1029: . 7745:11617(3872) ack 1 win 31072 <nop,nop,timestamp 89653 89653> (DF)
01:22:08.670098 localhost.1029 > localhost.3334: . ack 7745 win 27104 <nop,nop,timestamp 89653 89653> (DF)
01:22:08.670123 localhost.3334 > localhost.1029: . 11617:15489(3872) ack 1 win 31072 <nop,nop,timestamp 89653 89653> (DF)
01:22:08.670131 localhost.3334 > localhost.1029: . 15489:19361(3872) ack 1 win 31072 <nop,nop,timestamp 89653 89653> (DF)
01:22:08.670123 localhost.3334 > localhost.1029: . 11617:15489(3872) ack 1 win 31072 <nop,nop,timestamp 89653 89653> (DF)
01:22:08.670146 localhost.1029 > localhost.3334: . ack 15489 win 23232 <nop,nop,timestamp 89653 89653> (DF)
01:22:08.670131 localhost.3334 > localhost.1029: . 15489:19361(3872) ack 1 win 31072 <nop,nop,timestamp 89653 89653> (DF)
01:22:08.670146 localhost.1029 > localhost.3334: . ack 15489 win 23232 <nop,nop,timestamp 89653 89653> (DF)
01:22:08.670170 localhost.3334 > localhost.1029: . 19361:23233(3872) ack 1 win 31072 <nop,nop,timestamp 89653 89653> (DF)
01:22:08.670178 localhost.3334 > localhost.1029: . 23233:27105(3872) ack 1 win 31072 <nop,nop,timestamp 89653 89653> (DF)
01:22:08.670187 localhost.3334 > localhost.1029: . 27105:30977(3872) ack 1 win 31072 <nop,nop,timestamp 89653 89653> (DF)
01:22:08.670170 localhost.3334 > localhost.1029: . 19361:23233(3872) ack 1 win 31072 <nop,nop,timestamp 89653 89653> (DF)
01:22:08.670203 localhost.1029 > localhost.3334: . ack 23233 win 19360 <nop,nop,timestamp 89653 89653> (DF)
01:22:08.670178 localhost.3334 > localhost.1029: . 23233:27105(3872) ack 1 win 31072 <nop,nop,timestamp 89653 89653> (DF)
01:22:08.670222 localhost.1029 > localhost.3334: . ack 30977 win 15488 <nop,nop,timestamp 89653 89653> (DF)
01:22:08.670203 localhost.1029 > localhost.3334: . ack 23233 win 19360 <nop,nop,timestamp 89653 89653> (DF)
01:22:08.670222 localhost.1029 > localhost.3334: . ack 30977 win 15488 <nop,nop,timestamp 89653 89653> (DF)
01:22:08.670290 localhost.1029 > localhost.3334: . ack 38721 win 11616 <nop,nop,timestamp 89653 89653> (DF)
01:22:08.670308 localhost.1029 > localhost.3334: . ack 46465 win 7744 <nop,nop,timestamp 89653 89653> (DF)
01:22:08.670290 localhost.1029 > localhost.3334: . ack 38721 win 11616 <nop,nop,timestamp 89653 89653> (DF)
01:22:08.670308 localhost.1029 > localhost.3334: . ack 46465 win 7744 <nop,nop,timestamp 89653 89653> (DF)
01:22:08.670361 localhost.1029 > localhost.3334: . ack 54209 win 3872 <nop,nop,timestamp 89653 89653> (DF)
01:22:08.678085 localhost.1029 > localhost.3334: . ack 57501 win 580 <nop,nop,timestamp 89654 89653> (DF)
01:22:08.678123 localhost.3334 > localhost.1029: P 54209:57501(3292) ack 1 win 31072 <nop,nop,timestamp 89654 89653> (DF)
01:22:08.678085 localhost.1029 > localhost.3334: . ack 57501 win 580 <nop,nop,timestamp 89654 89653> (DF)
01:22:08.678123 localhost.3334 > localhost.1029: P 54209:57501(3292) ack 1 win 31072 <nop,nop,timestamp 89654 89653> (DF)
01:22:08.678157 localhost.1029 > localhost.3334: . ack 57501 win 580 <nop,nop,timestamp 89654 89654> (DF)

The packets between 27105 and 54209 looks like dropped according to the
trace while instead they are been received correctly. How do you explain
that? Could it be a bug in the af_packet code or a loopback specific
problem? Or a bug in tcpdump or maybe I only need a looong sleep ;)?

If I rember well also Alan noticed a weird behavior in some of the tcpdump
in the previous email on the list about the TCP deadlock sending email.

Andrea Arcangeli

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/