Communicating between the kernel and user-space in Linux using Netlink sockets
Résumé
When developing Linux kernel features, it is a good practice to expose the necessary details to user-space to enable extensibility. This allows the development of new features and sophisticated configurations from user-space. Generally, software developers have to face the task of looking for a good way to communicate between the kernel and user-space in Linux. This tutorial introduces you to Netlink sockets, a flexible and extensible messaging system that provides communication between kernel and user-space. We provide the fundamental guidelines for practitioners who wish to develop Netlink-based interfaces.