Next: , Previous: , Up: guile-netlink   [Contents][Index]


1 Introduction

Netlink is an inter-process communication protocol that can be used for communication between processes, or with the kernel. It is implemented by Linux.

Many protocols exist on top of Netlink. For example, the routing protocol is used to configure network-related functions in the kernel, such as firewall, route table or IP addresses of interfaces, and the ACPI protocol is used by the Linux kernel to send notifications of changes in system power usage. (Deep down, these two protocols are very different beasts, with the former being regarded as a classical protocol with very fixed message formats, and the latter being an example of a generic protocol which entails subscribing to a broadcast channel and deeply introspecting the transmitted data.)

Lots of other protocols, or families, are provided by Linux, but this library currently only services the two examples described above. Of course, contributions of code which implements others are always welcome!

This library implements code at three levels: at high-level we have the IP Library and ACPI API which give immediate access to the protocols described above; at intermediate level there is the Rtnetlink API which defines special structures and functions used in the routing protocol, and many of which are borrowed by the ACPI protocol; finally the low-level details are outlined in the Low-Level API Reference.