Netlink协议主要文件

af_netlink.c
af_netlink.h
genetlink .c
diag.c //监视接口模块diag

Netlink优势

1) 用户空间应用程序打开套接字,再调用recvmsg( ) 。如果没有来自内核的消息, 就进入阻塞状态
2) 使用Netlink套接字时不需要轮询
3) 内核可以主动向用户空间发送异步消息,而不需要用户空间来触发(如通过调用IOCTL或对sysfs条目执行写入操作)
4) 第三个优点是, Netlink套接字支持组播传输

内核 Netlink 套接字创建

netlink_kernel_create ()
可以是SOCK RAW套接字,也可以是SOCK DGRAM套接字
image.png