免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: wojiaohesen
打印 上一主题 下一主题

再谈 NETLINK [复制链接]

论坛徽章:
0
21 [报告]
发表于 2009-09-05 22:20 |只看该作者

回复 #20 platinum 的帖子

记住:除了userspace <-->userspace之外,什么都是不需要的。

论坛徽章:
0
22 [报告]
发表于 2009-09-06 01:32 |只看该作者
这个 “什么” 都指的是什么啊?

论坛徽章:
0
23 [报告]
发表于 2009-09-07 06:03 |只看该作者
原帖由 wojiaohesen 于 2009-9-5 22:20 发表
记住:除了userspace userspace之外,什么都是不需要的。


内核向用户程序发送报文时,是需要用户程序的PID的。

为什么?请查看内核态的netlink发送函数(netlink_unicast)的代码。

论坛徽章:
0
24 [报告]
发表于 2009-09-08 14:10 |只看该作者

回复 #1 wojiaohesen 的帖子

极为期待老大你的例子,而且很急。希望你能去帮我看看我的代码出的问题,谢谢。
http://linux.chinaunix.net/bbs/thread-1134270-1-1.html

论坛徽章:
0
25 [报告]
发表于 2009-09-08 22:10 |只看该作者
顶 一个 ,学习。

论坛徽章:
0
26 [报告]
发表于 2009-09-17 18:04 |只看该作者
继续写完把~~

论坛徽章:
0
27 [报告]
发表于 2009-09-17 19:39 |只看该作者
原帖由 epegasus 于 2009-9-4 10:50 发表
这个处理又是在什么上下问执行的?进程上下问,中断上下文,子系统发现rev有消息的触发点在哪里?


这个处理又是在什么上下问执行的?
用户态向内核态发送:进程上下文。

子系统发现rev有消息的触发点在哪里:
用户进程向用户进程发送:挂在recv链上后即通知相应进程。

论坛徽章:
0
28 [报告]
发表于 2009-09-17 19:43 |只看该作者
原帖由 wojiaohesen 于 2009-9-4 08:40 发表
同样不需要,道理很简单:因为unicast都是基于内核空间对用户空间的请求作出的响应,当用户空间发送请求到内核的时候,实际上整个过程会一直到调用自模块的注册的那个函数,整个过程是连贯的,所以同样完全没有 ...


楼主说的不需要前提是指:内核态对用户进程进行响应,因为pid记录在了skbuff的control block里面,所以可以通过unicast deliver发送

但是netlink的使用范围不仅仅是rtlink这种模型。当内核态主动向用户态发送消息时,就需要用户态绑定一个id了。

论坛徽章:
0
29 [报告]
发表于 2009-09-22 14:19 |只看该作者

回复 #23 ShadowStar 的帖子

我也觉得是:内核向用户程序发送报文时,是需要用户程序的PID的。
那么用户空间的发送需不需要呢?
>>因为unicast都是基于内核空间对用户空间的请求作出的响应,当用户空间发送请求到内核的时候,实际上整个过程会一直到调用自模块的注册的那个函数,整个过程是连贯的,所以同样完全没有 ...
那如果有内核有两个监听的netlink,怎么分辨呢?

论坛徽章:
0
30 [报告]
发表于 2010-05-30 12:25 |只看该作者
受教了
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP