Index of /software/pub/tcpsack/bsdi-2.1

      Name                    Last modified       Size  Description

[DIR] Parent Directory 19-Aug-1998 12:29 - [TXT] netinet-patch 19-Aug-1998 12:29 59k [TXT] netinet-patch.old 19-Aug-1998 12:29 60k [DIR] netinet/ 19-Aug-1998 12:29 - [DIR] tcpdump/ 19-Aug-1998 12:29 - [TXT] timer-patch 19-Aug-1998 12:29 1k

This is the BSD/OS 2.1 source code for the TCP Selective
Acknowledgment option based on the IETF Draft (Jan. 1996) (this is
alpha code).  I intend to make some additions and modifications to
this code.  The files in this directory are:

 60 -rw-rw-r--  1 hari  daedalus  netinet-patch
 60 -rw-rw-r--  1 hari  daedalus  netinet-patch
  1 -rw-rw-r--  1 hari  daedalus  timer-patch

./netinet:
 10 -rw-r--r--  1 hari  daedalus  in_proto.c
  6 -rw-r--r--  1 hari  daedalus  tcp.h
 56 -rw-r--r--  1 hari  daedalus  tcp_input.c
 22 -rw-r--r--  1 hari  daedalus  tcp_output.c
 14 -rw-r--r--  1 hari  daedalus  tcp_subr.c
 10 -r--r--r--  1 hari  daedalus  tcp_timer.c
 14 -rw-r--r--  1 hari  daedalus  tcp_usrreq.c
 14 -rw-r--r--  1 hari  daedalus  tcp_var.h

./tcpdump:
  6 -r--r--r--  1 hari  daedalus    5843 interface.h
  8 -rw-r--r--  1 hari  daedalus    7655 print-tcp.c
160 -rwxrwxr-x  1 hari  daedalus   73064 tcpdump-i386-unknown-bsdi2.1.gz*
  9 -r--r--r--  1 hari  daedalus    8969 tcpdump.c

netinet-patch contains the kernel patches to /sys/netinet/.  See
patch(1) for information on applying these patches, or apply them by
running "patch < netinet-patch".  

netiner-patch.old is a somewhat older patch, netinet-patch fixes a
couple of bugs.

timer-patch is needed only if you downloaded this version of SACK
before July 11, 96.  It fixes a  small bug in the way in which
persist timers are handled.

in_proto.c is included mainly for easy porting to NetBSD; no actual
changes are needed to it for SACKs.

Most of the code for SACK is in tcp_input.c, and a smaller amount is
in tcp_output.c.  The other files have very minor modifications or
additions.  These files should be added to /sys/netinet/.

Add the following line to the /sys/i386/conf config file:
options		SACK			# TCP Selective Acknowledgments (IETF)
and config and make the kernel.  

The tcpdump directory contains the source modifications required for
SACKs, as well as a BSD/OS binary.  This version of tcpdump must be run as:

tcpdump -T sack <other options> 
for SACKs to be handled correctly.

This version of SACK TCP code has been tested, but not extensively
(yet), as part of the Daedalus project
(http://daedalus.cs.berkeley.edu/) at UC Berkeley.  Preliminary
cross-country experiments (16-18 Internet hops) indicate a performance
improvement of between 30 and 50% over Reno for 32 KB socket buffer
sizes, without sacrificing any of the standard congestion control and
avoidance mechanisms in TCP.  Extensive measurements and experiments
are currently being performed.

Please send any comments, suggestions, bug reports, etc. to
hari@cs.berkeley.edu

Hari Balakrishnan
Daedalus Group, Dept. of EECS, UC Berkeley
E-mail: hari@cs.berkeley.edu
URL: http://www.cs.berkeley.edu/~hari

Last updated: July 16, 1996, 18:36