我正在Linux机器上创建一个以太网帧嗅探/转发程序,我将使用它来嗅探从计算机传输到以太网的帧,反之亦然。
我正在尝试激活暂停帧,这样就不会丢失任何数据包,因为向路由器进行两步传输可能会导致一些延迟。
我找到的唯一方法是使用ethtool,例如,从接收端打开pause frames:
ethtool -A eth0 rx on然而,我对此有疑问,我希望ethtool专家能安心。
使用"ethtool -A“提供的一个选项是打开或关闭自动协商。据我所知,自动协商与暂停帧几乎没有关系。此外,ethtool提供的关于暂停帧的选项的缺乏也有点令人不安。例如,使用ethtool不能管理帧发送者请求的暂停时间。
那么,ethtool真的是配置暂停帧的最好方法,还是唯一的方法?理想情况下,我希望通过C代码来配置它们,但如果ethtool是唯一的方法,我只是想确认一下,我使用ethtool配置暂停帧是正确的。
如果有人能为我指出在C中配置暂停帧的正确方向,我将更加感激。
谢谢。
发布于 2012-02-07 16:03:46
为什么你想重新发明轮子?为什么不使用例如libpcap或netfilter hooks来拦截数据包?
https://stackoverflow.com/questions/9171220
复制相似问题