In 2000, the authors wrote the book Linux IP Stacks Commentary, published in soft cover by CoriolisOpen Press, in which we annotated the Linux kernel source code for TCP/IP as it appeared in release 2.0.36. The publisher is gone, alas, but the subject matter cries out to be updated to the most modern Linux kernel release.
This Web book is that update.
The initial update from the original paper edition is not yet complete. The authors decided to publish their work continuously, as we finish the updates and augmentations. This is in the spirit of continuous updates.
This is a living publication, not a textbook whose publication on paper is frozen in time. It is an online handbook that provides detailed descriptions of the Linux TCP/IP stack code, using code taken directly from the Git repository of the Linux kernel — source code in the raw, not interpreted or simplified. It builds on the ultimate documentation (namely, the kernel source code itself), and is designed to be updated as the Linux kernel is updated.
Each article section (which is equivalent to a chapter in a book written on paper) opens with a list of all the IETF Requests For Comments (RFCs) that apply to the subject of each section. The RFCs are the Standards upon which the Internet was, is, and will be, built. The article sections are not intended to be a be-all and end-all description of the topic, but to provide enough background so that the code and the associated explanations can be understood.
Each commentary section contains a series of code/discussion pairs, excepts of the source code from the kernel followed by the detailed discussion about that excerpt. There are no cross-references to other pages, or other documents, that must be read for an understanding of the explanations. Although these sections are loaded as static Web pages, the contents of each page are actively constructed by marrying code excerpts taken from the Git repository and the associated explanatory text. The commentary Web pages are rebuilt whenever the text is updated or whenever a new kernel is released.
Unlike the original printed edition, the Web edition is an online book that updates the text to incorporate the most recent version of the Linux kernel. The book will be updated from time to time as new kernels are released, to reflect the changes in the new release. Substantive errors can be corrected quickly; remedying omissions will take a little longer. Simple mistakes can be fixed right away, with no need to wait for a new press run.
The original edition was a huge undertaking, and the Web edition is an even larger effort, because the Linux networking code has expanded to include the latest additions and improvements that have been developed by the IETF. Instead of waiting until all the work is complete (and already outdated, frankly), this book will be released in increments, as each section is finished.
Comments, suggestions, and error reports are welcome.
Send them to:
ipstacks (at) satchell (dot) net
Copyright © 2022 Stephen Satchell, Reno NV USA