The Netlink protocol family has many protocol families. Some of them have been deprecated and some are presently as of the date of this article present in the Linux Kernel. The list provides the reader in knowing the different protocol families available (I do not claim to know what each of them does individually myself 🙂 )The protocol families are tabulated below.
Netlink Protocol Family | Description |
NETLINK_ROUTE | Receives routing and link updates and may be used to modify routing tables |
NETLINK_W1 | Messages from 1-wire subsystem (Linux 2.6.13 to 2.16.17). Refer below link for 1-wire subsystem
|
NETLINK_USERSOCK | Reserved for user-mode socket protocols. Note: Possibly a place holder and does not seem to be used |
NETLINK_FIREWALL | (up to and including Linux 3.4) Transport IPv4 packets from netfilter to user space. Used by ip_queue kernel module. After a long period of being declared obsolete (in favor of the more advanced nfnetlink_queue feature), NETLINK_FIREWALL was removed in Linux 3.5. |
NETLINK_SOCK_DIAG | (since Linux 3.3) Query information about sockets of various protocol families from the kernel (see sock_diag(7)). |
NETLINK_INET_DIAG | (since Linux 2.6.14) An obsolete synonym for NETLINK_SOCK_DIAG. |
NETLINK_NFLOG | (up to and including Linux 3.16) Netfilter/iptables ULOG. |
NETLINK_XFRM | provides an interface to manage the IPsec security association and security policy databases – mostly used by key-manager daemons using the Internet Key Exchange protocol. (From Wikipedia) |
NETLINK_SELINUX | SELinux notifications- refer wikipedia page – Wikipedia -SELinux |
NETLINK_AUDIT | provides an interface to the audit subsystem found in Linux kernel versions 2.6.6 and later. |
NETLINK_FIB_LOOKUP | (since Linux 2.6.13) Access to FIB lookup from user space |
NETLINK_CONNECTOR | (since Linux 2.6.14) Kernel connector. See Documentation/driver-api/connector.rst (or /Documentation/connector/connector.* in kernel 5.2 and earlier) in the Linux kernel source tree for further information. |
NETLINK_NETFILTER | (since Linux 2.6.14) Netfilter subsystem. |
NETLINK_SCSITRANSPORT | (since Linux 2.6.19) SCSI Transports. |
NETLINK_RDMA | (since Linux 3.0) Infiniband RDMA. |
NETLINK_IP6_FW | (up to and including Linux 3.4) Transport IPv6 packets from netfilter to user space. Used by ip6_queue kernel module. |
NETLINK_DNRTMSG | DECnet routing messages. |
NETLINK_KOBJECT_UEVENT | (since Linux 2.6.10) Kernel messages to user space. |
NETLINK_GENERIC | (since Linux 2.6.15) Generic netlink family for simplified netlink usage. |
NETLINK_CRYPTO | (since Linux 3.2) Netlink interface to request information about ciphers registered with the kernel crypto API as well as allow configuration of the kernel crypto API. |
Pingback: Netlink Message Macros | Hitch Hiker's Guide to Learning