Summary

In this chapter, we have looked at the kernel network filtering KPIs as well as how to implement a driver for an Ethernet controller. Some key points are as follows:

  • The kernel network support is split into two parts: the BSD layer that implements support for all protocols and network services such as firewalls, and the I/O Kit, which provides facilities for writing drivers for network hardware.
  • The kernel filtering KPI allows one to filter and manipulate network packets at various levels, including the socket, IP, and interface levels.
  • The most important data-structure of the kernel network subsystem is the mbuf structure used to store network packets or other related data. In kernel extensions, mbufs can be manipulated using the opaque ...

Get OS X and iOS Kernel Programming 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.