This is the FreeBSD homepage for Jonathan Lemon, containing various bits and pieces that are somewhat out of date. I also have another home page which is also updated irregularly.

Syncache/Syncookies paper

    This is a copy of the paper that was presented at the USENIX BSDCon 2002 conference in San Francisco, CA. It details the implementation in FreeBSD 4.4 and -current systems, as well as various performance measurements.
KQueue papers
    At the BSDCon 2000 conference in Monterey, CA, I gave a talk about the new kqueue/kevent system in FreeBSD. You can read the paper that I presented (in postscript or pdf format), or see an on-line slideshow from the presentation.

    A similar paper was also published at the the Freenix track of the USENIX 2001 Technical conference in Boston, MA.

Hardware Checksums
    Allow offloading of the TCP/UDP/IP checksums to the hardware, if the hardware supports it. Currently, only the Alteon driver has been modified to do delayed checksums.

    There is also a short document which outlines the API used between the FreeBSD kernel and the network driver.

    The patch was committed to 5.0-CURRENT on 3/27/2000.

TCP Timer patch
    This patch against -current as of 26-aug-99 or -stable as of 07-aug-99 does the following:
    1. eliminates the fast/slow timeout lists for TCP and instead uses a callout entry for each timer.
    2. Increases the TCP timer granularity to 10ms
    3. Implements "bad retransmit" recovery, as presented in "On Estimating End-to-End Network Path Properties", by Allman and Paxson.
    Please read the top of the patchfile for various warnings and caveats.