我可以使用带有 NETLINK 套接字的 ethtool 用户空间 API 触发接口的自动协商吗?

Can I trigger an auto-negotiation of an interface using the ethtool userspace API with NETLINK sockets?

提问人:jrmejiaa 提问时间:11/7/2023 更新时间:11/7/2023 访问量:12

问:

我想使用 NETLINK 套接字在我的 C++ 代码中复制自动协商处于活动状态的行为。我搜索了CLI源代码,发现它们使用IOCTL套接字和ethtool的命令。根据此处的内核文档,此命令尚未转换为 NETLINK 套接字。在我放弃之前,我只想知道是否有另一种方法可以获得相同的行为。ethtool -rethtoolETHTOOL_NWAY_RST

到目前为止我尝试过什么

  • 我的接口中有静态路由,因此关闭和打开接口将不起作用,因为我丢失了这些路由。这不会发生在 中。ethtool -r
  • 出于同样的原因,在我的情况下,这种行为也不理想。ip link set down/up [dev]

我的代码目前正在使用 的 CLI,但更干净、更好的方法是直接使用用户空间 API。我的代码已经为NETLINK套接字制作了,这就是为什么我更喜欢这种方法。ethtool

我将不胜感激任何帮助。谢谢

linux-kernel 网络编程 ioctl netlink

评论


答: 暂无答案