众所周知,netlink是用户/内核空间的通信机制。
我想从我的内核模块与另一个内核模块进行通信。另一个内核模块已经具有 netlink 接口。
是否可以像我们在用户空间中那样从内核模块到 netlink 建立连接?
简短回答:不。
如果要在两个内核模块之间进行通信,则应该使用由另一个内核模块导出的符号(全局变量或函数)。
netlink
套接字用于在内核和用户空间之间进行通信。 AFAIR 无法使用 netlink (至少不是首选方式)在内核内进行通信。
导出符号的示例:
module1.c:
int foo(int a)
{
/* do some stuff here */
}
EXPORT_SYMBOL(foo);
module2.c
extern int foo(int);
int bla(int b)
{
/* call foo(a) */
int ret = foo(b);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)