我想ethtool -r
使用 NETLINK 套接字复制 C++ 代码中自动协商处于活动状态时的行为。我搜索 CLIethtool
源代码我发现他们使用 IOCTL 套接字和 ethtool 命令ETHTOOL_NWAY_RST
。根据内核文档这里,该命令尚未转换为 NETLINK 套接字。在我放弃之前,我只想知道是否有另一种方法可以达到相同的行为。
到目前为止我尝试过的
- 我的接口中有静态路由,因此关闭和打开接口将不起作用,因为我丢失了这些路由。这不会发生在
ethtool -r
. - 出于同样的原因,
ip link set down/up [dev]
对于我来说,这种行为也并不理想。
我的代码当前正在使用 CLI 运行ethtool
,但更干净、更好的方法是直接使用用户空间 API。我的代码已经为 NETLINK 套接字编写,这就是我更喜欢这种方法的原因。
我将不胜感激任何帮助。谢谢