Netlink Protocol Library Suite (libnl)

Summary

The libnl suite is a collection of libraries providing APIs to netlink
protocol based Linux kernel interfaces.

Netlink is a IPC mechanism primarly between the kernel and user space
processes. It was designed to be a more flexible successor to ioctl
to provide mainly networking related kernel configuration and monitoring
interfaces.

Libraries

The interfaces are split into several small libraries to not force
applications to link against a single, bloated library.

libnl

Core library implementing the fundamentals required to use the netlink
protocol such as socket handling, message construction and parsing,
and sending and receiving of data. This library is kept small and
minimalistic. Other libraries of the suite depend on this library.

libnl-route

API to the configuration interfaces of the NETLINK_ROUTE family
including network interfaces, routes, addresses, neighbours, and
traffic control.

libnl-genl

API to the generic netlink protocol, an extended version of the netlink
protocol.

Installation

The easiest method of installing the libnl library suite is to use the
existing packages of your linux distribution. See the table below for a
list of available packages per distribution. Please note that the list
may be out of date at times. Refer to the manual of your distribution
for more information on how to install packages.

Releases

Changelog for 3.2.25-rc1 -> 3.2.25

Cong Wang (1):
tc: add co_groups for tc qdisc and filter
Thomas Graf (1):
ip6tnl: Use for in6_addr and stuff
Thomas Haller (4):
doc: state in documentation that libnl3 is supposed to work with 3.x kernels
build: let autogen.sh script change into top source directory
build: embed the git commit id of HEAD in the configure script
libnl-3.2.25 release

Mailing List

Visit the
info page
for more information and to subscribe to the list or checkout the
archives.

Known Bugs

Releases 3.2.18 and 3.2.19 have been shipped with an incorrect SONAME.

Important:
3.2.10 reverted an an uneeded SONAME bump that was done due to an ABI/API
breakage in an unused API. After severe discussion, it was decided to undo
the SONAME bump to make life easier for distribution maintainers
by removing the unused APIs from the public header files and by providing
compat header files that mistakenly included them.

If you linked against 3.2.18 or 3.2.19 your binary will not be compatible
with >= 3.2.20. You will have to relink your binary. We are sorry for any
inconvenience this may cause.