是否有内核中的方法来调试 netlink 协议通信?

是否有内核中的方法来调试 netlink 协议通信?

如果没有额外的工具,Netlink(如内核内部协议)似乎很难调试——我实际上无法使用它,因为我在一个非常有限的嵌入式系统上。

如果我从源代码重新编译,是否有 netlink 的内核调试选项?例如,确认消息已被接收并理解的日志

我已将调试详细程度设置为 15,但找不到专门与 netlink 相关的选项

答案1

我已经诉诸将自己的打印日志记录添加到内核中以获得 netlink 的可见性 - 我看不到任何可为此配置的官方解决方案。

rtnetlink_rcv_msginlinux/net/core/rtnetlink.c是一个很好的起点,您可以添加printk调用而无需任何额外的工作,例如:

printk(KERN_INFO "netlink msg recv msgtype %d\n", type);

相关内容