Communicating between the kernel and user‐space in Linux using Netlink sockets

@article{Ayuso2010CommunicatingBT,
  title={Communicating between the kernel and user‐space in Linux using Netlink sockets},
  author={Pablo Neira Ayuso and Rafael M. Gasca and Laurent Lef{\`e}vre},
  journal={Software: Practice and Experience},
  year={2010},
  volume={40}
}
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… Expand
Interaction Between the User and Kernel Space in Linux
System calls based on context switches from user to kernel space are the established concept for interaction in operating systems. On top of them the Linux kernel offers various paradigms forExpand
Transtracer: Socket-Based Tracing of Network Dependencies Among Processes in Distributed Applications
TLDR
An architecture of monitoring network sockets, which are endpoints of TCP connections, to trace the dependency is proposed, which reduced the delay overhead by 13–20 % and the resource load by 43.5 % compared to earlier reported methods. Expand
The case for eliminating inconsistencies between IPv4 and IPv6 kernel User API
TLDR
It is shown how these inconsistencies cascade into multiple components (routing daemons, user-space Netlink caches and hardware offload drivers) in a system and is shown that the resulting implementation is complex enough to justify an effort to eliminate these inconsistencies in the future by unifying the IPv4/IPv6 kernel UAPI. Expand
Reducing Event Latency and Power Consumption in Mobile Devices by Using a Kernel-Level Display Server
TLDR
This paper proposes moving the display server to the kernel layer, so that it has direct access to many of the event queues and hardware rendering systems without having to interrupt the CPU, and implements two power saving strategies. Expand
Rtnetlink dump filtering in the kernel
Rtnetlink dump handlers supported by the kernel are a useful way to query state of the kernel network databases. Most rtnetlink dump handlers return data for all network objects in the correspondingExpand
Prototyping the recursive internet architecture: the IRATI project approach
TLDR
This article focuses on the software design required to implement a network stack in Linux/OS and motivates the placement of, and communication between, the different software components in either the kernel or user space. Expand
Enhanced Userspace and In-Kernel Trace Filtering for Production Systems
TLDR
A novel way of dealing with huge trace data generation is presented by introducing a Just-In-Time (JIT) filter based tracing system, for sieving through the flood of high frequency events, and recording only those that are relevant, when a specific condition is met. Expand
User-Controlled Subflow Selection in MPTCP: A Case Study
TLDR
This paper presents a mechanism that allows the user to provide hints to the TCP scheduler to alter its scheduling policy and demonstrates how a user can guide the scheduling policies. Expand
MonFi: A Tool for High-Rate, Efficient, and Programmable Monitoring of WiFi Devices
TLDR
This paper proposes MonFi, a publicly-available, open-source tool for high-rate, efficient, and programmable monitoring of the WiFi communication stack and shows that MonFi outperforms the Linux tools used to monitor the communication stack. Expand
FT-FW: A cluster-based fault-tolerant architecture for stateful firewalls
TLDR
This work summarizes and enhances previous research efforts that aim to provide a full fault-tolerant solution for stateful firewalls and extensively evaluate important network performance and availability aspects that were not covered so far. Expand
...
1
2
3
4
...

References

SHOWING 1-10 OF 38 REFERENCES
Why and How to Use Netlink Socket
  • K. He
  • Computer Science
  • 2005
TLDR
Netlink socket is discussed and its advantages as a network feature-friendly IPC are revealed, such as system call, ioctl, proc filesystem or netlink socket. Expand
Linux Netlink as an IP Services Protocol
TLDR
The focus of this document is to describe Netlink's functionality as a protocol between a Forwarding Engine Component (FEC) and a Control Plane Component (CPC), the two components that define an IP service. Expand
The sysfs Filesystem
sysfs is a feature of the Linux 2.6 kernel that allows kernel code to export information to user processes via an in-memory filesystem. The organization of the filesystem directory hierarchy isExpand
The Linux Kernel Module Programming Guide
TLDR
Linux Kernel Module Programming Guide is one of the key documents of the Linux Documentation Project, an online compilation of freely distributed manuals and how to guides on the popular Linux operating system. Expand
The Linux Kernel
TLDR
The kernel is the core of an operating system responsible for allocating and managing system resources for both hardware and software, and communicates with theHardware by keeping tabs on device drivers, which interface with the hardware. Expand
Ad-hoc on-demand distance vector routing
  • C. Perkins, E. Belding-Royer
  • Computer Science
  • Proceedings WMCSA'99. Second IEEE Workshop on Mobile Computing Systems and Applications
  • 1999
TLDR
An ad-hoc network is the cooperative engagement of a collection of mobile nodes without the required intervention of any centralized access point or existing infrastructure and the proposed routing algorithm is quite suitable for a dynamic self starting network, as required by users wishing to utilize ad- hoc networks. Expand
Netfilter project: Free software firewalling tools for Linux
  • Web pages at: http://www.netfilter.org
  • 2009
Copyright Ltd. Softw. Pract. Exper
  • Copyright Ltd. Softw. Pract. Exper
  • 2010
Netlink source code reference
  • Web pages at: http://1984.lsi.us.es/projects/netlink-examples
  • 2010
Netlink source code reference. Web pages at: http://1984.lsi.us.es/projects/netlink-examples
  • Netlink source code reference. Web pages at: http://1984.lsi.us.es/projects/netlink-examples
  • 2010
...
1
2
3
4
...