未找到 /proc/net/netstat

未找到 /proc/net/netstat

我正在尝试使用 OpenWRT 发行版为嵌入式设备编译自己的 Linux。我正在尝试使用该/proc/net/netstat界面获取一些多播信息,但找不到它(通常这在我的桌面上可用)。

如果我是对的,应该在 中启用此功能,kernel_menuconfig但我找不到与此相关的任何选项。

更新:我正在尝试使用内核3.10.494.4.14.在这两种情况下proc.c都已编译(proc.o在 my 中可用build_dir/proc已安装,但/proc/net/netstat不存在。

答案1

过了一段时间我才回到这个问题,终于解决了。问题是,OpenWRT 正在跟踪内核源代码,一个额外的选项应该是残疾人,即CONFIG_PROC_STRIPPED.这是位于

(make) kernel_menuconfig -> File systems -> Pseudo filesystems -> [ ] Strip non-essential /proc functionality to reduce code size

解决这个问题的方法是查看内核源代码的修补版本,而不是官方版本。感谢您所做的一切努力!

答案2

/proc/net/netstat 由 net/ipv4/proc.c 生成。
net/ipv4/proc.c 在 ip_proc_init_net() 函数中,它是作为 proc_create() 生成的,如下源所示。
在此输入图像描述

你说net/ipv4/proc.o被编译了。
如源代码所示,net/ipv4/proc.c 创建 /proc/net/sockstat、netstat 和 snmp。
创建的/proc/net/udp是由net/ipv4/udp.c生成的。

首先在 /proc/net/ 中查找 sockstat 和 snmp 。
另外,请确保 net/ipv4/proc.c 中的 ip_proc_init_net () 函数已使用 proc_create() 函数生成错误。
如果该部分出现错误,则必须查找错误原因。

相关内容