用于暂停帧的ethtool?

时间:2012-02-07 04:57:45

标签: linux networking packet-capture raw-ethernet

我正在Linux机器上创建一个以太网帧嗅探/转发程序,我将用它来嗅探从计算机传输到以太网的帧,反之亦然。

我正在尝试激活暂停帧,这样我就不会丢失任何数据包,因为对路由器进行两步传输可能会造成一些延迟。

我发现这样做的唯一方法是使用ethtool来打开接收端的暂停帧:

ethtool -A eth0 rx on

我对此表示怀疑,但我希望ethtool专家可以放心。

使用" ethtool -A"提供的选项正在开启或关闭自动协商。据我所知,自动协商与暂停帧几乎没有关系。 此外,ethtool缺乏关于暂停帧的选项有点令人不安。例如,管理帧发送方请求的暂停时间不是ethtool的选项。

那么,ethtool真的是配置暂停帧的最佳或唯一方法吗?理想情况下,我想通过C代码配置它们,但如果ethtool是唯一的方法,我只想通过使用ethtool配置暂停帧来确认我正在做的事情。

如果有人能指出我在C中配置暂停帧的正确方向,我会更加感激。

谢谢。

1 个答案:

答案 0 :(得分:0)

你为什么要重新发明轮子?为什么不使用例如libpcapnetfilter hooks拦截数据包?