Paced and Packet-Pair TCP patches. Enclosed you will find a patchfile and four new source files. Apply the patches to FreeBSD 4.1 kernel source. Add the files to the sys/netinet directory. Pacing is compiled by adding options TCP_PACING configuration file. Packet-pair estimation is enabled by also adding options TCP_CE to the kernel configuration file. TCP_CE requires TCP_PACING. The kernel configuration file also needs options HZ=1000 in the configuration file to support finer-grained timers. This option often causes the wall-clock time to be incorrect; using 512 instead of 1000 corrects this, but you lose precision. It is not yet clear how much precision you really need. There is also a SACK implementation here; it is enabled by adding options TCP_SACK to the configuration file. After any change to the configuration file, run config on it, then change to the build directory and make clean && make depend make