Organization of the Material
Some aspects of networking code require as many as seven chapters, while for other aspects one chapter is sufficient. When the topic is complex or big enough to span different chapters, the part of the book devoted to that topic always starts with a concept chapter that covers the theory necessary to understand the implementation, which is described in another chapter. All of the reference and secondary material is usually located in one miscellaneous chapter at the end of the part. No matter how big the topic is, the same scheme is used to organize its presentation.
For each topic, the implementation description includes:
The big picture, which shows where the described kernel component falls in the network stack.
A brief description of the main data structures and a figure that shows how they relate to each other.
A description of which other kernel features the component interfaces with—for example, by means of notification chains or data structure cross-references. The firewall is an example of such a kernel feature, given the numerous hooks it has all over the networking code.
Extensive use of flow charts and figures to make it easier to go through the code and extract the logic from big and seemingly complex functions.
The reference material always includes:
A detailed description of the most important data structures, field by field
A table with a brief description of all functions, macros, and data structures, which you can use as a quick reference
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access