netlink套接字地址结构如下所示,
struct sockaddr_nl
{
sa_family_t nl_family; /* AF_NETLINK */
unsigned short nl_pad; /* zero */
__u32 nl_pid; /* process pid */
__u32 nl_groups; /* multicast groups mask */
};
这里有两个问题:
关于进程ID,零意味着root权限,这意味着处理id?
nl_groups是什么意思?这是否意味着我可以将其配置为单播?
由于
答案 0 :(得分:1)
nl_pid
是端口ID(请参阅source),它与权限无关。nl_groups
作为评论告诉我的是多播groubps掩码。 Netlink消息可以单播(发送到给定的PID - 端口ID),使用给定的netlink系列进行多播和广播(例如netfilter,generic等)