Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.3 alpha 4/15/85; site ucbvax.ARPA Path: utzoo!watmath!clyde!burl!ulysses!ucbvax!tcp-ip From: tcp-ip@ucbvax.ARPA Newsgroups: fa.tcp-ip Subject: Re: MILNET/ARPANET performance Message-ID: <7594@ucbvax.ARPA> Date: Thu, 30-May-85 01:31:34 EDT Article-I.D.: ucbvax.7594 Posted: Thu May 30 01:31:34 1985 Date-Received: Thu, 30-May-85 20:45:20 EDT Sender: daemon@ucbvax.ARPA Organization: University of California at Berkeley Lines: 41 From: Chris Torek I might take this opportunity to note that many 4.2BSD sites are retransmitting packets once every second, no matter what the actual round trip ack time is; this doesn't help gateway load at all. There is a bit of code in /sys/netinet/tcp_output.c that looks like this: if (SEQ_GT(tp->snd_nxt, tp->snd_max)) tp->snd_max = tp->snd_nxt; /* * Time this transmission if not a retransmittion and not * currently timing anything. */ if (SEQ_GT(tp->snd_nxt, tp->snd_max) && tp->t_rtt == 0) { tp->t_rtt = 1; tp->t_rtseq = tp->snd_nxt - len; } The second SEQ_GT is guaranteed to fail, thus nothing is ever timed; and the retransmits happen at the maximum rate (1/second). The code should be changed to: if (SEQ_GT(tp->snd_nxt, tp->snd_max)) { tp->snd_max = tp->snd_nxt; /* * Time this transmission (it's not a retransmission) * unless we're already timing something. */ if (tp->t_rtt == 0) { tp->t_rtt = 1; tp->t_rtseq = tp->snd_nxt - len; } } (Note, Berkeley has fixed this.) I hope most 4.2 arpa sites are reading this. . . . Chris