Linux:Ethtool Command

时间:2014-09-25 05:24:27

标签: linux

我试图通过使用命令ethtool_cmd_speed(& cmd)获得接口速度; 但是当我尝试编译它时,它会抛出像
的错误 未明确引用`ethtool_cmd_speed'。我想知道是否还有其他命令可用于获取接口速度?

它正在为更新版本的linux编译,但是当我尝试在旧版本中编译它时,它会给出错误。所以有人能告诉我如何才能获得界面速度?

2 个答案:

答案 0 :(得分:0)

问题在linux源代码中出现,或者源代码与当前编译器不兼容。

如果您查看sources of ethtool_cmd_speed,您可以看到它只有几行:

static inline __u32 ethtool_cmd_speed(const struct ethtool_cmd *ep)
{
    return (ep->speed_hi << 16) | ep->speed;
}

尝试将此功能添加到您的应用中,重命名。

答案 1 :(得分:0)

(这个问题已经存在很长时间了,但是提供的一个答案并没有完全解决所问的问题,因此,遇到这个问题后,我想我会添加更多细节。)

未定义的引用表示您未链接到所需的库。但是,如上所述,所讨论的函数定义为static __inline__,因此没有链接的符号。这意味着您包含了错误的头文件,或者您自己声明了该函数。只需添加linux/ethtool.h