有什么办法可以rx_broadcast
从中获取价值吗/sys/class/net/<intf>/..
?
我正在使用以下命令ETHTOOL_GSTATS
来SIOCETHTOOL
获取IOCTL
以太网统计信息,但我对一些读取值的脚本感兴趣/sys/class/net
我查看了/sys/class/net/...
,但找不到任何条目。
答案1
有没有办法从 /sys/class/net//.. 获取 rx_broadcast 值?
不,正如它所说 https://www.kernel.org/doc/html/latest/networking/statistics.html:
sysfs 中的每个设备目录都包含一个统计目录(例如 /sys/class/net/lo/statistics/),其中包含与 struct rtnl_link_stats64 成员相对应的文件。
并且rtnl_link_stats64
没有代表 的字段
rx_broadcast
。
ethtool
请注意,有一个名为“ maintained”的现成可用工具https://git.kernel.org/pub/scm/network/ethtool/ethtool.git您可以在脚本中使用:
$ ethtool -S eth0 | grep rx_broadcast
rx_broadcast: 48728
如果您不想向系统添加新程序或编写使用的 C 程序,则ioctl()
必须使用系统上可用且内置 ioctl 支持的另一种脚本语言,例如Python 中的 ethtool -S。