0

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

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

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

ethtool -A eth0 rx on

我对此有疑问,但我希望 ethtool 专家可以放心。

使用“ethtool -A”可用的选项是打开或关闭自动协商。据我所知,自动协商与暂停帧关系不大。此外,ethtool 缺少有关暂停帧的可用选项有点令人不安。例如,管理帧发送方请求的暂停时间不是 ethtool 的选项。

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

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

谢谢你。

4

1 回答 1

0

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

于 2012-02-07T08:03:46.070 回答