linux netlink
来源:互联网 发布:caxa自动编程 编辑:程序博客网 时间:2024/05/17 23:53
出处:http://www.ibm.com/developerworks/cn/linux/l-kerns-usrs/#N10180
struct sockaddr_nl
{
sa_family_t nl_family;
unsigned short nl_pad;
__u32 nl_pid;
__u32 nl_groups;
};
字段nl_family必须设置为AF_NETLINK(PF_NETLINK);
字段 nl_pad 当前没有使用,因此要总是设置为 0;
字段 nl_pid 为接收或发送消息的进程的 ID,如果希望内核处理消息或多播消息,就把该字段设置为 0,否则设置为处理消息的进程 ID;
字段 nl_groups 用于指定多播组;
bind 函数用于把调用进程加入到该字段指定的多播组,如果设置为 0,表示调用者不加入任何多播组;
传递给 bind 函数的地址的 nl_pid 字段应当设置为本进程的进程 ID,这相当于 netlink socket 的本地地址。但是,对于一个进程的多个线程使用 netlink socket 的情况,字段 nl_pid 则可以设置为其它的值,如:
pthread_self() << 16 | getpid();
为了发送一个 netlink 消息给内核或其他用户态应用,需要填充目标 netlink socket 地址,此时,字段 nl_pid 和 nl_groups 分别表示接收消息者的进程 ID 与多播组。如果字段 nl_pid 设置为 0,表示消息接收者为内核或多播组,如果 nl_groups为 0,表示该消息为单播消息,否则表示多播消息。
- linux netlink
- Linux Netlink
- Linux Netlink
- linux netlink
- Linux netlink
- netlink linux
- Linux Netlink
- linux Netlink
- LINUX netlink机制
- linux的netlink机制
- Linux——Netlink
- LINUX netlink机制
- linux netlink 路由
- LINUX netlink机制
- Linux Netlink Source Example
- LINUX netlink机制
- LINUX netlink机制
- linux netlink多播组问题
- 加速Web开发的10款HTML5工具
- C#枚举与switch用法
- cookie domain 不能设置为localhost IE谷歌火狐各不相同
- PS证件照红底转蓝底
- [深入浅出Cocoa]详解键值观察(KVO)及其实现机理
- linux netlink
- 曾经我们在一起
- 使用一条INSERT语句完成多表插入
- Android开发必看知识,不看后悔
- iPhone App开发实战手册学习笔记(4)之数据处理
- Struts2的struts.properties配置文件属性详解
- 樱花,已经谢了
- [Cocoa]XCode下的iOS单元测试
- 文件流的读写