PFNETLINK
PFNETLINK is a Linux socket protocol family that provides a flexible, efficient channel for communication between kernel space and user space processes. It is implemented as the PF_NETLINK protocol family (PF_NETLINK is the integer constant 17 in the Linux kernel). Unlike conventional socket families such as PF_INET, Netlink sockets are message-oriented and use a bi‑directional message passing interface rather than byte streams.
Netlink messages are sent as structures that contain a header (struct nlmsghdr) followed by a variable-length
Kernel modules expose Netlink services via a family identifier: the two most common are NETLINK_ROUTE (value
Netlink is heavily used by tools such as ip, iproute2, and iptables, as well as by the
The PF_NETLINK socket family has been part of Linux since early 2000s and remains the preferred IPC