Subject: Re: perhaps time to check our TCP against spec?
To: Jason Thorpe <thorpej@nas.nasa.gov>
From: Jonathan Stone <jonathan@DSG.Stanford.EDU>
List: tech-net
Date: 04/06/1998 19:40:45
>On Mon, 6 Apr 1998 17:42:34 -0700 (PDT) 
> Jonathan Stone <jonathan@DSG.Stanford.EDU> wrote:
>
> > Using the enclosed, trivial, `do-ttcp' script, do:
> > 
> >      tcpdump -w <outputfile> -i lo0 &
> >      do-ttcp  -r &
> >      do-ttcp  -t 127.0.0.1
> > 
> > Then look at the MSS advertised.  I'm seeing this on a machine with
> > -current as of about a week ago.  

>>Um, I'm not talking about the advertised MSS "problem".  I'm talking
>>about the "badly timed ACKs" problem 

umm,  Jason, this reproduces both of them ;). 

At least it does on a DECstation, which is at the moment the only
platform I have running -current. The problem also exists with
Ethernet traffic to and from that machine from machines in *my* lab.

Which are Intel boxes.  Still running 1.2G with updated networking
code and my own changes, because (as Kevin points out) until recently,
the newer NetBSD TCPs were broken in, ummm, how can I say this,
preceisely the way I said was a problem ;).

>you are claiming exists in our
>TCP.

Jason, I'm not ``claiming'', this performance bug *does* exist.

The data show that conclusively.  All it needs is one, carefully
constructed, reproducible example.  You have that.
And I can and will show you more going back years.

Look. You said last time I mentioned performance results that you
wanted to see hard data.  OK.  You've got the hard data, but you are
still disputing the bug exists.  You demand to reproduce this bug
yourself before you will even admit it exists.

Jason, that *is* insinuating that I'm a liar, or that i'm faking the
data.  Would you say that to my advisor if he presented similar data?
No?  Then why me?  Where is your professionalism?  That implies
respect *both* ways, you know.  You have never shown me any
professional respect, and I am sick and tired of it.


>Yes, I saw you're tcpdump output, and I want to know how to reproduce
>this problem MYSELF.  

Then please do me the profesional courtesy to stop insinuating that
the problem does not exist.  As it is, you are saying either that I am
incompetent or that I am lying.


>Above you said "exerpts".  I don't want exerpts.
>I want a way to make the problem occur on my own lab systems (so that I
>can eliminate the variables and find the real problem, assuming one exists),
>so I can fully understand it, and then fix Again.

Again, please do me the professional courtesy to stop insinuating that
the problem does not exist.

You asked for evidence. You've *seen* the evidence.  Here it is
again. You can tell from the SYNs that it's from the beginning of the
tcpdump trace. Look how the output segments are is convoying rather
than being interleaved with ACKs.

If you want help to duplicate this, then I will gladly help -- just as
soon as I see some evidence that you have stopped insinuating that i
am faking this data or lying, and that you have learned how to to act
professionally when qualified resarchers present data which
demonstrate the existence of performance problems with NetBSD.




02:00:57.456615 localhost.65496 > localhost.5001: S 1699302561:1699302561(0) win 16384 <mss 1460,nop,wscale 0,nop,nop,timestamp 63777[|tcp]>
02:00:57.456618 localhost.5001 > localhost.65496: S 1699614725:1699614725(0) ack 1699302562 win 65535 <mss 1460,nop,wscale 0,nop,nop,timestamp 63777[|tcp]>
02:00:57.460517 localhost.65496 > localhost.5001: . ack 1 win 17520 <nop,nop,timestamp 63777 
63777>
02:00:57.468330 localhost.65496 > localhost.5001: . 1:1449(1448) ack 1 win 17520 <nop,nop,timestamp 63777 63777>
02:00:57.491768 localhost.5001 > localhost.65496: . ack 1449 win 65535 <nop,nop,timestamp 63777 63777>
02:00:57.491769 localhost.65496 > localhost.5001: . 1449:2897(1448) ack 1 win 17520 <nop,nop,timestamp 63777 63777>
02:00:57.491770 localhost.65496 > localhost.5001: . 2897:4345(1448) ack 1 win 17520 <nop,nop,timestamp 63777 63777>
02:00:57.491771 localhost.5001 > localhost.65496: . ack 4345 win 62804 <nop,nop,timestamp 63777 63777>
02:00:57.491772 localhost.65496 > localhost.5001: . 4345:5793(1448) ack 1 win 17520 <nop,nop,timestamp 63777 63777>
02:00:57.491773 localhost.65496 > localhost.5001: . 5793:7241(1448) ack 1 win 17520 <nop,nop,timestamp 63777 63777>
02:00:57.491774 localhost.65496 > localhost.5001: . 7241:8689(1448) ack 1 win 17520 <nop,nop,timestamp 63777 63777>
02:00:57.491775 localhost.5001 > localhost.65496: . ack 7241 win 59908 <nop,nop,timestamp 63777 63777>
02:00:57.491776 localhost.65496 > localhost.5001: . 8689:10137(1448) ack 1 win 17520 <nop,nop,timestamp 63777 63777>
02:00:57.491777 localhost.65496 > localhost.5001: . 10137:11585(1448) ack 1 win 17520 <nop,nop,timestamp 63777 63777>
02:00:57.491778 localhost.65496 > localhost.5001: . 11585:13033(1448) ack 1 win 17520 <nop,nop,timestamp 63777 63777>
02:00:57.491779 localhost.5001 > localhost.65496: . ack 10137 win 57012 <nop,nop,timestamp 63777 63777>
02:00:57.491780 localhost.5001 > localhost.65496: . ack 13033 win 54116 <nop,nop,timestamp 63777 63777>
02:00:57.491781 localhost.65496 > localhost.5001: . 13033:14481(1448) ack 1 win 17520 <nop,nop,timestamp 63777 63777>
02:00:57.491782 localhost.65496 > localhost.5001: . 14481:15929(1448) ack 1 win 17520 <nop,nop,timestamp 63777 63777>
02:00:57.491783 localhost.65496 > localhost.5001: . 15929:17377(1448) ack 1 win 17520 <nop,nop,timestamp 63777 63777>
02:00:57.491784 localhost.65496 > localhost.5001: . 17377:18825(1448) ack 1 win 17520 <nop,nop,timestamp 63777 63777>
02:00:57.491785 localhost.65496 > localhost.5001: . 18825:20273(1448) ack 1 win 17520 <nop,nop,timestamp 63777 63777>
02:00:57.491786 localhost.65496 > localhost.5001: . 20273:21721(1448) ack 1 win 17520 <nop,nop,timestamp 63777 63777>
02:00:57.491787 localhost.5001 > localhost.65496: . ack 15929 win 51220 <nop,nop,timestamp 63777 63777>
02:00:57.491788 localhost.5001 > localhost.65496: . ack 18825 win 48324 <nop,nop,timestamp 63777 63777>
02:00:57.491789 localhost.5001 > localhost.65496: . ack 21721 win 45428 <nop,nop,timestamp 63777 63777>
02:00:57.491790 localhost.65496 > localhost.5001: . 21721:23169(1448) ack 1 win 17520 <nop,nop,timestamp 63777 63777>
02:00:57.491791 localhost.65496 > localhost.5001: . 23169:24617(1448) ack 1 win 17520 <nop,nop,timestamp 63777 63777>
02:00:57.491792 localhost.65496 > localhost.5001: . 24617:26065(1448) ack 1 win 17520 <nop,nop,timestamp 63777 63777>
02:00:57.491793 localhost.65496 > localhost.5001: . 26065:27513(1448) ack 1 win 17520 <nop,nop,timestamp 63777 63777>
02:00:57.491794 localhost.65496 > localhost.5001: . 27513:28961(1448) ack 1 win 17520 <nop,nop,timestamp 63777 63777>
02:00:57.491795 localhost.65496 > localhost.5001: . 28961:30409(1448) ack 1 win 17520 <nop,nop,timestamp 63777 63777>
02:00:57.491796 localhost.65496 > localhost.5001: . 30409:31857(1448) ack 1 win 17520 <nop,nop,timestamp 63777 63777>
02:00:57.491797 localhost.65496 > localhost.5001: . 31857:33305(1448) ack 1 win 17520 <nop,nop,timestamp 63777 63777>