linux - ethtool 用于暂停帧?

标签 linux networking packet-capture raw-ethernet

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

我正在尝试激活暂停帧,以便不会丢失任何数据包,因为到路由器的两步传输可能会导致一些延迟。

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

ethtool -A eth0 rx on

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

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

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

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

谢谢。

最佳答案

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

关于linux - ethtool 用于暂停帧?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9171220/

相关文章:

linux - Ansible Vault 不读取定义的变量

linux - 使用awk和grep相加

c - 在 TCP 中发送/处理部分数据写入

networking - Docker 容器的多个静态 IP

c# - 套接字连接到局域网计算机失败?

c - 解析 TCP 数据包数据

objective-c - 使用 native Mac 应用程序在远程 Linux 机器上执行 SSH 命令。 ( Objective-C )

linux - 终端中的 ps -aux 到底在做什么?

c - libpcap 格式 - 数据包 header - incl_len/orig_len

bluetooth-lowenergy - 分析蓝牙低功耗流量