Netlink is a flexible, robust, wire-format communications channel typically used for kernel to user communication although it can also be used for user to user and kernel to kernel communications. Netlink communication channels are associated with families or “busses”, where each bus deals with a specific service; for example, different Netlink busses exist for routing, Netlink , Netlink and several other kernel subsystems. More information about Netlink can be found in RFC 3549.
Over the years, Netlink has become very popular which has brought about a very real concern that the number of Netlink family numbers may be exhausted in the near future. In response to this the Generic Netlink family was created which acts as a Netlink multiplexer, allowing multiple services to use a single Netlink bus.