gpt4 book ai didi

linux - 是否可以通过 netlink 在两个 linux 内核模块之间进行通信?

转载 作者:太空狗 更新时间:2023-10-29 12:06:13 24 4
gpt4 key购买 nike

众所周知,netlink是用户/内核空间的通信机制。

我想从我的内核模块与另一个内核模块进行通信。另一个内核模块已经有了 netlink 接口(interface)。

是否可以像我们在用户空间中那样从内核模块连接到 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);
}

关于linux - 是否可以通过 netlink 在两个 linux 内核模块之间进行通信?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11015186/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com