参考资料:
https://wiki.linuxfoundation.org/networking/generic_netlink_howto
generic_netlink 框架
+---------------------+ +---------------------+
| () application "A" | | () application "B" |
+------+--------------+ +--------------+------+
| |
\ /
\ /
| |
+-------+--------------------------------+-------+
| : : | user-space
=====+ : () kernel socket API : +================
| : : | kernel-space
+--------+-------------------------------+-------+
| |
+-----+-------------------------------+----+
| () Netlink subsystem |
+---------------------+--------------------+
|
+---------------------+--------------------+
| () Generic Netlink bus |
+--+--------------------------+-------+----+
| | |
+-------+---------+ | |
| () controller | / \
+-----------------+ / \
| |
+------------------+--+ +--+------------------+
| () kernel user "X" | | () kernel user "Y" |
+---------------------+ +---------------------+