Copyright 1996 Erik Lindsley


Socket Buffers (hereafter refered to as SKBs) are a double-linked list structure designed to store protocol PDUs for transmission and recption through the Berkeley Socket Interface. They have been designed so that they can easily be queue and recycled, though many features have been added hapazardly. As a consequence of the additions, the originally simple structure has grown into quite a monster.

Originally, the buffers were designed to hold IP datagrams, but they have since been expanded to handle many other protocol PDUs. Unfortunately, the protocols were not added in a layered fashion, and so an SKB (as it now stands) is a confusing hybrid. This "grand tour" was written to help new kernel hackers to better understand their function, and what to do with them. To start the tour, click here. Also included in this introduction is a reference of the functions available to the kernel hacker to manipulate the structures covered in this tour.