Part III. Transmission and Reception

The aim of these five chapters is to put into context all the features that can influence the path of a packet inside the kernel, and to give you an idea of the big picture. You will see what each subsystem is supposed to do and when it comes into the picture. This chapter will not touch upon routing, which has a large chapter of its own, or firewalling, which is beyond the scope of this book.

In general usage, the term transmission is often used to refer to communications in any direction. But in kernel discussions, transmission refers only to sending frames outward, whereas reception refers to frames coming in. In some places, I use the terms ingress for reception and egress for transmission.

Forwarded packets—which both originate and terminate in remote systems but use the local system for routing—constitute yet another category that combines elements of reception and transmission. Some aspects of forwarding are presented in Chapter 10; a more thorough discussion appears in Parts V and VII.

We saw in Chapter 1 the difference between the terms frame, datagram, and packet. Because the chapters in Part III discuss the interface between L2 and L3, both the terms frame and packet would be correct in most cases. Even though I’ll mostly use the term frame, I may sometimes use packet when referring to a data unit with no reference to any particular layer. The word packet is the one most commonly seen in the code we are discussing.

Here is what we will ...

Get Understanding Linux Network Internals now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.