zydovech 发表于 2015-01-08 21:45

关于netlink使用时遇到的问题

我在使用netlink的时候。是没有在netlink.h中添加自己定义的协议的。。一直都是可以的。。用户空间也可以首先调用netlink socket函数。。但是今天在别人的机器上必须先加载内核模块创建netlink的函数 用户空间调用才不会报协议不支持的错误。。请知道的人解释一下。。

Tinnal 发表于 2015-01-10 13:03

那有什么稀奇,说不定别人的内核版本在内核态检查更严格呢。

zydovech 发表于 2015-01-10 15:01

回复 2# Tinnal
      那请问这种情况该怎么解决呢。。别人的机子是个板卡内核 只有2M左右,我也没在相应的目录下找到netlink.h这个头文件(整个目录下都没有一个头文件。这样在头文件中添加自己定义的协议了)。望多多指点。。。


   

Tinnal 发表于 2015-01-11 00:53

回复 3# zydovech


    那就先加在内核模块罗。

zydovech 发表于 2015-01-11 10:29

回复 4# Tinnal

    整个系统在加载模块时也会输出一些信息到用户空间。是通过netlink从内核把信息输出到用户空间的。。若等模块加载一系列动作完成后,这部分信息就送不出来。这个时序上好像不好控制。。


   

Tinnal 发表于 2015-01-12 18:32

回复 5# zydovech


能不能通过printk输出?   

zydovech 发表于 2015-01-12 19:36

回复 6# Tinnal

这个倒是不行。要求是把一些参数和调测信息送到windows下的一个界面上。。现在还有个头疼的问题,就是我用netlink把信息从内核送到用户空间后,在用户空间通过UDP套接字把收到的信息送到Windows上,可是每次都会出现丢包,而且每次丢的都是从内核收到的前两个包,(sendto函数是成功返回的了,但是抓包软件 却发现根本没有发送出去)。但是,如果在发送从内核收到的数据之前,先发送一个报文到Windows就不会丢包。哎。。真心不知道怎么回事。。


   
页: [1]
查看完整版本: 关于netlink使用时遇到的问题